@rvoh/dream 2.28.2 → 2.28.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/src/Dream.js +11 -9
- package/dist/cjs/src/dream/DreamClassTransactionBuilder.js +4 -2
- package/dist/cjs/src/dream/DreamInstanceTransactionBuilder.js +7 -7
- package/dist/cjs/src/dream/LoadBuilder.js +3 -2
- package/dist/cjs/src/dream/Query.js +23 -10
- package/dist/cjs/src/dream/QueryDriver/Base.js +12 -0
- package/dist/cjs/src/dream/QueryDriver/Kysely.js +11 -2
- package/dist/cjs/src/dream/internal/shouldBypassDefaultScope.js +3 -4
- package/dist/cjs/src/dream/internal/sqlResultToDreamInstance.js +4 -1
- package/dist/cjs/src/errors/NoUpdateOnAssociationQuery.js +1 -1
- package/dist/cjs/src/errors/sti/STIChildTypeMismatch.js +28 -0
- package/dist/esm/src/Dream.js +11 -9
- package/dist/esm/src/dream/DreamClassTransactionBuilder.js +4 -2
- package/dist/esm/src/dream/DreamInstanceTransactionBuilder.js +7 -7
- package/dist/esm/src/dream/LoadBuilder.js +3 -2
- package/dist/esm/src/dream/Query.js +23 -10
- package/dist/esm/src/dream/QueryDriver/Base.js +12 -0
- package/dist/esm/src/dream/QueryDriver/Kysely.js +11 -2
- package/dist/esm/src/dream/internal/shouldBypassDefaultScope.js +3 -4
- package/dist/esm/src/dream/internal/sqlResultToDreamInstance.js +4 -1
- package/dist/esm/src/errors/NoUpdateOnAssociationQuery.js +1 -1
- package/dist/esm/src/errors/sti/STIChildTypeMismatch.js +28 -0
- package/dist/types/src/Dream.d.ts +7 -5
- package/dist/types/src/dream/DreamClassTransactionBuilder.d.ts +4 -2
- package/dist/types/src/dream/DreamInstanceTransactionBuilder.d.ts +3 -3
- package/dist/types/src/dream/LoadBuilder.d.ts +3 -2
- package/dist/types/src/dream/Query.d.ts +16 -8
- package/dist/types/src/dream/QueryDriver/Base.d.ts +6 -0
- package/dist/types/src/dream/internal/destroyOptions.d.ts +3 -2
- package/dist/types/src/errors/sti/STIChildTypeMismatch.d.ts +11 -0
- package/docs/assets/hierarchy.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/db.DreamMigrationHelpers.html +11 -11
- package/docs/classes/db.KyselyQueryDriver.html +44 -42
- package/docs/classes/db.PostgresQueryDriver.html +45 -43
- package/docs/classes/db.QueryDriverBase.html +43 -41
- 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.SortableBatchRequiresTooManyScopeLocks.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 +19 -19
- package/docs/classes/index.Dream.html +130 -128
- 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 +69 -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/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 +1 -1
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/94e04dfc7e124dc39e87301b12cfc8988c4a0c21/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/94e04dfc7e124dc39e87301b12cfc8988c4a0c21/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/94e04dfc7e124dc39e87301b12cfc8988c4a0c21/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/94e04dfc7e124dc39e87301b12cfc8988c4a0c21/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/94e04dfc7e124dc39e87301b12cfc8988c4a0c21/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/94e04dfc7e124dc39e87301b12cfc8988c4a0c21/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/94e04dfc7e124dc39e87301b12cfc8988c4a0c21/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/94e04dfc7e124dc39e87301b12cfc8988c4a0c21/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/94e04dfc7e124dc39e87301b12cfc8988c4a0c21/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/94e04dfc7e124dc39e87301b12cfc8988c4a0c21/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/94e04dfc7e124dc39e87301b12cfc8988c4a0c21/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>
|