@rvoh/dream 2.30.1 → 2.32.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/Dream.js +9 -5
- package/dist/cjs/src/db/errors.js +2 -0
- package/dist/cjs/src/decorators/Decorators.js +121 -6
- package/dist/cjs/src/decorators/field/sortable/Sortable.js +4 -31
- package/dist/cjs/src/decorators/field/sortable/helpers/cascadeReachesEveryRowInSortScope.js +51 -0
- package/dist/cjs/src/decorators/field/sortable/helpers/performSortableDestroyWork.js +5 -2
- package/dist/cjs/src/decorators/field/sortable/helpers/prepareSortableFieldsForDestroy.js +39 -25
- package/dist/cjs/src/decorators/field/sortable/helpers/sortableCascadeEdge.js +32 -0
- package/dist/cjs/src/dream/Query.js +37 -13
- package/dist/cjs/src/dream/QueryDriver/Base.js +26 -0
- package/dist/cjs/src/dream/QueryDriver/Kysely.js +4 -1
- package/dist/cjs/src/dream/QueryDriver/Postgres.js +7 -1
- package/dist/cjs/src/dream/internal/destroyAssociatedRecords.js +7 -0
- package/dist/cjs/src/dream/internal/destroyDream.js +25 -14
- package/dist/cjs/src/dream/internal/saveDream.js +9 -0
- package/dist/cjs/src/dream/internal/undestroyDream.js +55 -32
- package/dist/cjs/src/dream/internal/withConcurrentWriterRetry.js +64 -0
- package/dist/cjs/src/errors/CannotSaveMissingDream.js +24 -0
- package/dist/cjs/src/errors/SortableBatchRequiresTooManyScopeLocks.js +7 -0
- package/dist/cjs/src/errors/associations/MissingRequiredBelongsToAssociation.js +8 -3
- package/dist/cjs/src/package-exports/errors.js +10 -1
- package/dist/esm/src/Dream.js +9 -5
- package/dist/esm/src/db/errors.js +2 -0
- package/dist/esm/src/decorators/Decorators.js +121 -6
- package/dist/esm/src/decorators/field/sortable/Sortable.js +4 -31
- package/dist/esm/src/decorators/field/sortable/helpers/cascadeReachesEveryRowInSortScope.js +51 -0
- package/dist/esm/src/decorators/field/sortable/helpers/performSortableDestroyWork.js +5 -2
- package/dist/esm/src/decorators/field/sortable/helpers/prepareSortableFieldsForDestroy.js +39 -25
- package/dist/esm/src/decorators/field/sortable/helpers/sortableCascadeEdge.js +32 -0
- package/dist/esm/src/dream/Query.js +37 -13
- package/dist/esm/src/dream/QueryDriver/Base.js +26 -0
- package/dist/esm/src/dream/QueryDriver/Kysely.js +4 -1
- package/dist/esm/src/dream/QueryDriver/Postgres.js +7 -1
- package/dist/esm/src/dream/internal/destroyAssociatedRecords.js +7 -0
- package/dist/esm/src/dream/internal/destroyDream.js +25 -14
- package/dist/esm/src/dream/internal/saveDream.js +9 -0
- package/dist/esm/src/dream/internal/undestroyDream.js +55 -32
- package/dist/esm/src/dream/internal/withConcurrentWriterRetry.js +64 -0
- package/dist/esm/src/errors/CannotSaveMissingDream.js +24 -0
- package/dist/esm/src/errors/SortableBatchRequiresTooManyScopeLocks.js +7 -0
- package/dist/esm/src/errors/associations/MissingRequiredBelongsToAssociation.js +8 -3
- package/dist/esm/src/package-exports/errors.js +10 -1
- package/dist/types/src/Dream.d.ts +9 -5
- package/dist/types/src/db/errors.d.ts +2 -0
- package/dist/types/src/decorators/Decorators.d.ts +121 -6
- package/dist/types/src/decorators/field/sortable/Sortable.d.ts +4 -31
- package/dist/types/src/decorators/field/sortable/helpers/cascadeReachesEveryRowInSortScope.d.ts +39 -0
- package/dist/types/src/decorators/field/sortable/helpers/performSortableDestroyWork.d.ts +6 -1
- package/dist/types/src/decorators/field/sortable/helpers/prepareSortableFieldsForDestroy.d.ts +37 -20
- package/dist/types/src/decorators/field/sortable/helpers/sortableCascadeEdge.d.ts +20 -0
- package/dist/types/src/dream/Query.d.ts +37 -13
- package/dist/types/src/dream/QueryDriver/Base.d.ts +20 -0
- package/dist/types/src/dream/QueryDriver/Postgres.d.ts +2 -0
- package/dist/types/src/dream/internal/destroyDream.d.ts +3 -1
- package/dist/types/src/dream/internal/undestroyDream.d.ts +6 -4
- package/dist/types/src/dream/internal/withConcurrentWriterRetry.d.ts +47 -0
- package/dist/types/src/errors/CannotSaveMissingDream.d.ts +23 -0
- package/dist/types/src/errors/SortableBatchRequiresTooManyScopeLocks.d.ts +7 -0
- package/dist/types/src/errors/associations/MissingRequiredBelongsToAssociation.d.ts +1 -0
- package/dist/types/src/package-exports/errors.d.ts +1 -1
- package/docs/assets/hierarchy.js +1 -1
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/db.DreamMigrationHelpers.html +11 -11
- package/docs/classes/db.KyselyQueryDriver.html +55 -43
- package/docs/classes/db.PostgresQueryDriver.html +56 -44
- package/docs/classes/db.QueryDriverBase.html +54 -42
- package/docs/classes/errors.CannotSaveMissingDream.html +47 -0
- 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.DecryptionError.html +2 -2
- package/docs/classes/errors.DecryptionParseError.html +2 -2
- package/docs/classes/errors.DecryptionRotationError.html +3 -3
- package/docs/classes/errors.GlobalNameNotSet.html +3 -3
- package/docs/classes/errors.InvalidCalendarDate.html +2 -2
- package/docs/classes/errors.InvalidClockTime.html +2 -2
- package/docs/classes/errors.InvalidClockTimeTz.html +2 -2
- package/docs/classes/errors.InvalidDateTime.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.SortableScopeDidNotStabilize.html +3 -3
- package/docs/classes/errors.SortableScopeLockWaitTimedOut.html +3 -3
- package/docs/classes/errors.ValidationError.html +3 -3
- package/docs/classes/index.CalendarDate.html +33 -33
- package/docs/classes/index.ClockTime.html +32 -32
- package/docs/classes/index.ClockTimeTz.html +35 -35
- package/docs/classes/index.DateTime.html +86 -86
- package/docs/classes/index.Decorators.html +101 -22
- package/docs/classes/index.Dream.html +133 -129
- package/docs/classes/index.DreamApp.html +10 -10
- package/docs/classes/index.DreamTransaction.html +2 -2
- package/docs/classes/index.Env.html +2 -2
- package/docs/classes/index.Query.html +88 -67
- package/docs/classes/system.CliFileWriter.html +4 -4
- package/docs/classes/system.DreamBin.html +2 -2
- package/docs/classes/system.DreamCLI.html +7 -7
- package/docs/classes/system.DreamImporter.html +2 -2
- package/docs/classes/system.DreamLogos.html +2 -2
- package/docs/classes/system.DreamSerializerBuilder.html +11 -11
- package/docs/classes/system.ObjectSerializerBuilder.html +8 -8
- package/docs/classes/system.PathHelpers.html +3 -3
- package/docs/classes/utils.Encrypt.html +3 -3
- 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.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/hierarchy.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.DreamDbConfig.html +5 -5
- package/docs/interfaces/types.DurationObject.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/errors.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 +2 -2
- package/docs/types/openapi.OpenapiSchemaExpressionAnyOf.html +2 -2
- package/docs/types/openapi.OpenapiSchemaExpressionOneOf.html +2 -2
- package/docs/types/openapi.OpenapiSchemaExpressionRef.html +2 -2
- package/docs/types/openapi.OpenapiSchemaExpressionRefSchemaShorthand.html +2 -2
- package/docs/types/openapi.OpenapiSchemaInteger.html +1 -1
- package/docs/types/openapi.OpenapiSchemaNull.html +2 -2
- 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 +2 -2
- package/docs/types/openapi.OpenapiSchemaShorthandExpressionAnyOf.html +2 -2
- package/docs/types/openapi.OpenapiSchemaShorthandExpressionOneOf.html +2 -2
- package/docs/types/openapi.OpenapiSchemaShorthandExpressionSerializableRef.html +2 -2
- package/docs/types/openapi.OpenapiSchemaShorthandExpressionSerializerRef.html +2 -2
- 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.CalendarDateDurationUnit.html +1 -1
- package/docs/types/types.CalendarDateObject.html +1 -1
- package/docs/types/types.Camelized.html +1 -1
- package/docs/types/types.ClockTimeObject.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 +2 -2
- 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.DurationUnit.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.PrimaryKeyType.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 +2 -2
- package/docs/types/types.ViewModelClass.html +1 -1
- package/docs/types/types.WeekdayName.html +1 -1
- package/docs/types/types.WhereStatementForDream.html +1 -1
- package/docs/types/types.WhereStatementForDreamClass.html +1 -1
- package/docs/variables/index.DreamConst.html +1 -1
- package/docs/variables/index.ops.html +1 -1
- package/docs/variables/openapi.openapiPrimitiveTypes.html +1 -1
- package/docs/variables/openapi.openapiShorthandPrimitiveTypes.html +1 -1
- package/docs/variables/system.DreamAppAllowedPackageManagersEnumValues.html +1 -1
- package/docs/variables/system.primaryKeyTypes.html +1 -1
- package/package.json +2 -2
- package/docs/classes/errors.SortableBatchRequiresTooManyScopeLocks.html +0 -61
package/docs/assets/search.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
window.searchData = "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";
|
|
1
|
+
window.searchData = "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";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en" data-base="../"><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><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">@rvoh/dream</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="../modules/db.html">db</a></li><li><a href="" aria-current="page">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" data-base="../"><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><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">@rvoh/dream</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="../modules/db.html">db</a></li><li><a href="" aria-current="page">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/2f456796d8d937160cfe8ab3a766151ee16c60f1/src/db/migration-helpers/DreamMigrationHelpers.ts#L8">src/db/migration-helpers/DreamMigrationHelpers.ts:8</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"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h5 class="tsd-index-heading uppercase">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="#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Constructor"><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="#adddeferrableuniqueconstraint" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>add<wbr/>Deferrable<wbr/>Unique<wbr/>Constraint</span></a>
|
|
3
3
|
<a href="#addenumvalue" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>add<wbr/>Enum<wbr/>Value</span></a>
|
|
4
4
|
<a href="#createextension" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>create<wbr/>Extension</span></a>
|
|
@@ -18,13 +18,13 @@ indexes.</p>
|
|
|
18
18
|
</div></li><li><span><span class="tsd-kind-parameter">options</span>: <span class="tsd-signature-symbol">{</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> <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></span><div class="tsd-comment tsd-typography"><p>Configuration options</p>
|
|
19
19
|
</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>
|
|
20
20
|
</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>
|
|
21
|
-
</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><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/
|
|
21
|
+
</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><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/2f456796d8d937160cfe8ab3a766151ee16c60f1/src/db/migration-helpers/DreamMigrationHelpers.ts#L56">src/db/migration-helpers/DreamMigrationHelpers.ts:56</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="addenumvalue"><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" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="addenumvalue-1"><span class="tsd-kind-call-signature">addEnumValue</span><span class="tsd-signature-symbol">(</span><br/> <span class="tsd-kind-parameter">db</span><span class="tsd-signature-symbol">:</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 class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">__namedParameters</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">AddValueToEnumOpts</span><span class="tsd-signature-symbol">,</span><br/><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-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Add a value to an enum.</p>
|
|
22
22
|
<p>Note that this always includes "IF NOT EXISTS", so is safe to re-run multiple times.</p>
|
|
23
23
|
</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>
|
|
24
24
|
</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>
|
|
25
25
|
</div><ul class="tsd-parameters"><li class="tsd-parameter"><h5><span>enumName</span></h5><div class="tsd-comment tsd-typography"><p>The name of the enum to modify</p>
|
|
26
26
|
</div></li><li class="tsd-parameter"><h5><span>value</span></h5><div class="tsd-comment tsd-typography"><p>The name of the value to add to the enum</p>
|
|
27
|
-
</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><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/
|
|
27
|
+
</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><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/2f456796d8d937160cfe8ab3a766151ee16c60f1/src/db/migration-helpers/DreamMigrationHelpers.ts#L86">src/db/migration-helpers/DreamMigrationHelpers.ts:86</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="createextension"><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" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="createextension-1"><span class="tsd-kind-call-signature">createExtension</span><span class="tsd-signature-symbol">(</span><br/> <span class="tsd-kind-parameter">db</span><span class="tsd-signature-symbol">:</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 class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">extensionName</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-symbol">{</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> <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><span class="tsd-signature-symbol">,</span><br/><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-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Create a database extension.</p>
|
|
28
28
|
<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>
|
|
29
29
|
</code><button>Copy</button></pre>
|
|
30
30
|
|
|
@@ -33,13 +33,13 @@ indexes.</p>
|
|
|
33
33
|
</div></li><li><span><span class="tsd-kind-parameter">options</span>: <span class="tsd-signature-symbol">{</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> <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><span class="tsd-signature-symbol"> = {}</span></span><div class="tsd-comment tsd-typography"><p>Configuration options</p>
|
|
34
34
|
</div><ul class="tsd-parameters"><li class="tsd-parameter"><h5><code class="tsd-tag">Optional</code><span class="tsd-kind-property">ifNotExists</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>
|
|
35
35
|
</div></li><li class="tsd-parameter"><h5><code class="tsd-tag">Optional</code><span class="tsd-kind-property">publicSchema</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>
|
|
36
|
-
</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><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/
|
|
36
|
+
</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><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/2f456796d8d937160cfe8ab3a766151ee16c60f1/src/db/migration-helpers/DreamMigrationHelpers.ts#L108">src/db/migration-helpers/DreamMigrationHelpers.ts:108</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="createginindex"><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" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="createginindex-1"><span class="tsd-kind-call-signature">createGinIndex</span><span class="tsd-signature-symbol">(</span><br/> <span class="tsd-kind-parameter">db</span><span class="tsd-signature-symbol">:</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 class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">indexName</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{</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> <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><span class="tsd-signature-symbol">,</span><br/><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-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Create a gin index</p>
|
|
37
37
|
</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>
|
|
38
38
|
</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>
|
|
39
39
|
</div></li><li><span><span class="tsd-kind-parameter">options</span>: <span class="tsd-signature-symbol">{</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> <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></span><div class="tsd-comment tsd-typography"><p>Configuration options</p>
|
|
40
40
|
</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>
|
|
41
41
|
</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>
|
|
42
|
-
</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><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/
|
|
42
|
+
</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><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/2f456796d8d937160cfe8ab3a766151ee16c60f1/src/db/migration-helpers/DreamMigrationHelpers.ts#L130">src/db/migration-helpers/DreamMigrationHelpers.ts:130</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="decryptcolumn"><code class="tsd-tag">Static</code><span>decrypt<wbr/>Column</span><a href="#decryptcolumn" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="decryptcolumn-1"><span class="tsd-kind-call-signature">decryptColumn</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">db</span><span class="tsd-signature-symbol">:</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 class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">DecryptColumnOpts</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="#decryptcolumn-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Inverse of <a href="#encryptcolumn" class="tsd-kind-method">DreamMigrationHelpers.encryptColumn</a>: decrypt an
|
|
43
43
|
<code>encrypted_<column></code> column back to plaintext and rename it to <code>column</code>.</p>
|
|
44
44
|
<p>Every non-null value is decrypted with the same path the decorator's getter uses
|
|
45
45
|
(<code>InternalEncrypt.decryptColumn</code>, which honors both the <code>current</code> and <code>legacy</code>
|
|
@@ -60,20 +60,20 @@ recovered from the encrypted state. Pass <code>columnType</code> to restore a sp
|
|
|
60
60
|
</div></li><li class="tsd-parameter"><h5><span>primaryKey</span></h5><div class="tsd-comment tsd-typography"><p>The primary key column used to keyset-paginate and target each row's update. Defaults to <code>id</code>.</p>
|
|
61
61
|
</div></li><li class="tsd-parameter"><h5><span>batchSize</span></h5><div class="tsd-comment tsd-typography"><p>How many rows to read per batch. Defaults to <code>1000</code>.</p>
|
|
62
62
|
</div></li><li class="tsd-parameter"><h5><span>columnType</span></h5><div class="tsd-comment tsd-typography"><p>When provided, the restored column is converted to this type. When omitted, the column is left as <code>text</code>.</p>
|
|
63
|
-
</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><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/
|
|
63
|
+
</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><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/2f456796d8d937160cfe8ab3a766151ee16c60f1/src/db/migration-helpers/DreamMigrationHelpers.ts#L390">src/db/migration-helpers/DreamMigrationHelpers.ts:390</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="dropconstraint"><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" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="dropconstraint-1"><span class="tsd-kind-call-signature">dropConstraint</span><span class="tsd-signature-symbol">(</span><br/> <span class="tsd-kind-parameter">db</span><span class="tsd-signature-symbol">:</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 class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">constraintName</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{</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><span class="tsd-signature-symbol">,</span><br/><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-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Drop a constraint</p>
|
|
64
64
|
<p>Note that this always includes "IF NOT EXISTS", so is safe to re-run multiple times.</p>
|
|
65
65
|
</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>
|
|
66
66
|
</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>
|
|
67
67
|
</div></li><li><span><span class="tsd-kind-parameter">options</span>: <span class="tsd-signature-symbol">{</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></span><div class="tsd-comment tsd-typography"><p>Configuration options</p>
|
|
68
68
|
</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>
|
|
69
|
-
</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><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/
|
|
69
|
+
</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><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/2f456796d8d937160cfe8ab3a766151ee16c60f1/src/db/migration-helpers/DreamMigrationHelpers.ts#L153">src/db/migration-helpers/DreamMigrationHelpers.ts:153</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="dropenumvalue"><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" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="dropenumvalue-1"><span class="tsd-kind-call-signature">dropEnumValue</span><span class="tsd-signature-symbol">(</span><br/> <span class="tsd-kind-parameter">db</span><span class="tsd-signature-symbol">:</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 class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">__namedParameters</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">DropValueFromEnumOpts</span><span class="tsd-signature-symbol">,</span><br/><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-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Drop a value from an enum and replace it with a different enum already
|
|
70
70
|
present in the enum type (or optionally remove it from array columns).</p>
|
|
71
71
|
</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>
|
|
72
72
|
</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>
|
|
73
73
|
</div><ul class="tsd-parameters"><li class="tsd-parameter"><h5><span>enumName</span></h5><div class="tsd-comment tsd-typography"><p>The name of the enum to modify</p>
|
|
74
74
|
</div></li><li class="tsd-parameter"><h5><span>value</span></h5><div class="tsd-comment tsd-typography"><p>The name of the value to drop from the enum</p>
|
|
75
75
|
</div></li><li class="tsd-parameter"><h5><span>replacements</span></h5><div class="tsd-comment tsd-typography"><p>Details about which table and column to change and which value to replace the dropped value with (or remove it if the column is an array)</p>
|
|
76
|
-
</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><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/
|
|
76
|
+
</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><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/2f456796d8d937160cfe8ab3a766151ee16c60f1/src/db/migration-helpers/DreamMigrationHelpers.ts#L206">src/db/migration-helpers/DreamMigrationHelpers.ts:206</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="encryptcolumn"><code class="tsd-tag">Static</code><span>encrypt<wbr/>Column</span><a href="#encryptcolumn" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="encryptcolumn-1"><span class="tsd-kind-call-signature">encryptColumn</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">db</span><span class="tsd-signature-symbol">:</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 class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">EncryptColumnOpts</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="#encryptcolumn-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Convert an existing plaintext column into the encrypted-backed form expected by
|
|
77
77
|
the <code>@Encrypted</code> decorator.</p>
|
|
78
78
|
<p>This renames <code>column</code> to <code>encrypted_<column></code>, widens it to <code>text</code>, and rewrites
|
|
79
79
|
every non-null value with the AES-GCM ciphertext produced by the exact same code
|
|
@@ -106,7 +106,7 @@ queryable). Remove the index before this migration and do not re-add it.</p>
|
|
|
106
106
|
</div></li><li class="tsd-parameter"><h5><span>encryptedColumnName</span></h5><div class="tsd-comment tsd-typography"><p>The target encrypted column name. Defaults to <code>encrypted_<column></code>, matching the <code>@Encrypted</code> decorator's default; pass this when the decorator was given a custom encrypted column name.</p>
|
|
107
107
|
</div></li><li class="tsd-parameter"><h5><span>primaryKey</span></h5><div class="tsd-comment tsd-typography"><p>The primary key column used to keyset-paginate and target each row's update. Defaults to <code>id</code>.</p>
|
|
108
108
|
</div></li><li class="tsd-parameter"><h5><span>batchSize</span></h5><div class="tsd-comment tsd-typography"><p>How many rows to read per batch. Defaults to <code>1000</code>.</p>
|
|
109
|
-
</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><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/
|
|
109
|
+
</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><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/2f456796d8d937160cfe8ab3a766151ee16c60f1/src/db/migration-helpers/DreamMigrationHelpers.ts#L334">src/db/migration-helpers/DreamMigrationHelpers.ts:334</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="newtransaction"><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" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="newtransaction-1"><span class="tsd-kind-call-signature">newTransaction</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#newtransaction-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Forces a new transaction boundary in migration execution.</p>
|
|
110
110
|
<p>When called in a migration file, this method ensures that any existing transaction
|
|
111
111
|
is committed before this migration runs, and a new transaction is started before the
|
|
112
112
|
migration in this file. This is essential for migrations that depend on previously
|
|
@@ -117,7 +117,7 @@ enum values to be committed to the database first.</p>
|
|
|
117
117
|
<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>
|
|
118
118
|
</code><button type="button">Copy</button></pre>
|
|
119
119
|
|
|
120
|
-
</div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/
|
|
120
|
+
</div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/2f456796d8d937160cfe8ab3a766151ee16c60f1/src/db/migration-helpers/DreamMigrationHelpers.ts#L194">src/db/migration-helpers/DreamMigrationHelpers.ts:194</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="renametable"><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" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="renametable-1"><span class="tsd-kind-call-signature">renameTable</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">db</span><span class="tsd-signature-symbol">:</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 class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">from</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">to</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> <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-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Rename a table and its associated primary key index and sequence.</p>
|
|
121
121
|
<p>This method renames the table, its primary key index (<code>{tablename}_pkey</code>),
|
|
122
122
|
and its primary key sequence (<code>{tablename}_id_seq</code>) to keep them in sync.</p>
|
|
123
123
|
<p>The sequence rename applies to both legacy <code>serial</code>/<code>bigserial</code> columns and
|
|
@@ -129,4 +129,4 @@ automatically rename it when the table is renamed.</p>
|
|
|
129
129
|
</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>
|
|
130
130
|
</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>
|
|
131
131
|
</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>
|
|
132
|
-
</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><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/
|
|
132
|
+
</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><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/2f456796d8d937160cfe8ab3a766151ee16c60f1/src/db/migration-helpers/DreamMigrationHelpers.ts#L26">src/db/migration-helpers/DreamMigrationHelpers.ts:26</a></li></ul></aside></div></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"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>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"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>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="section-Constructors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Constructors</summary><div><a href="#constructor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Constructor"><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="section-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Methods</summary><div><a href="#adddeferrableuniqueconstraint"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>add<wbr/>Deferrable<wbr/>Unique<wbr/>Constraint</span></a><a href="#addenumvalue"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>add<wbr/>Enum<wbr/>Value</span></a><a href="#createextension"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>create<wbr/>Extension</span></a><a href="#createginindex"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>create<wbr/>Gin<wbr/>Index</span></a><a href="#decryptcolumn"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>decrypt<wbr/>Column</span></a><a href="#dropconstraint"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>drop<wbr/>Constraint</span></a><a href="#dropenumvalue"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>drop<wbr/>Enum<wbr/>Value</span></a><a href="#encryptcolumn"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>encrypt<wbr/>Column</span></a><a href="#newtransaction"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>new<wbr/>Transaction</span></a><a href="#renametable"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><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="../modules.html">@rvoh/dream</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><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>
|