@rvoh/dream 2.0.4 → 2.1.0
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/dist/cjs/src/bin/index.js +2 -0
- package/dist/cjs/src/db/helpers/dreamSchemaTypesFilenameForConnection.js +3 -0
- package/dist/cjs/src/db/helpers/syncDbTypesFiles.js +2 -89
- package/dist/cjs/src/dream/QueryDriver/Base.js +2 -2
- package/dist/cjs/src/dream/QueryDriver/Kysely.js +9 -19
- package/dist/cjs/src/dream/QueryDriver/Postgres.js +2 -2
- package/dist/cjs/src/dream-app/index.js +15 -0
- package/dist/cjs/src/helpers/cli/ASTBuilder.js +277 -0
- package/dist/cjs/src/helpers/cli/ASTConnectionBuilder.js +284 -0
- package/dist/cjs/src/helpers/cli/ASTGlobalSchemaBuilder.js +57 -0
- package/dist/cjs/src/helpers/cli/ASTKyselyCodegenEnhancer.js +236 -0
- package/dist/cjs/src/helpers/cli/ASTSchemaBuilder.js +304 -0
- package/dist/cjs/src/helpers/cli/DBClassDeprecation.js +60 -0
- package/dist/esm/src/bin/index.js +2 -0
- package/dist/esm/src/db/helpers/dreamSchemaTypesFilenameForConnection.js +3 -0
- package/dist/esm/src/db/helpers/syncDbTypesFiles.js +2 -89
- package/dist/esm/src/dream/QueryDriver/Base.js +2 -2
- package/dist/esm/src/dream/QueryDriver/Kysely.js +9 -19
- package/dist/esm/src/dream/QueryDriver/Postgres.js +2 -2
- package/dist/esm/src/dream-app/index.js +15 -0
- package/dist/esm/src/helpers/cli/ASTBuilder.js +277 -0
- package/dist/esm/src/helpers/cli/ASTConnectionBuilder.js +284 -0
- package/dist/esm/src/helpers/cli/ASTGlobalSchemaBuilder.js +57 -0
- package/dist/esm/src/helpers/cli/ASTKyselyCodegenEnhancer.js +236 -0
- package/dist/esm/src/helpers/cli/ASTSchemaBuilder.js +304 -0
- package/dist/esm/src/helpers/cli/DBClassDeprecation.js +60 -0
- package/dist/types/src/db/helpers/dreamSchemaTypesFilenameForConnection.d.ts +1 -0
- package/dist/types/src/dream/QueryDriver/Base.d.ts +3 -3
- package/dist/types/src/dream/QueryDriver/Kysely.d.ts +2 -14
- package/dist/types/src/dream/QueryDriver/Postgres.d.ts +2 -2
- package/dist/types/src/dream-app/index.d.ts +12 -2
- package/dist/types/src/helpers/cli/ASTBuilder.d.ts +159 -0
- package/dist/types/src/helpers/cli/ASTConnectionBuilder.d.ts +104 -0
- package/dist/types/src/helpers/cli/ASTGlobalSchemaBuilder.d.ts +28 -0
- package/dist/types/src/helpers/cli/ASTKyselyCodegenEnhancer.d.ts +68 -0
- package/dist/types/src/helpers/cli/ASTSchemaBuilder.d.ts +80 -0
- package/dist/types/src/helpers/cli/DBClassDeprecation.d.ts +14 -0
- package/docs/assets/search.js +1 -1
- package/docs/classes/db.DreamMigrationHelpers.html +9 -9
- package/docs/classes/db.KyselyQueryDriver.html +31 -44
- package/docs/classes/db.PostgresQueryDriver.html +32 -45
- package/docs/classes/db.QueryDriverBase.html +30 -30
- package/docs/classes/errors.CheckConstraintViolation.html +3 -3
- package/docs/classes/errors.ColumnOverflow.html +3 -3
- package/docs/classes/errors.CreateOrFindByFailedToCreateAndFind.html +3 -3
- package/docs/classes/errors.DataIncompatibleWithDatabaseField.html +3 -3
- package/docs/classes/errors.DataTypeColumnTypeMismatch.html +3 -3
- package/docs/classes/errors.GlobalNameNotSet.html +3 -3
- package/docs/classes/errors.InvalidCalendarDate.html +2 -2
- package/docs/classes/errors.MissingSerializersDefinition.html +3 -3
- package/docs/classes/errors.NonLoadedAssociation.html +3 -3
- package/docs/classes/errors.NotNullViolation.html +3 -3
- package/docs/classes/errors.RecordNotFound.html +3 -3
- package/docs/classes/errors.ValidationError.html +3 -3
- package/docs/classes/index.CalendarDate.html +2 -2
- package/docs/classes/index.Decorators.html +19 -19
- package/docs/classes/index.Dream.html +113 -113
- package/docs/classes/index.DreamApp.html +7 -6
- package/docs/classes/index.DreamTransaction.html +2 -2
- package/docs/classes/index.Env.html +2 -2
- package/docs/classes/index.Query.html +53 -53
- 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/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 +1 -1
- package/dist/cjs/src/helpers/cli/SchemaBuilder.js +0 -408
- package/dist/esm/src/helpers/cli/SchemaBuilder.js +0 -408
- package/dist/types/src/helpers/cli/SchemaBuilder.d.ts +0 -44
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/0f04f133ec4cfe9272c9b9bc3495f6be237bede5/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/0f04f133ec4cfe9272c9b9bc3495f6be237bede5/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/0f04f133ec4cfe9272c9b9bc3495f6be237bede5/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/0f04f133ec4cfe9272c9b9bc3495f6be237bede5/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/0f04f133ec4cfe9272c9b9bc3495f6be237bede5/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/0f04f133ec4cfe9272c9b9bc3495f6be237bede5/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/0f04f133ec4cfe9272c9b9bc3495f6be237bede5/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/0f04f133ec4cfe9272c9b9bc3495f6be237bede5/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/0f04f133ec4cfe9272c9b9bc3495f6be237bede5/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>
|