@rvoh/dream 2.1.4 → 2.2.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.
Files changed (183) hide show
  1. package/dist/cjs/src/Dream.js +40 -2
  2. package/dist/cjs/src/dream/Query.js +132 -42
  3. package/dist/esm/src/Dream.js +40 -2
  4. package/dist/esm/src/dream/Query.js +132 -42
  5. package/dist/types/src/Dream.d.ts +40 -4
  6. package/dist/types/src/dream/Query.d.ts +45 -4
  7. package/dist/types/src/types/query.d.ts +2 -2
  8. package/dist/types/src/types/query.ts +2 -2
  9. package/docs/assets/search.js +1 -1
  10. package/docs/classes/db.DreamMigrationHelpers.html +9 -9
  11. package/docs/classes/db.KyselyQueryDriver.html +32 -32
  12. package/docs/classes/db.PostgresQueryDriver.html +33 -33
  13. package/docs/classes/db.QueryDriverBase.html +31 -31
  14. package/docs/classes/errors.CheckConstraintViolation.html +3 -3
  15. package/docs/classes/errors.ColumnOverflow.html +3 -3
  16. package/docs/classes/errors.CreateOrFindByFailedToCreateAndFind.html +3 -3
  17. package/docs/classes/errors.DataIncompatibleWithDatabaseField.html +3 -3
  18. package/docs/classes/errors.DataTypeColumnTypeMismatch.html +3 -3
  19. package/docs/classes/errors.GlobalNameNotSet.html +3 -3
  20. package/docs/classes/errors.InvalidCalendarDate.html +2 -2
  21. package/docs/classes/errors.MissingSerializersDefinition.html +3 -3
  22. package/docs/classes/errors.NonLoadedAssociation.html +3 -3
  23. package/docs/classes/errors.NotNullViolation.html +3 -3
  24. package/docs/classes/errors.RecordNotFound.html +3 -3
  25. package/docs/classes/errors.ValidationError.html +3 -3
  26. package/docs/classes/index.CalendarDate.html +2 -2
  27. package/docs/classes/index.Decorators.html +19 -19
  28. package/docs/classes/index.Dream.html +208 -191
  29. package/docs/classes/index.DreamApp.html +5 -5
  30. package/docs/classes/index.DreamTransaction.html +2 -2
  31. package/docs/classes/index.Env.html +2 -2
  32. package/docs/classes/index.Query.html +87 -70
  33. package/docs/classes/system.CliFileWriter.html +2 -2
  34. package/docs/classes/system.DreamBin.html +2 -2
  35. package/docs/classes/system.DreamCLI.html +5 -5
  36. package/docs/classes/system.DreamImporter.html +2 -2
  37. package/docs/classes/system.DreamLogos.html +2 -2
  38. package/docs/classes/system.DreamSerializerBuilder.html +8 -8
  39. package/docs/classes/system.ObjectSerializerBuilder.html +8 -8
  40. package/docs/classes/utils.Encrypt.html +2 -2
  41. package/docs/classes/utils.Range.html +2 -2
  42. package/docs/functions/db.closeAllDbConnections.html +1 -1
  43. package/docs/functions/db.dreamDbConnections.html +1 -1
  44. package/docs/functions/db.untypedDb.html +1 -1
  45. package/docs/functions/db.validateColumn.html +1 -1
  46. package/docs/functions/db.validateTable.html +1 -1
  47. package/docs/functions/errors.pgErrorType.html +1 -1
  48. package/docs/functions/index.DreamSerializer.html +1 -1
  49. package/docs/functions/index.ObjectSerializer.html +1 -1
  50. package/docs/functions/index.ReplicaSafe.html +1 -1
  51. package/docs/functions/index.STI.html +1 -1
  52. package/docs/functions/index.SoftDelete.html +1 -1
  53. package/docs/functions/utils.camelize.html +1 -1
  54. package/docs/functions/utils.capitalize.html +1 -1
  55. package/docs/functions/utils.cloneDeepSafe.html +1 -1
  56. package/docs/functions/utils.compact.html +1 -1
  57. package/docs/functions/utils.groupBy.html +1 -1
  58. package/docs/functions/utils.hyphenize.html +1 -1
  59. package/docs/functions/utils.intersection.html +1 -1
  60. package/docs/functions/utils.isEmpty.html +1 -1
  61. package/docs/functions/utils.normalizeUnicode.html +1 -1
  62. package/docs/functions/utils.pascalize.html +1 -1
  63. package/docs/functions/utils.percent.html +1 -1
  64. package/docs/functions/utils.range-1.html +1 -1
  65. package/docs/functions/utils.round.html +1 -1
  66. package/docs/functions/utils.sanitizeString.html +1 -1
  67. package/docs/functions/utils.snakeify.html +1 -1
  68. package/docs/functions/utils.sort.html +1 -1
  69. package/docs/functions/utils.sortBy.html +1 -1
  70. package/docs/functions/utils.sortObjectByKey.html +1 -1
  71. package/docs/functions/utils.sortObjectByValue.html +1 -1
  72. package/docs/functions/utils.uncapitalize.html +1 -1
  73. package/docs/functions/utils.uniq.html +1 -1
  74. package/docs/interfaces/openapi.OpenapiDescription.html +2 -2
  75. package/docs/interfaces/openapi.OpenapiSchemaProperties.html +1 -1
  76. package/docs/interfaces/openapi.OpenapiSchemaPropertiesShorthand.html +1 -1
  77. package/docs/interfaces/openapi.OpenapiTypeFieldObject.html +1 -1
  78. package/docs/interfaces/types.BelongsToStatement.html +2 -2
  79. package/docs/interfaces/types.DecoratorContext.html +2 -2
  80. package/docs/interfaces/types.DreamAppInitOptions.html +2 -2
  81. package/docs/interfaces/types.DreamAppOpts.html +2 -2
  82. package/docs/interfaces/types.EncryptOptions.html +2 -2
  83. package/docs/interfaces/types.InternalAnyTypedSerializerRendersMany.html +2 -2
  84. package/docs/interfaces/types.InternalAnyTypedSerializerRendersOne.html +2 -2
  85. package/docs/interfaces/types.SerializerRendererOpts.html +2 -2
  86. package/docs/modules/db.html +1 -1
  87. package/docs/modules/errors.html +1 -1
  88. package/docs/modules/index.html +1 -1
  89. package/docs/modules/openapi.html +1 -1
  90. package/docs/modules/system.html +1 -1
  91. package/docs/modules/types.html +1 -1
  92. package/docs/modules/utils.html +1 -1
  93. package/docs/types/index.DateTime.html +1 -1
  94. package/docs/types/openapi.CommonOpenapiSchemaObjectFields.html +1 -1
  95. package/docs/types/openapi.OpenapiAllTypes.html +1 -1
  96. package/docs/types/openapi.OpenapiFormats.html +1 -1
  97. package/docs/types/openapi.OpenapiNumberFormats.html +1 -1
  98. package/docs/types/openapi.OpenapiPrimitiveBaseTypes.html +1 -1
  99. package/docs/types/openapi.OpenapiPrimitiveTypes.html +1 -1
  100. package/docs/types/openapi.OpenapiSchemaArray.html +1 -1
  101. package/docs/types/openapi.OpenapiSchemaArrayShorthand.html +1 -1
  102. package/docs/types/openapi.OpenapiSchemaBase.html +1 -1
  103. package/docs/types/openapi.OpenapiSchemaBody.html +1 -1
  104. package/docs/types/openapi.OpenapiSchemaBodyShorthand.html +1 -1
  105. package/docs/types/openapi.OpenapiSchemaCommonFields.html +1 -1
  106. package/docs/types/openapi.OpenapiSchemaExpressionAllOf.html +1 -1
  107. package/docs/types/openapi.OpenapiSchemaExpressionAnyOf.html +1 -1
  108. package/docs/types/openapi.OpenapiSchemaExpressionOneOf.html +1 -1
  109. package/docs/types/openapi.OpenapiSchemaExpressionRef.html +1 -1
  110. package/docs/types/openapi.OpenapiSchemaExpressionRefSchemaShorthand.html +1 -1
  111. package/docs/types/openapi.OpenapiSchemaInteger.html +1 -1
  112. package/docs/types/openapi.OpenapiSchemaNull.html +1 -1
  113. package/docs/types/openapi.OpenapiSchemaNumber.html +1 -1
  114. package/docs/types/openapi.OpenapiSchemaObject.html +1 -1
  115. package/docs/types/openapi.OpenapiSchemaObjectAllOf.html +1 -1
  116. package/docs/types/openapi.OpenapiSchemaObjectAllOfShorthand.html +1 -1
  117. package/docs/types/openapi.OpenapiSchemaObjectAnyOf.html +1 -1
  118. package/docs/types/openapi.OpenapiSchemaObjectAnyOfShorthand.html +1 -1
  119. package/docs/types/openapi.OpenapiSchemaObjectBase.html +1 -1
  120. package/docs/types/openapi.OpenapiSchemaObjectBaseShorthand.html +1 -1
  121. package/docs/types/openapi.OpenapiSchemaObjectOneOf.html +1 -1
  122. package/docs/types/openapi.OpenapiSchemaObjectOneOfShorthand.html +1 -1
  123. package/docs/types/openapi.OpenapiSchemaObjectShorthand.html +1 -1
  124. package/docs/types/openapi.OpenapiSchemaPrimitiveGeneric.html +1 -1
  125. package/docs/types/openapi.OpenapiSchemaShorthandExpressionAllOf.html +1 -1
  126. package/docs/types/openapi.OpenapiSchemaShorthandExpressionAnyOf.html +1 -1
  127. package/docs/types/openapi.OpenapiSchemaShorthandExpressionOneOf.html +1 -1
  128. package/docs/types/openapi.OpenapiSchemaShorthandExpressionSerializableRef.html +1 -1
  129. package/docs/types/openapi.OpenapiSchemaShorthandExpressionSerializerRef.html +1 -1
  130. package/docs/types/openapi.OpenapiSchemaShorthandPrimitiveGeneric.html +1 -1
  131. package/docs/types/openapi.OpenapiSchemaString.html +1 -1
  132. package/docs/types/openapi.OpenapiShorthandAllTypes.html +1 -1
  133. package/docs/types/openapi.OpenapiShorthandPrimitiveBaseTypes.html +1 -1
  134. package/docs/types/openapi.OpenapiShorthandPrimitiveTypes.html +1 -1
  135. package/docs/types/openapi.OpenapiTypeField.html +1 -1
  136. package/docs/types/system.DreamAppAllowedPackageManagersEnum.html +1 -1
  137. package/docs/types/types.Camelized.html +1 -1
  138. package/docs/types/types.DbConnectionType.html +1 -1
  139. package/docs/types/types.DbTypes.html +1 -1
  140. package/docs/types/types.DreamAssociationMetadata.html +1 -1
  141. package/docs/types/types.DreamAttributes.html +1 -1
  142. package/docs/types/types.DreamClassAssociationAndStatement.html +1 -1
  143. package/docs/types/types.DreamClassColumn.html +1 -1
  144. package/docs/types/types.DreamColumn.html +1 -1
  145. package/docs/types/types.DreamColumnNames.html +1 -1
  146. package/docs/types/types.DreamLogLevel.html +1 -1
  147. package/docs/types/types.DreamLogger.html +1 -1
  148. package/docs/types/types.DreamModelSerializerType.html +1 -1
  149. package/docs/types/types.DreamOrViewModelClassSerializerKey.html +1 -1
  150. package/docs/types/types.DreamOrViewModelSerializerKey.html +1 -1
  151. package/docs/types/types.DreamParamSafeAttributes.html +1 -1
  152. package/docs/types/types.DreamParamSafeColumnNames.html +1 -1
  153. package/docs/types/types.DreamSerializable.html +1 -1
  154. package/docs/types/types.DreamSerializableArray.html +1 -1
  155. package/docs/types/types.DreamSerializerKey.html +1 -1
  156. package/docs/types/types.DreamSerializers.html +1 -1
  157. package/docs/types/types.DreamVirtualColumns.html +1 -1
  158. package/docs/types/types.EncryptAlgorithm.html +1 -1
  159. package/docs/types/types.HasManyStatement.html +1 -1
  160. package/docs/types/types.HasOneStatement.html +1 -1
  161. package/docs/types/types.Hyphenized.html +1 -1
  162. package/docs/types/types.Pascalized.html +1 -1
  163. package/docs/types/types.PrimaryKeyType.html +1 -1
  164. package/docs/types/types.RoundingPrecision.html +1 -1
  165. package/docs/types/types.SerializerCasing.html +1 -1
  166. package/docs/types/types.SimpleObjectSerializerType.html +1 -1
  167. package/docs/types/types.Snakeified.html +1 -1
  168. package/docs/types/types.StrictInterface.html +1 -1
  169. package/docs/types/types.UpdateableAssociationProperties.html +1 -1
  170. package/docs/types/types.UpdateableProperties.html +1 -1
  171. package/docs/types/types.ValidationType.html +1 -1
  172. package/docs/types/types.ViewModel.html +1 -1
  173. package/docs/types/types.ViewModelClass.html +1 -1
  174. package/docs/types/types.WhereStatementForDream.html +1 -1
  175. package/docs/types/types.WhereStatementForDreamClass.html +1 -1
  176. package/docs/variables/index.DateTime-1.html +1 -1
  177. package/docs/variables/index.DreamConst.html +1 -1
  178. package/docs/variables/index.ops.html +1 -1
  179. package/docs/variables/openapi.openapiPrimitiveTypes-1.html +1 -1
  180. package/docs/variables/openapi.openapiShorthandPrimitiveTypes-1.html +1 -1
  181. package/docs/variables/system.DreamAppAllowedPackageManagersEnumValues.html +1 -1
  182. package/docs/variables/system.primaryKeyTypes.html +1 -1
  183. package/package.json +1 -1
@@ -3,7 +3,7 @@ import Dream from '../Dream.js';
3
3
  import { ColumnNamesAccountingForJoinedAssociations, LimitStatement, OffsetStatement, OrderQueryStatement, PassthroughOnClause, WhereStatement, WhereStatementForJoinedAssociation } from '../types/associations/shared.js';
4
4
  import { DbConnectionType } from '../types/db.js';
5
5
  import { AllDefaultScopeNames, DefaultScopeName, DreamColumnNames, DreamConstructorType, DreamSerializerKey, DreamTableSchema, OrderDir, PassthroughColumnNames, PluckEachArgs, PrimaryKeyForFind, RelaxedJoinAndStatement, RelaxedJoinStatement, RelaxedPreloadOnStatement, RelaxedPreloadStatement, TableColumnNames, TableOrAssociationName } from '../types/dream.js';
6
- import { DefaultQueryTypeOptions, ExtendQueryType, LoadForModifierFn, NamespacedOrBaseModelColumnTypes, PaginatedDreamQueryOptions, PaginatedDreamQueryResult, QueryToKyselyDBType, QueryToKyselyTableNamesType, ScrollPaginatedDreamQueryOptions, ScrollPaginatedDreamQueryResult } from '../types/query.js';
6
+ import { CursorPaginatedDreamQueryOptions, CursorPaginatedDreamQueryResult, DefaultQueryTypeOptions, ExtendQueryType, LoadForModifierFn, NamespacedOrBaseModelColumnTypes, PaginatedDreamQueryOptions, PaginatedDreamQueryResult, QueryToKyselyDBType, QueryToKyselyTableNamesType } from '../types/query.js';
7
7
  import { JoinedAssociation, JoinedAssociationsTypeFromAssociations, QueryTypeOptions, VariadicJoinsArgs, VariadicLeftJoinLoadArgs, VariadicLoadArgs } from '../types/variadic.js';
8
8
  import DreamTransaction from './DreamTransaction.js';
9
9
  import QueryDriverBase from './QueryDriver/Base.js';
@@ -878,11 +878,17 @@ export default class Query<DreamInstance extends Dream, QueryTypeOpts extends Re
878
878
  allowPaginate: false;
879
879
  }> ? true : false>(this: Q, opts: Incompatible extends true ? 'paginate is incompatible with limit, offset, and leftJoinPreload'[] : PaginatedDreamQueryOptions): Promise<PaginatedDreamQueryResult<DreamInstance>>;
880
880
  /**
881
- * Fast paginates the results of your query using cursor-based pagination,
881
+ * @deprecated Use {@link cursorPaginate} instead.
882
+ *
883
+ * Paginates the results of your query using cursor-based pagination,
882
884
  * accepting a pageSize and cursor argument. This method
883
885
  * provides better performance for large datasets by using cursor-based
884
886
  * pagination instead of offset-based pagination.
885
887
  *
888
+ * Default order is ascending primary key. If an order has already been
889
+ * set on the query, and it includes the primary key (e.g.: `id: 'asc'`),
890
+ * then the implicit primary key ordering will be omitted.
891
+ *
886
892
  * ```ts
887
893
  * // First page (using undefined to start from beginning)
888
894
  * const firstPage = await User.order('email').scrollPaginate({ pageSize: 100, cursor: undefined })
@@ -899,7 +905,7 @@ export default class Query<DreamInstance extends Dream, QueryTypeOpts extends Re
899
905
  * })
900
906
  * ```
901
907
  *
902
- * @param opts - Fast pagination options
908
+ * @param opts - scroll pagination options
903
909
  * @param opts.pageSize - the number of results per page (optional)
904
910
  * @param opts.cursor - identifier of where to start the next page; undefined to start from the beginning; null when no more pages
905
911
  * @returns results.cursor - identifier for the next page, or null if no more pages
@@ -907,7 +913,42 @@ export default class Query<DreamInstance extends Dream, QueryTypeOpts extends Re
907
913
  */
908
914
  scrollPaginate<Q extends Query<DreamInstance, any>, Incompatible extends Q['queryTypeOpts'] extends Readonly<{
909
915
  allowPaginate: false;
910
- }> ? true : false>(this: Q, opts: Incompatible extends true ? 'scrollPaginate is incompatible with limit, offset, and leftJoinPreload'[] : ScrollPaginatedDreamQueryOptions): Promise<ScrollPaginatedDreamQueryResult<DreamInstance>>;
916
+ }> ? true : false>(this: Q, opts: Incompatible extends true ? 'scrollPaginate is incompatible with limit, offset, and leftJoinPreload'[] : CursorPaginatedDreamQueryOptions): Promise<CursorPaginatedDreamQueryResult<DreamInstance>>;
917
+ /**
918
+ * Paginates the results of your query using cursor-based pagination,
919
+ * accepting a pageSize and cursor argument. This method
920
+ * provides better performance for large datasets by using cursor-based
921
+ * pagination instead of offset-based pagination.
922
+ *
923
+ * Default order is descending primary key. If an order has already been
924
+ * set on the query, and it includes the primary key (e.g.: `id: 'asc'`),
925
+ * then the implicit primary key ordering will be omitted.
926
+ *
927
+ * ```ts
928
+ * // First page (using undefined to start from beginning)
929
+ * const firstPage = await User.order('email').cursorPaginate({ pageSize: 100, cursor: undefined })
930
+ * firstPage.results
931
+ * // [ { User{id: 777}, User{id: 776}, ...}]
932
+ *
933
+ * firstPage.cursor
934
+ * // "100" (or null if no more pages)
935
+ *
936
+ * // Next page using cursor from previous result
937
+ * const nextPage = await User.order('email').cursorPaginate({
938
+ * pageSize: 100,
939
+ * cursor: firstPage.cursor
940
+ * })
941
+ * ```
942
+ *
943
+ * @param opts - cursor pagination options
944
+ * @param opts.pageSize - the number of results per page (optional)
945
+ * @param opts.cursor - identifier of where to start the next page; undefined to start from the beginning; null when no more pages
946
+ * @returns results.cursor - identifier for the next page, or null if no more pages
947
+ * @returns results.results - An array of records for the current page
948
+ */
949
+ cursorPaginate<Q extends Query<DreamInstance, any>, Incompatible extends Q['queryTypeOpts'] extends Readonly<{
950
+ allowPaginate: false;
951
+ }> ? true : false>(this: Q, opts: Incompatible extends true ? 'scrollPaginate is incompatible with limit, offset, and leftJoinPreload'[] : CursorPaginatedDreamQueryOptions): Promise<CursorPaginatedDreamQueryResult<DreamInstance>>;
911
952
  /**
912
953
  * Forces use of a database connection (e.g. 'primary') during the query.
913
954
  *
@@ -88,7 +88,7 @@ export interface PaginatedDreamQueryResult<T extends Dream> {
88
88
  */
89
89
  results: T[];
90
90
  }
91
- export interface ScrollPaginatedDreamQueryOptions {
91
+ export interface CursorPaginatedDreamQueryOptions {
92
92
  /**
93
93
  * the number of records you would like to be returned in each page
94
94
  */
@@ -98,7 +98,7 @@ export interface ScrollPaginatedDreamQueryOptions {
98
98
  */
99
99
  cursor: string | null | undefined;
100
100
  }
101
- export interface ScrollPaginatedDreamQueryResult<T extends Dream> {
101
+ export interface CursorPaginatedDreamQueryResult<T extends Dream> {
102
102
  /**
103
103
  * identifier of where to start the next page; undefined to start from the beginning; null when no more pages
104
104
  */
@@ -204,7 +204,7 @@ export interface PaginatedDreamQueryResult<T extends Dream> {
204
204
  results: T[]
205
205
  }
206
206
 
207
- export interface ScrollPaginatedDreamQueryOptions {
207
+ export interface CursorPaginatedDreamQueryOptions {
208
208
  /**
209
209
  * the number of records you would like to be returned in each page
210
210
  */
@@ -216,7 +216,7 @@ export interface ScrollPaginatedDreamQueryOptions {
216
216
  cursor: string | null | undefined
217
217
  }
218
218
 
219
- export interface ScrollPaginatedDreamQueryResult<T extends Dream> {
219
+ export interface CursorPaginatedDreamQueryResult<T extends Dream> {
220
220
  /**
221
221
  * identifier of where to start the next page; undefined to start from the beginning; null when no more pages
222
222
  */
@@ -1 +1 @@
1
- window.searchData = "data:application/octet-stream;base64,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";
1
+ window.searchData = "data:application/octet-stream;base64,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";
@@ -1,4 +1,4 @@
1
- <!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>DreamMigrationHelpers | @rvoh/dream</title><meta name="description" content="Documentation for @rvoh/dream"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@rvoh/dream</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../index.html">@rvoh/dream</a></li><li><a href="../modules/db.html">db</a></li><li><a href="db.DreamMigrationHelpers.html">DreamMigrationHelpers</a></li></ul><h1>Class DreamMigrationHelpers</h1></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/f0335d7dcc0a1a22e273b2cec30b03976c59c0d5/src/db/migration-helpers/DreamMigrationHelpers.ts#L3">src/db/migration-helpers/DreamMigrationHelpers.ts:3</a></li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Constructors</h3><div class="tsd-index-list"><a href="db.DreamMigrationHelpers.html#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a>
1
+ <!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>DreamMigrationHelpers | @rvoh/dream</title><meta name="description" content="Documentation for @rvoh/dream"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@rvoh/dream</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../index.html">@rvoh/dream</a></li><li><a href="../modules/db.html">db</a></li><li><a href="db.DreamMigrationHelpers.html">DreamMigrationHelpers</a></li></ul><h1>Class DreamMigrationHelpers</h1></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/3b37f65f1a1943db93ef1c1fc64277e283c5ee75/src/db/migration-helpers/DreamMigrationHelpers.ts#L3">src/db/migration-helpers/DreamMigrationHelpers.ts:3</a></li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Constructors</h3><div class="tsd-index-list"><a href="db.DreamMigrationHelpers.html#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a>
2
2
  </div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Methods</h3><div class="tsd-index-list"><a href="db.DreamMigrationHelpers.html#addDeferrableUniqueConstraint" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>add<wbr/>Deferrable<wbr/>Unique<wbr/>Constraint</span></a>
3
3
  <a href="db.DreamMigrationHelpers.html#addEnumValue" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>add<wbr/>Enum<wbr/>Value</span></a>
4
4
  <a href="db.DreamMigrationHelpers.html#createExtension" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>create<wbr/>Extension</span></a>
@@ -16,11 +16,11 @@ indexes.</p>
16
16
  </div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">options</span>: <span class="tsd-signature-symbol">{ </span><br/><span>    </span><span class="tsd-kind-property">columns</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-property">table</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span></span><div class="tsd-comment tsd-typography"><p>Configuration options</p>
17
17
  </div><div class="tsd-comment tsd-typography"></div><ul class="tsd-parameters"><li class="tsd-parameter"><h5><span class="tsd-kind-property">columns</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></h5><div class="tsd-comment tsd-typography"><p>The names of the columns to include in the constraint</p>
18
18
  </div><div class="tsd-comment tsd-typography"></div></li><li class="tsd-parameter"><h5><span class="tsd-kind-property">table</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><p>The name of the table</p>
19
- </div><div class="tsd-comment tsd-typography"></div></li></ul></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/f0335d7dcc0a1a22e273b2cec30b03976c59c0d5/src/db/migration-helpers/DreamMigrationHelpers.ts#L41">src/db/migration-helpers/DreamMigrationHelpers.ts:41</a></li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="addEnumValue" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Static</code><span>add<wbr/>Enum<wbr/>Value</span><a href="#addEnumValue" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="addEnumValue.addEnumValue-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">add<wbr/>Enum<wbr/>Value</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">db</span>, <span class="tsd-kind-parameter">__namedParameters</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span><a href="#addEnumValue.addEnumValue-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Add a value to an enum.</p>
19
+ </div><div class="tsd-comment tsd-typography"></div></li></ul></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/3b37f65f1a1943db93ef1c1fc64277e283c5ee75/src/db/migration-helpers/DreamMigrationHelpers.ts#L41">src/db/migration-helpers/DreamMigrationHelpers.ts:41</a></li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="addEnumValue" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Static</code><span>add<wbr/>Enum<wbr/>Value</span><a href="#addEnumValue" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="addEnumValue.addEnumValue-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">add<wbr/>Enum<wbr/>Value</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">db</span>, <span class="tsd-kind-parameter">__namedParameters</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span><a href="#addEnumValue.addEnumValue-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Add a value to an enum.</p>
20
20
  <p>Note that this always includes &quot;IF NOT EXISTS&quot;, so is safe to re-run multiple times.</p>
21
21
  </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">db</span>: <span class="tsd-signature-type">Kysely</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></span><div class="tsd-comment tsd-typography"><p>The Kysely database object passed into the migration up/down function</p>
22
22
  </div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">__namedParameters</span>: <span class="tsd-signature-type">AddValueToEnumOpts</span></span><div class="tsd-comment tsd-typography"><p>The options for adding the enum value</p>
23
- </div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/f0335d7dcc0a1a22e273b2cec30b03976c59c0d5/src/db/migration-helpers/DreamMigrationHelpers.ts#L71">src/db/migration-helpers/DreamMigrationHelpers.ts:71</a></li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="createExtension" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Static</code><span>create<wbr/>Extension</span><a href="#createExtension" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="createExtension.createExtension-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">create<wbr/>Extension</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">db</span>, <span class="tsd-kind-parameter">extensionName</span>, <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span><a href="#createExtension.createExtension-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Create a database extension.</p>
23
+ </div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/3b37f65f1a1943db93ef1c1fc64277e283c5ee75/src/db/migration-helpers/DreamMigrationHelpers.ts#L71">src/db/migration-helpers/DreamMigrationHelpers.ts:71</a></li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="createExtension" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Static</code><span>create<wbr/>Extension</span><a href="#createExtension" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="createExtension.createExtension-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">create<wbr/>Extension</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">db</span>, <span class="tsd-kind-parameter">extensionName</span>, <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span><a href="#createExtension.createExtension-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Create a database extension.</p>
24
24
  <pre><code><span class="hl-1"> </span><span class="hl-7">// Add the case insensitive extension</span><br/><span class="hl-1"> </span><span class="hl-3">await</span><span class="hl-1"> </span><span class="hl-4">DreamMigrationHelpers</span><span class="hl-1">.</span><span class="hl-5">createExtension</span><span class="hl-1">(</span><span class="hl-4">db</span><span class="hl-1">, </span><span class="hl-6">&#39;citext&#39;</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">&#39;pg_trgm&#39;</span><span class="hl-1">)</span>
25
25
  </code><button>Copy</button></pre>
26
26
 
@@ -29,23 +29,23 @@ indexes.</p>
29
29
  </div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">options</span>: <span class="tsd-signature-symbol">{ </span><br/><span>    </span><span class="tsd-kind-property">ifNotExists</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-property">publicSchema</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol"> = {}</span></span><div class="tsd-comment tsd-typography"><p>Configuration options</p>
30
30
  </div><div class="tsd-comment tsd-typography"></div><ul class="tsd-parameters"><li class="tsd-parameter"><h5><code class="tsd-tag">Optional</code><span class="tsd-kind-property">if<wbr/>Not<wbr/>Exists</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span></h5><div class="tsd-comment tsd-typography"><p>Only add the extension if it doesn't already exist</p>
31
31
  </div><div class="tsd-comment tsd-typography"></div></li><li class="tsd-parameter"><h5><code class="tsd-tag">Optional</code><span class="tsd-kind-property">public<wbr/>Schema</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span></h5><div class="tsd-comment tsd-typography"><p>Create using the public schema</p>
32
- </div><div class="tsd-comment tsd-typography"></div></li></ul></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/f0335d7dcc0a1a22e273b2cec30b03976c59c0d5/src/db/migration-helpers/DreamMigrationHelpers.ts#L93">src/db/migration-helpers/DreamMigrationHelpers.ts:93</a></li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="createGinIndex" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Static</code><span>create<wbr/>Gin<wbr/>Index</span><a href="#createGinIndex" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="createGinIndex.createGinIndex-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">create<wbr/>Gin<wbr/>Index</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">db</span>, <span class="tsd-kind-parameter">indexName</span>, <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span><a href="#createGinIndex.createGinIndex-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Create a gin index</p>
32
+ </div><div class="tsd-comment tsd-typography"></div></li></ul></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/3b37f65f1a1943db93ef1c1fc64277e283c5ee75/src/db/migration-helpers/DreamMigrationHelpers.ts#L93">src/db/migration-helpers/DreamMigrationHelpers.ts:93</a></li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="createGinIndex" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Static</code><span>create<wbr/>Gin<wbr/>Index</span><a href="#createGinIndex" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="createGinIndex.createGinIndex-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">create<wbr/>Gin<wbr/>Index</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">db</span>, <span class="tsd-kind-parameter">indexName</span>, <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span><a href="#createGinIndex.createGinIndex-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Create a gin index</p>
33
33
  </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">db</span>: <span class="tsd-signature-type">Kysely</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></span><div class="tsd-comment tsd-typography"><p>The Kysely database object passed into the migration up/down function</p>
34
34
  </div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">indexName</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>The name of the constraint to create</p>
35
35
  </div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">options</span>: <span class="tsd-signature-symbol">{ </span><br/><span>    </span><span class="tsd-kind-property">column</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-property">table</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span></span><div class="tsd-comment tsd-typography"><p>Configuration options</p>
36
36
  </div><div class="tsd-comment tsd-typography"></div><ul class="tsd-parameters"><li class="tsd-parameter"><h5><span class="tsd-kind-property">column</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><p>The name of the column to index</p>
37
37
  </div><div class="tsd-comment tsd-typography"></div></li><li class="tsd-parameter"><h5><span class="tsd-kind-property">table</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><p>The name of the table</p>
38
- </div><div class="tsd-comment tsd-typography"></div></li></ul></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/f0335d7dcc0a1a22e273b2cec30b03976c59c0d5/src/db/migration-helpers/DreamMigrationHelpers.ts#L115">src/db/migration-helpers/DreamMigrationHelpers.ts:115</a></li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="dropConstraint" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Static</code><span>drop<wbr/>Constraint</span><a href="#dropConstraint" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="dropConstraint.dropConstraint-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">drop<wbr/>Constraint</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">db</span>, <span class="tsd-kind-parameter">constraintName</span>, <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span><a href="#dropConstraint.dropConstraint-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Drop a constraint</p>
38
+ </div><div class="tsd-comment tsd-typography"></div></li></ul></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/3b37f65f1a1943db93ef1c1fc64277e283c5ee75/src/db/migration-helpers/DreamMigrationHelpers.ts#L115">src/db/migration-helpers/DreamMigrationHelpers.ts:115</a></li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="dropConstraint" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Static</code><span>drop<wbr/>Constraint</span><a href="#dropConstraint" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="dropConstraint.dropConstraint-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">drop<wbr/>Constraint</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">db</span>, <span class="tsd-kind-parameter">constraintName</span>, <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span><a href="#dropConstraint.dropConstraint-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Drop a constraint</p>
39
39
  <p>Note that this always includes &quot;IF NOT EXISTS&quot;, so is safe to re-run multiple times.</p>
40
40
  </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">db</span>: <span class="tsd-signature-type">Kysely</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></span><div class="tsd-comment tsd-typography"><p>The Kysely database object passed into the migration up/down function</p>
41
41
  </div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">constraintName</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>The name of the constraint to create</p>
42
42
  </div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">options</span>: <span class="tsd-signature-symbol">{ </span><br/><span>    </span><span class="tsd-kind-property">table</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span></span><div class="tsd-comment tsd-typography"><p>Configuration options</p>
43
43
  </div><div class="tsd-comment tsd-typography"></div><ul class="tsd-parameters"><li class="tsd-parameter"><h5><span class="tsd-kind-property">table</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><p>The name of the table</p>
44
- </div><div class="tsd-comment tsd-typography"></div></li></ul></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/f0335d7dcc0a1a22e273b2cec30b03976c59c0d5/src/db/migration-helpers/DreamMigrationHelpers.ts#L138">src/db/migration-helpers/DreamMigrationHelpers.ts:138</a></li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="dropEnumValue" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Static</code><span>drop<wbr/>Enum<wbr/>Value</span><a href="#dropEnumValue" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="dropEnumValue.dropEnumValue-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">drop<wbr/>Enum<wbr/>Value</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">db</span>, <span class="tsd-kind-parameter">__namedParameters</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span><a href="#dropEnumValue.dropEnumValue-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Drop a value from an enum and replace it with a different enum already
44
+ </div><div class="tsd-comment tsd-typography"></div></li></ul></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/3b37f65f1a1943db93ef1c1fc64277e283c5ee75/src/db/migration-helpers/DreamMigrationHelpers.ts#L138">src/db/migration-helpers/DreamMigrationHelpers.ts:138</a></li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="dropEnumValue" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Static</code><span>drop<wbr/>Enum<wbr/>Value</span><a href="#dropEnumValue" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="dropEnumValue.dropEnumValue-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">drop<wbr/>Enum<wbr/>Value</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">db</span>, <span class="tsd-kind-parameter">__namedParameters</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span><a href="#dropEnumValue.dropEnumValue-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Drop a value from an enum and replace it with a different enum already
45
45
  present in the enum type (or optionally remove it from array columns).</p>
46
46
  </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">db</span>: <span class="tsd-signature-type">Kysely</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></span><div class="tsd-comment tsd-typography"><p>The Kysely database object passed into the migration up/down function</p>
47
47
  </div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">__namedParameters</span>: <span class="tsd-signature-type">DropValueFromEnumOpts</span></span><div class="tsd-comment tsd-typography"><p>The options for dropping the enum value</p>
48
- </div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/f0335d7dcc0a1a22e273b2cec30b03976c59c0d5/src/db/migration-helpers/DreamMigrationHelpers.ts#L191">src/db/migration-helpers/DreamMigrationHelpers.ts:191</a></li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="newTransaction" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Static</code><span>new<wbr/>Transaction</span><a href="#newTransaction" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="newTransaction.newTransaction-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">new<wbr/>Transaction</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#newTransaction.newTransaction-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Forces a new transaction boundary in migration execution.</p>
48
+ </div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/3b37f65f1a1943db93ef1c1fc64277e283c5ee75/src/db/migration-helpers/DreamMigrationHelpers.ts#L191">src/db/migration-helpers/DreamMigrationHelpers.ts:191</a></li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="newTransaction" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Static</code><span>new<wbr/>Transaction</span><a href="#newTransaction" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="newTransaction.newTransaction-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">new<wbr/>Transaction</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#newTransaction.newTransaction-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Forces a new transaction boundary in migration execution.</p>
49
49
  <p>When called in a migration file, this method ensures that any existing transaction
50
50
  is committed before this migration runs, and a new transaction is started before the
51
51
  migration in this file. This is essential for migrations that depend on previously
@@ -56,7 +56,7 @@ enum values to be committed to the database first.</p>
56
56
  <pre><code class="ts"><span class="hl-7">// first migration file: Add enum value</span><br/><span class="hl-3">export</span><span class="hl-1"> </span><span class="hl-0">async</span><span class="hl-1"> </span><span class="hl-0">function</span><span class="hl-1"> </span><span class="hl-5">up</span><span class="hl-1">(</span><span class="hl-4">db</span><span class="hl-1">: </span><span class="hl-9">Kysely</span><span class="hl-1">&lt;</span><span class="hl-9">any</span><span class="hl-1">&gt;): </span><span class="hl-9">Promise</span><span class="hl-1">&lt;</span><span class="hl-9">void</span><span class="hl-1">&gt; {</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">&#39;user_status&#39;</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">&#39;premium&#39;</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">&lt;</span><span class="hl-9">any</span><span class="hl-1">&gt;): </span><span class="hl-9">Promise</span><span class="hl-1">&lt;</span><span class="hl-9">void</span><span class="hl-1">&gt; {</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">&#39;users&#39;</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">&#39;check_premium_users&#39;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-5">sql</span><span class="hl-6">`status = &#39;premium&#39; OR credits &lt; 100`</span><br/><span class="hl-1"> )</span><br/><span class="hl-1"> .</span><span class="hl-5">execute</span><span class="hl-1">()</span><br/><span class="hl-1">}</span>
57
57
  </code><button type="button">Copy</button></pre>
58
58
 
59
- </div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/f0335d7dcc0a1a22e273b2cec30b03976c59c0d5/src/db/migration-helpers/DreamMigrationHelpers.ts#L179">src/db/migration-helpers/DreamMigrationHelpers.ts:179</a></li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="renameTable" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Static</code><span>rename<wbr/>Table</span><a href="#renameTable" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="renameTable.renameTable-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">rename<wbr/>Table</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">db</span>, <span class="tsd-kind-parameter">from</span>, <span class="tsd-kind-parameter">to</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span><a href="#renameTable.renameTable-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Rename a table and its associated primary key sequence.</p>
59
+ </div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/3b37f65f1a1943db93ef1c1fc64277e283c5ee75/src/db/migration-helpers/DreamMigrationHelpers.ts#L179">src/db/migration-helpers/DreamMigrationHelpers.ts:179</a></li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="renameTable" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Static</code><span>rename<wbr/>Table</span><a href="#renameTable" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="renameTable.renameTable-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">rename<wbr/>Table</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">db</span>, <span class="tsd-kind-parameter">from</span>, <span class="tsd-kind-parameter">to</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span><a href="#renameTable.renameTable-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Rename a table and its associated primary key sequence.</p>
60
60
  <p>This method renames both the table and its primary key sequence to keep them
61
61
  in sync. When PostgreSQL creates a table with a serial or bigserial primary key,
62
62
  it automatically creates a sequence named <code>{tablename}_id_seq</code>. If you only rename
@@ -66,4 +66,4 @@ key column named 'id'.</p>
66
66
  </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">db</span>: <span class="tsd-signature-type">Kysely</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></span><div class="tsd-comment tsd-typography"><p>The Kysely database object passed into the migration up/down function</p>
67
67
  </div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">from</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>The current name of the table to rename</p>
68
68
  </div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">to</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>The new name for the table</p>
69
- </div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/f0335d7dcc0a1a22e273b2cec30b03976c59c0d5/src/db/migration-helpers/DreamMigrationHelpers.ts#L19">src/db/migration-helpers/DreamMigrationHelpers.ts:19</a></li></ul></aside></li></ul></section></section></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="tsd-otp-Constructors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Constructors</summary><div><a href="#constructor" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="tsd-otp-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Methods</summary><div><a href="#addDeferrableUniqueConstraint" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>add<wbr/>Deferrable<wbr/>Unique<wbr/>Constraint</span></a><a href="#addEnumValue" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>add<wbr/>Enum<wbr/>Value</span></a><a href="#createExtension" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>create<wbr/>Extension</span></a><a href="#createGinIndex" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>create<wbr/>Gin<wbr/>Index</span></a><a href="#dropConstraint" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>drop<wbr/>Constraint</span></a><a href="#dropEnumValue" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>drop<wbr/>Enum<wbr/>Value</span></a><a href="#newTransaction" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>new<wbr/>Transaction</span></a><a href="#renameTable" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>rename<wbr/>Table</span></a></div></details></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../index.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>@rvoh/dream</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
69
+ </div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/3b37f65f1a1943db93ef1c1fc64277e283c5ee75/src/db/migration-helpers/DreamMigrationHelpers.ts#L19">src/db/migration-helpers/DreamMigrationHelpers.ts:19</a></li></ul></aside></li></ul></section></section></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="tsd-otp-Constructors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Constructors</summary><div><a href="#constructor" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="tsd-otp-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Methods</summary><div><a href="#addDeferrableUniqueConstraint" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>add<wbr/>Deferrable<wbr/>Unique<wbr/>Constraint</span></a><a href="#addEnumValue" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>add<wbr/>Enum<wbr/>Value</span></a><a href="#createExtension" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>create<wbr/>Extension</span></a><a href="#createGinIndex" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>create<wbr/>Gin<wbr/>Index</span></a><a href="#dropConstraint" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>drop<wbr/>Constraint</span></a><a href="#dropEnumValue" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>drop<wbr/>Enum<wbr/>Value</span></a><a href="#newTransaction" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>new<wbr/>Transaction</span></a><a href="#renameTable" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>rename<wbr/>Table</span></a></div></details></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../index.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>@rvoh/dream</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>