@rvoh/dream 2.1.2 → 2.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/dist/cjs/src/Dream.js +35 -0
- package/dist/cjs/src/bin/index.js +1 -1
- package/dist/cjs/src/cli/index.js +1 -1
- package/dist/cjs/src/cli/logger/loggable/DreamCliLoggableText.js +1 -0
- package/dist/cjs/src/dream/DreamClassTransactionBuilder.js +30 -0
- package/dist/cjs/src/dream/Query.js +30 -0
- package/dist/cjs/src/dream/QueryDriver/Base.js +32 -0
- package/dist/cjs/src/dream/QueryDriver/Kysely.js +48 -0
- package/dist/cjs/src/dream/internal/printSerializerHierarchyLevel.js +2 -0
- package/dist/cjs/src/dream-app/helpers/DreamImporter.js +3 -1
- package/dist/cjs/src/dream-app/index.js +2 -1
- package/dist/cjs/src/helpers/Env.js +2 -0
- package/dist/cjs/src/helpers/cli/ASTConnectionBuilder.js +1 -1
- package/dist/cjs/src/helpers/cli/DBClassDeprecation.js +2 -0
- package/dist/cjs/src/helpers/cli/generateDream.js +2 -1
- package/dist/cjs/src/helpers/cli/generateFactory.js +2 -1
- package/dist/cjs/src/helpers/cli/generateMigration.js +2 -1
- package/dist/cjs/src/helpers/cli/generateMigrationContent.js +1 -1
- package/dist/cjs/src/helpers/cli/generateSerializer.js +2 -1
- package/dist/cjs/src/helpers/cli/generateUnitSpec.js +2 -1
- package/dist/cjs/src/helpers/getFiles.js +3 -1
- package/dist/cjs/src/helpers/sspawn.js +2 -0
- package/dist/esm/src/Dream.js +35 -0
- package/dist/esm/src/bin/index.js +1 -1
- package/dist/esm/src/cli/index.js +1 -1
- package/dist/esm/src/cli/logger/loggable/DreamCliLoggableText.js +1 -0
- package/dist/esm/src/dream/DreamClassTransactionBuilder.js +30 -0
- package/dist/esm/src/dream/Query.js +30 -0
- package/dist/esm/src/dream/QueryDriver/Base.js +32 -0
- package/dist/esm/src/dream/QueryDriver/Kysely.js +48 -0
- package/dist/esm/src/dream/internal/printSerializerHierarchyLevel.js +2 -0
- package/dist/esm/src/dream-app/helpers/DreamImporter.js +3 -1
- package/dist/esm/src/dream-app/index.js +2 -1
- package/dist/esm/src/helpers/Env.js +2 -0
- package/dist/esm/src/helpers/cli/ASTConnectionBuilder.js +1 -1
- package/dist/esm/src/helpers/cli/DBClassDeprecation.js +2 -0
- package/dist/esm/src/helpers/cli/generateDream.js +2 -1
- package/dist/esm/src/helpers/cli/generateFactory.js +2 -1
- package/dist/esm/src/helpers/cli/generateMigration.js +2 -1
- package/dist/esm/src/helpers/cli/generateMigrationContent.js +1 -1
- package/dist/esm/src/helpers/cli/generateSerializer.js +2 -1
- package/dist/esm/src/helpers/cli/generateUnitSpec.js +2 -1
- package/dist/esm/src/helpers/getFiles.js +3 -1
- package/dist/esm/src/helpers/sspawn.js +2 -0
- package/dist/types/src/Dream.d.ts +28 -0
- package/dist/types/src/dream/DreamClassTransactionBuilder.d.ts +26 -0
- package/dist/types/src/dream/Query.d.ts +26 -0
- package/dist/types/src/dream/QueryDriver/Base.d.ts +26 -0
- package/dist/types/src/dream/QueryDriver/Kysely.d.ts +26 -0
- package/dist/types/src/dream-app/helpers/PackageManager.d.ts +1 -1
- package/dist/types/src/dream-app/index.d.ts +2 -2
- package/dist/types/src/types/associations/belongsTo.d.ts +1 -1
- package/dist/types/src/types/associations/belongsTo.ts +1 -1
- package/dist/types/src/types/serializer.ts +2 -2
- package/docs/assets/search.js +1 -1
- package/docs/classes/db.DreamMigrationHelpers.html +9 -9
- package/docs/classes/db.KyselyQueryDriver.html +47 -31
- package/docs/classes/db.PostgresQueryDriver.html +48 -32
- package/docs/classes/db.QueryDriverBase.html +46 -30
- package/docs/classes/errors.CheckConstraintViolation.html +4 -4
- package/docs/classes/errors.ColumnOverflow.html +4 -4
- package/docs/classes/errors.CreateOrFindByFailedToCreateAndFind.html +4 -4
- package/docs/classes/errors.DataIncompatibleWithDatabaseField.html +4 -4
- package/docs/classes/errors.DataTypeColumnTypeMismatch.html +4 -4
- package/docs/classes/errors.GlobalNameNotSet.html +4 -4
- package/docs/classes/errors.InvalidCalendarDate.html +4 -4
- package/docs/classes/errors.MissingSerializersDefinition.html +4 -4
- package/docs/classes/errors.NonLoadedAssociation.html +4 -4
- package/docs/classes/errors.NotNullViolation.html +4 -4
- package/docs/classes/errors.RecordNotFound.html +4 -4
- package/docs/classes/errors.ValidationError.html +4 -4
- package/docs/classes/index.CalendarDate.html +2 -2
- package/docs/classes/index.Decorators.html +19 -19
- package/docs/classes/index.Dream.html +210 -194
- package/docs/classes/index.DreamApp.html +5 -5
- package/docs/classes/index.DreamTransaction.html +2 -2
- package/docs/classes/index.Env.html +2 -2
- package/docs/classes/index.Query.html +91 -75
- package/docs/classes/system.CliFileWriter.html +2 -2
- package/docs/classes/system.DreamBin.html +2 -2
- package/docs/classes/system.DreamCLI.html +5 -5
- package/docs/classes/system.DreamImporter.html +2 -2
- package/docs/classes/system.DreamLogos.html +2 -2
- package/docs/classes/system.DreamSerializerBuilder.html +8 -8
- package/docs/classes/system.ObjectSerializerBuilder.html +8 -8
- package/docs/classes/utils.Encrypt.html +2 -2
- package/docs/classes/utils.Range.html +2 -2
- package/docs/functions/db.closeAllDbConnections.html +1 -1
- package/docs/functions/db.dreamDbConnections.html +1 -1
- package/docs/functions/db.untypedDb.html +1 -1
- package/docs/functions/db.validateColumn.html +1 -1
- package/docs/functions/db.validateTable.html +1 -1
- package/docs/functions/errors.pgErrorType.html +1 -1
- package/docs/functions/index.DreamSerializer.html +1 -1
- package/docs/functions/index.ObjectSerializer.html +1 -1
- package/docs/functions/index.ReplicaSafe.html +1 -1
- package/docs/functions/index.STI.html +1 -1
- package/docs/functions/index.SoftDelete.html +1 -1
- package/docs/functions/utils.camelize.html +1 -1
- package/docs/functions/utils.capitalize.html +1 -1
- package/docs/functions/utils.cloneDeepSafe.html +1 -1
- package/docs/functions/utils.compact.html +1 -1
- package/docs/functions/utils.groupBy.html +1 -1
- package/docs/functions/utils.hyphenize.html +1 -1
- package/docs/functions/utils.intersection.html +1 -1
- package/docs/functions/utils.isEmpty.html +1 -1
- package/docs/functions/utils.normalizeUnicode.html +1 -1
- package/docs/functions/utils.pascalize.html +1 -1
- package/docs/functions/utils.percent.html +1 -1
- package/docs/functions/utils.range-1.html +1 -1
- package/docs/functions/utils.round.html +1 -1
- package/docs/functions/utils.sanitizeString.html +1 -1
- package/docs/functions/utils.snakeify.html +1 -1
- package/docs/functions/utils.sort.html +1 -1
- package/docs/functions/utils.sortBy.html +1 -1
- package/docs/functions/utils.sortObjectByKey.html +1 -1
- package/docs/functions/utils.sortObjectByValue.html +1 -1
- package/docs/functions/utils.uncapitalize.html +1 -1
- package/docs/functions/utils.uniq.html +1 -1
- package/docs/index.html +4 -4
- package/docs/interfaces/openapi.OpenapiDescription.html +2 -2
- package/docs/interfaces/openapi.OpenapiSchemaProperties.html +1 -1
- package/docs/interfaces/openapi.OpenapiSchemaPropertiesShorthand.html +1 -1
- package/docs/interfaces/openapi.OpenapiTypeFieldObject.html +1 -1
- package/docs/interfaces/types.BelongsToStatement.html +2 -2
- package/docs/interfaces/types.DecoratorContext.html +2 -2
- package/docs/interfaces/types.DreamAppInitOptions.html +2 -2
- package/docs/interfaces/types.DreamAppOpts.html +2 -2
- package/docs/interfaces/types.EncryptOptions.html +2 -2
- package/docs/interfaces/types.InternalAnyTypedSerializerRendersMany.html +2 -2
- package/docs/interfaces/types.InternalAnyTypedSerializerRendersOne.html +2 -2
- package/docs/interfaces/types.SerializerRendererOpts.html +2 -2
- package/docs/modules/db.html +1 -1
- package/docs/modules/errors.html +1 -1
- package/docs/modules/index.html +1 -1
- package/docs/modules/openapi.html +1 -1
- package/docs/modules/system.html +1 -1
- package/docs/modules/types.html +1 -1
- package/docs/modules/utils.html +1 -1
- package/docs/types/index.DateTime.html +1 -1
- package/docs/types/openapi.CommonOpenapiSchemaObjectFields.html +1 -1
- package/docs/types/openapi.OpenapiAllTypes.html +1 -1
- package/docs/types/openapi.OpenapiFormats.html +1 -1
- package/docs/types/openapi.OpenapiNumberFormats.html +1 -1
- package/docs/types/openapi.OpenapiPrimitiveBaseTypes.html +1 -1
- package/docs/types/openapi.OpenapiPrimitiveTypes.html +1 -1
- package/docs/types/openapi.OpenapiSchemaArray.html +1 -1
- package/docs/types/openapi.OpenapiSchemaArrayShorthand.html +1 -1
- package/docs/types/openapi.OpenapiSchemaBase.html +1 -1
- package/docs/types/openapi.OpenapiSchemaBody.html +1 -1
- package/docs/types/openapi.OpenapiSchemaBodyShorthand.html +1 -1
- package/docs/types/openapi.OpenapiSchemaCommonFields.html +1 -1
- package/docs/types/openapi.OpenapiSchemaExpressionAllOf.html +1 -1
- package/docs/types/openapi.OpenapiSchemaExpressionAnyOf.html +1 -1
- package/docs/types/openapi.OpenapiSchemaExpressionOneOf.html +1 -1
- package/docs/types/openapi.OpenapiSchemaExpressionRef.html +1 -1
- package/docs/types/openapi.OpenapiSchemaExpressionRefSchemaShorthand.html +1 -1
- package/docs/types/openapi.OpenapiSchemaInteger.html +1 -1
- package/docs/types/openapi.OpenapiSchemaNull.html +1 -1
- package/docs/types/openapi.OpenapiSchemaNumber.html +1 -1
- package/docs/types/openapi.OpenapiSchemaObject.html +1 -1
- package/docs/types/openapi.OpenapiSchemaObjectAllOf.html +1 -1
- package/docs/types/openapi.OpenapiSchemaObjectAllOfShorthand.html +1 -1
- package/docs/types/openapi.OpenapiSchemaObjectAnyOf.html +1 -1
- package/docs/types/openapi.OpenapiSchemaObjectAnyOfShorthand.html +1 -1
- package/docs/types/openapi.OpenapiSchemaObjectBase.html +1 -1
- package/docs/types/openapi.OpenapiSchemaObjectBaseShorthand.html +1 -1
- package/docs/types/openapi.OpenapiSchemaObjectOneOf.html +1 -1
- package/docs/types/openapi.OpenapiSchemaObjectOneOfShorthand.html +1 -1
- package/docs/types/openapi.OpenapiSchemaObjectShorthand.html +1 -1
- package/docs/types/openapi.OpenapiSchemaPrimitiveGeneric.html +1 -1
- package/docs/types/openapi.OpenapiSchemaShorthandExpressionAllOf.html +1 -1
- package/docs/types/openapi.OpenapiSchemaShorthandExpressionAnyOf.html +1 -1
- package/docs/types/openapi.OpenapiSchemaShorthandExpressionOneOf.html +1 -1
- package/docs/types/openapi.OpenapiSchemaShorthandExpressionSerializableRef.html +1 -1
- package/docs/types/openapi.OpenapiSchemaShorthandExpressionSerializerRef.html +1 -1
- package/docs/types/openapi.OpenapiSchemaShorthandPrimitiveGeneric.html +1 -1
- package/docs/types/openapi.OpenapiSchemaString.html +1 -1
- package/docs/types/openapi.OpenapiShorthandAllTypes.html +1 -1
- package/docs/types/openapi.OpenapiShorthandPrimitiveBaseTypes.html +1 -1
- package/docs/types/openapi.OpenapiShorthandPrimitiveTypes.html +1 -1
- package/docs/types/openapi.OpenapiTypeField.html +1 -1
- package/docs/types/system.DreamAppAllowedPackageManagersEnum.html +1 -1
- package/docs/types/types.Camelized.html +1 -1
- package/docs/types/types.DbConnectionType.html +1 -1
- package/docs/types/types.DbTypes.html +1 -1
- package/docs/types/types.DreamAssociationMetadata.html +1 -1
- package/docs/types/types.DreamAttributes.html +1 -1
- package/docs/types/types.DreamClassAssociationAndStatement.html +1 -1
- package/docs/types/types.DreamClassColumn.html +1 -1
- package/docs/types/types.DreamColumn.html +1 -1
- package/docs/types/types.DreamColumnNames.html +1 -1
- package/docs/types/types.DreamLogLevel.html +1 -1
- package/docs/types/types.DreamLogger.html +1 -1
- package/docs/types/types.DreamModelSerializerType.html +1 -1
- package/docs/types/types.DreamOrViewModelClassSerializerKey.html +1 -1
- package/docs/types/types.DreamOrViewModelSerializerKey.html +1 -1
- package/docs/types/types.DreamParamSafeAttributes.html +1 -1
- package/docs/types/types.DreamParamSafeColumnNames.html +1 -1
- package/docs/types/types.DreamSerializable.html +1 -1
- package/docs/types/types.DreamSerializableArray.html +1 -1
- package/docs/types/types.DreamSerializerKey.html +1 -1
- package/docs/types/types.DreamSerializers.html +1 -1
- package/docs/types/types.DreamVirtualColumns.html +1 -1
- package/docs/types/types.EncryptAlgorithm.html +1 -1
- package/docs/types/types.HasManyStatement.html +1 -1
- package/docs/types/types.HasOneStatement.html +1 -1
- package/docs/types/types.Hyphenized.html +1 -1
- package/docs/types/types.Pascalized.html +1 -1
- package/docs/types/types.RoundingPrecision.html +1 -1
- package/docs/types/types.SerializerCasing.html +1 -1
- package/docs/types/types.SimpleObjectSerializerType.html +1 -1
- package/docs/types/types.Snakeified.html +1 -1
- package/docs/types/types.StrictInterface.html +1 -1
- package/docs/types/types.UpdateableAssociationProperties.html +1 -1
- package/docs/types/types.UpdateableProperties.html +1 -1
- package/docs/types/types.ValidationType.html +1 -1
- package/docs/types/types.ViewModel.html +1 -1
- package/docs/types/types.ViewModelClass.html +1 -1
- package/docs/types/types.WhereStatementForDream.html +1 -1
- package/docs/types/types.WhereStatementForDreamClass.html +1 -1
- package/docs/variables/index.DateTime-1.html +1 -1
- package/docs/variables/index.DreamConst.html +1 -1
- package/docs/variables/index.ops.html +1 -1
- package/docs/variables/openapi.openapiPrimitiveTypes-1.html +1 -1
- package/docs/variables/openapi.openapiShorthandPrimitiveTypes-1.html +1 -1
- package/docs/variables/system.DreamAppAllowedPackageManagersEnumValues.html +1 -1
- package/docs/variables/types.TRIGRAM_OPERATORS.html +1 -1
- package/docs/variables/types.primaryKeyTypes.html +1 -1
- package/package.json +17 -17
- package/CHANGELOG.md +0 -332
package/docs/assets/search.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
window.searchData = "data:application/octet-stream;base64,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";
|
|
1
|
+
window.searchData = "data:application/octet-stream;base64,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";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>DreamMigrationHelpers | @rvoh/dream</title><meta name="description" content="Documentation for @rvoh/dream"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@rvoh/dream</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../index.html">@rvoh/dream</a></li><li><a href="../modules/db.html">db</a></li><li><a href="db.DreamMigrationHelpers.html">DreamMigrationHelpers</a></li></ul><h1>Class DreamMigrationHelpers</h1></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>DreamMigrationHelpers | @rvoh/dream</title><meta name="description" content="Documentation for @rvoh/dream"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@rvoh/dream</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../index.html">@rvoh/dream</a></li><li><a href="../modules/db.html">db</a></li><li><a href="db.DreamMigrationHelpers.html">DreamMigrationHelpers</a></li></ul><h1>Class DreamMigrationHelpers</h1></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/bf3c0627e6864b9219e8c9619b1b83fcdc529d11/src/db/migration-helpers/DreamMigrationHelpers.ts#L3">src/db/migration-helpers/DreamMigrationHelpers.ts:3</a></li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Constructors</h3><div class="tsd-index-list"><a href="db.DreamMigrationHelpers.html#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a>
|
|
2
2
|
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Methods</h3><div class="tsd-index-list"><a href="db.DreamMigrationHelpers.html#addDeferrableUniqueConstraint" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>add<wbr/>Deferrable<wbr/>Unique<wbr/>Constraint</span></a>
|
|
3
3
|
<a href="db.DreamMigrationHelpers.html#addEnumValue" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>add<wbr/>Enum<wbr/>Value</span></a>
|
|
4
4
|
<a href="db.DreamMigrationHelpers.html#createExtension" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>create<wbr/>Extension</span></a>
|
|
@@ -16,11 +16,11 @@ indexes.</p>
|
|
|
16
16
|
</div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">options</span>: <span class="tsd-signature-symbol">{ </span><br/><span> </span><span class="tsd-kind-property">columns</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">table</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span></span><div class="tsd-comment tsd-typography"><p>Configuration options</p>
|
|
17
17
|
</div><div class="tsd-comment tsd-typography"></div><ul class="tsd-parameters"><li class="tsd-parameter"><h5><span class="tsd-kind-property">columns</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></h5><div class="tsd-comment tsd-typography"><p>The names of the columns to include in the constraint</p>
|
|
18
18
|
</div><div class="tsd-comment tsd-typography"></div></li><li class="tsd-parameter"><h5><span class="tsd-kind-property">table</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><p>The name of the table</p>
|
|
19
|
-
</div><div class="tsd-comment tsd-typography"></div></li></ul></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/
|
|
19
|
+
</div><div class="tsd-comment tsd-typography"></div></li></ul></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/bf3c0627e6864b9219e8c9619b1b83fcdc529d11/src/db/migration-helpers/DreamMigrationHelpers.ts#L41">src/db/migration-helpers/DreamMigrationHelpers.ts:41</a></li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="addEnumValue" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Static</code><span>add<wbr/>Enum<wbr/>Value</span><a href="#addEnumValue" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="addEnumValue.addEnumValue-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">add<wbr/>Enum<wbr/>Value</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">db</span>, <span class="tsd-kind-parameter">__namedParameters</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span><a href="#addEnumValue.addEnumValue-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Add a value to an enum.</p>
|
|
20
20
|
<p>Note that this always includes "IF NOT EXISTS", so is safe to re-run multiple times.</p>
|
|
21
21
|
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">db</span>: <span class="tsd-signature-type">Kysely</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">></span></span><div class="tsd-comment tsd-typography"><p>The Kysely database object passed into the migration up/down function</p>
|
|
22
22
|
</div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">__namedParameters</span>: <span class="tsd-signature-type">AddValueToEnumOpts</span></span><div class="tsd-comment tsd-typography"><p>The options for adding the enum value</p>
|
|
23
|
-
</div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/
|
|
23
|
+
</div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/bf3c0627e6864b9219e8c9619b1b83fcdc529d11/src/db/migration-helpers/DreamMigrationHelpers.ts#L71">src/db/migration-helpers/DreamMigrationHelpers.ts:71</a></li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="createExtension" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Static</code><span>create<wbr/>Extension</span><a href="#createExtension" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="createExtension.createExtension-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">create<wbr/>Extension</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">db</span>, <span class="tsd-kind-parameter">extensionName</span>, <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span><a href="#createExtension.createExtension-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Create a database extension.</p>
|
|
24
24
|
<pre><code><span class="hl-1"> </span><span class="hl-7">// Add the case insensitive extension</span><br/><span class="hl-1"> </span><span class="hl-3">await</span><span class="hl-1"> </span><span class="hl-4">DreamMigrationHelpers</span><span class="hl-1">.</span><span class="hl-5">createExtension</span><span class="hl-1">(</span><span class="hl-4">db</span><span class="hl-1">, </span><span class="hl-6">'citext'</span><span class="hl-1">)</span><br/><br/><span class="hl-1"> </span><span class="hl-7">// Add the pg trigram extension</span><br/><span class="hl-1"> </span><span class="hl-3">await</span><span class="hl-1"> </span><span class="hl-4">DreamMigrationHelpers</span><span class="hl-1">.</span><span class="hl-5">createExtension</span><span class="hl-1">(</span><span class="hl-4">db</span><span class="hl-1">, </span><span class="hl-6">'pg_trgm'</span><span class="hl-1">)</span>
|
|
25
25
|
</code><button>Copy</button></pre>
|
|
26
26
|
|
|
@@ -29,23 +29,23 @@ indexes.</p>
|
|
|
29
29
|
</div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">options</span>: <span class="tsd-signature-symbol">{ </span><br/><span> </span><span class="tsd-kind-property">ifNotExists</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">publicSchema</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol"> = {}</span></span><div class="tsd-comment tsd-typography"><p>Configuration options</p>
|
|
30
30
|
</div><div class="tsd-comment tsd-typography"></div><ul class="tsd-parameters"><li class="tsd-parameter"><h5><code class="tsd-tag">Optional</code><span class="tsd-kind-property">if<wbr/>Not<wbr/>Exists</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span></h5><div class="tsd-comment tsd-typography"><p>Only add the extension if it doesn't already exist</p>
|
|
31
31
|
</div><div class="tsd-comment tsd-typography"></div></li><li class="tsd-parameter"><h5><code class="tsd-tag">Optional</code><span class="tsd-kind-property">public<wbr/>Schema</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span></h5><div class="tsd-comment tsd-typography"><p>Create using the public schema</p>
|
|
32
|
-
</div><div class="tsd-comment tsd-typography"></div></li></ul></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/
|
|
32
|
+
</div><div class="tsd-comment tsd-typography"></div></li></ul></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/bf3c0627e6864b9219e8c9619b1b83fcdc529d11/src/db/migration-helpers/DreamMigrationHelpers.ts#L93">src/db/migration-helpers/DreamMigrationHelpers.ts:93</a></li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="createGinIndex" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Static</code><span>create<wbr/>Gin<wbr/>Index</span><a href="#createGinIndex" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="createGinIndex.createGinIndex-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">create<wbr/>Gin<wbr/>Index</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">db</span>, <span class="tsd-kind-parameter">indexName</span>, <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span><a href="#createGinIndex.createGinIndex-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Create a gin index</p>
|
|
33
33
|
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">db</span>: <span class="tsd-signature-type">Kysely</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">></span></span><div class="tsd-comment tsd-typography"><p>The Kysely database object passed into the migration up/down function</p>
|
|
34
34
|
</div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">indexName</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>The name of the constraint to create</p>
|
|
35
35
|
</div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">options</span>: <span class="tsd-signature-symbol">{ </span><br/><span> </span><span class="tsd-kind-property">column</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">table</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span></span><div class="tsd-comment tsd-typography"><p>Configuration options</p>
|
|
36
36
|
</div><div class="tsd-comment tsd-typography"></div><ul class="tsd-parameters"><li class="tsd-parameter"><h5><span class="tsd-kind-property">column</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><p>The name of the column to index</p>
|
|
37
37
|
</div><div class="tsd-comment tsd-typography"></div></li><li class="tsd-parameter"><h5><span class="tsd-kind-property">table</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><p>The name of the table</p>
|
|
38
|
-
</div><div class="tsd-comment tsd-typography"></div></li></ul></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/
|
|
38
|
+
</div><div class="tsd-comment tsd-typography"></div></li></ul></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/bf3c0627e6864b9219e8c9619b1b83fcdc529d11/src/db/migration-helpers/DreamMigrationHelpers.ts#L115">src/db/migration-helpers/DreamMigrationHelpers.ts:115</a></li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="dropConstraint" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Static</code><span>drop<wbr/>Constraint</span><a href="#dropConstraint" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="dropConstraint.dropConstraint-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">drop<wbr/>Constraint</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">db</span>, <span class="tsd-kind-parameter">constraintName</span>, <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span><a href="#dropConstraint.dropConstraint-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Drop a constraint</p>
|
|
39
39
|
<p>Note that this always includes "IF NOT EXISTS", so is safe to re-run multiple times.</p>
|
|
40
40
|
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">db</span>: <span class="tsd-signature-type">Kysely</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">></span></span><div class="tsd-comment tsd-typography"><p>The Kysely database object passed into the migration up/down function</p>
|
|
41
41
|
</div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">constraintName</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>The name of the constraint to create</p>
|
|
42
42
|
</div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">options</span>: <span class="tsd-signature-symbol">{ </span><br/><span> </span><span class="tsd-kind-property">table</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span></span><div class="tsd-comment tsd-typography"><p>Configuration options</p>
|
|
43
43
|
</div><div class="tsd-comment tsd-typography"></div><ul class="tsd-parameters"><li class="tsd-parameter"><h5><span class="tsd-kind-property">table</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><p>The name of the table</p>
|
|
44
|
-
</div><div class="tsd-comment tsd-typography"></div></li></ul></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/
|
|
44
|
+
</div><div class="tsd-comment tsd-typography"></div></li></ul></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/bf3c0627e6864b9219e8c9619b1b83fcdc529d11/src/db/migration-helpers/DreamMigrationHelpers.ts#L138">src/db/migration-helpers/DreamMigrationHelpers.ts:138</a></li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="dropEnumValue" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Static</code><span>drop<wbr/>Enum<wbr/>Value</span><a href="#dropEnumValue" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="dropEnumValue.dropEnumValue-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">drop<wbr/>Enum<wbr/>Value</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">db</span>, <span class="tsd-kind-parameter">__namedParameters</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span><a href="#dropEnumValue.dropEnumValue-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Drop a value from an enum and replace it with a different enum already
|
|
45
45
|
present in the enum type (or optionally remove it from array columns).</p>
|
|
46
46
|
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">db</span>: <span class="tsd-signature-type">Kysely</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">></span></span><div class="tsd-comment tsd-typography"><p>The Kysely database object passed into the migration up/down function</p>
|
|
47
47
|
</div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">__namedParameters</span>: <span class="tsd-signature-type">DropValueFromEnumOpts</span></span><div class="tsd-comment tsd-typography"><p>The options for dropping the enum value</p>
|
|
48
|
-
</div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/
|
|
48
|
+
</div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/bf3c0627e6864b9219e8c9619b1b83fcdc529d11/src/db/migration-helpers/DreamMigrationHelpers.ts#L191">src/db/migration-helpers/DreamMigrationHelpers.ts:191</a></li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="newTransaction" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Static</code><span>new<wbr/>Transaction</span><a href="#newTransaction" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="newTransaction.newTransaction-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">new<wbr/>Transaction</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#newTransaction.newTransaction-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Forces a new transaction boundary in migration execution.</p>
|
|
49
49
|
<p>When called in a migration file, this method ensures that any existing transaction
|
|
50
50
|
is committed before this migration runs, and a new transaction is started before the
|
|
51
51
|
migration in this file. This is essential for migrations that depend on previously
|
|
@@ -56,7 +56,7 @@ enum values to be committed to the database first.</p>
|
|
|
56
56
|
<pre><code class="ts"><span class="hl-7">// first migration file: Add enum value</span><br/><span class="hl-3">export</span><span class="hl-1"> </span><span class="hl-0">async</span><span class="hl-1"> </span><span class="hl-0">function</span><span class="hl-1"> </span><span class="hl-5">up</span><span class="hl-1">(</span><span class="hl-4">db</span><span class="hl-1">: </span><span class="hl-9">Kysely</span><span class="hl-1"><</span><span class="hl-9">any</span><span class="hl-1">>): </span><span class="hl-9">Promise</span><span class="hl-1"><</span><span class="hl-9">void</span><span class="hl-1">> {</span><br/><span class="hl-1"> </span><span class="hl-3">await</span><span class="hl-1"> </span><span class="hl-4">DreamMigrationHelpers</span><span class="hl-1">.</span><span class="hl-5">addEnumValue</span><span class="hl-1">(</span><span class="hl-4">db</span><span class="hl-1">, {</span><br/><span class="hl-1"> </span><span class="hl-4">enumName:</span><span class="hl-1"> </span><span class="hl-6">'user_status'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-4">value:</span><span class="hl-1"> </span><span class="hl-6">'premium'</span><br/><span class="hl-1"> })</span><br/><span class="hl-1">}</span><br/><br/><span class="hl-7">// second migration file: Add check constraint that depends on the enum value</span><br/><span class="hl-3">export</span><span class="hl-1"> </span><span class="hl-0">async</span><span class="hl-1"> </span><span class="hl-0">function</span><span class="hl-1"> </span><span class="hl-5">up</span><span class="hl-1">(</span><span class="hl-4">db</span><span class="hl-1">: </span><span class="hl-9">Kysely</span><span class="hl-1"><</span><span class="hl-9">any</span><span class="hl-1">>): </span><span class="hl-9">Promise</span><span class="hl-1"><</span><span class="hl-9">void</span><span class="hl-1">> {</span><br/><span class="hl-1"> </span><span class="hl-4">DreamMigrationHelpers</span><span class="hl-1">.</span><span class="hl-5">newTransaction</span><span class="hl-1">() </span><span class="hl-7">// Ensure enum value is committed first</span><br/><br/><span class="hl-1"> </span><span class="hl-3">await</span><span class="hl-1"> </span><span class="hl-4">db</span><span class="hl-1">.</span><span class="hl-4">schema</span><br/><span class="hl-1"> .</span><span class="hl-5">alterTable</span><span class="hl-1">(</span><span class="hl-6">'users'</span><span class="hl-1">)</span><br/><span class="hl-1"> .</span><span class="hl-5">addCheckConstraint</span><span class="hl-1">(</span><br/><span class="hl-1"> </span><span class="hl-6">'check_premium_users'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-5">sql</span><span class="hl-6">`status = 'premium' OR credits < 100`</span><br/><span class="hl-1"> )</span><br/><span class="hl-1"> .</span><span class="hl-5">execute</span><span class="hl-1">()</span><br/><span class="hl-1">}</span>
|
|
57
57
|
</code><button type="button">Copy</button></pre>
|
|
58
58
|
|
|
59
|
-
</div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/
|
|
59
|
+
</div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/bf3c0627e6864b9219e8c9619b1b83fcdc529d11/src/db/migration-helpers/DreamMigrationHelpers.ts#L179">src/db/migration-helpers/DreamMigrationHelpers.ts:179</a></li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="renameTable" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Static</code><span>rename<wbr/>Table</span><a href="#renameTable" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="renameTable.renameTable-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">rename<wbr/>Table</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">db</span>, <span class="tsd-kind-parameter">from</span>, <span class="tsd-kind-parameter">to</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span><a href="#renameTable.renameTable-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Rename a table and its associated primary key sequence.</p>
|
|
60
60
|
<p>This method renames both the table and its primary key sequence to keep them
|
|
61
61
|
in sync. When PostgreSQL creates a table with a serial or bigserial primary key,
|
|
62
62
|
it automatically creates a sequence named <code>{tablename}_id_seq</code>. If you only rename
|
|
@@ -66,4 +66,4 @@ key column named 'id'.</p>
|
|
|
66
66
|
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">db</span>: <span class="tsd-signature-type">Kysely</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">></span></span><div class="tsd-comment tsd-typography"><p>The Kysely database object passed into the migration up/down function</p>
|
|
67
67
|
</div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">from</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>The current name of the table to rename</p>
|
|
68
68
|
</div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">to</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>The new name for the table</p>
|
|
69
|
-
</div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/
|
|
69
|
+
</div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/bf3c0627e6864b9219e8c9619b1b83fcdc529d11/src/db/migration-helpers/DreamMigrationHelpers.ts#L19">src/db/migration-helpers/DreamMigrationHelpers.ts:19</a></li></ul></aside></li></ul></section></section></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="tsd-otp-Constructors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Constructors</summary><div><a href="#constructor" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="tsd-otp-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Methods</summary><div><a href="#addDeferrableUniqueConstraint" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>add<wbr/>Deferrable<wbr/>Unique<wbr/>Constraint</span></a><a href="#addEnumValue" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>add<wbr/>Enum<wbr/>Value</span></a><a href="#createExtension" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>create<wbr/>Extension</span></a><a href="#createGinIndex" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>create<wbr/>Gin<wbr/>Index</span></a><a href="#dropConstraint" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>drop<wbr/>Constraint</span></a><a href="#dropEnumValue" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>drop<wbr/>Enum<wbr/>Value</span></a><a href="#newTransaction" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>new<wbr/>Transaction</span></a><a href="#renameTable" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>rename<wbr/>Table</span></a></div></details></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../index.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>@rvoh/dream</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|