@contember/schema-migrations 1.2.0-alpha.9 → 1.2.0-beta.1

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 (188) hide show
  1. package/dist/src/Migration.d.ts +2 -0
  2. package/dist/src/Migration.d.ts.map +1 -1
  3. package/dist/src/Migration.js +2 -2
  4. package/dist/src/Migration.js.map +1 -1
  5. package/dist/src/MigrationCreator.d.ts +3 -1
  6. package/dist/src/MigrationCreator.d.ts.map +1 -1
  7. package/dist/src/MigrationCreator.js +2 -2
  8. package/dist/src/MigrationCreator.js.map +1 -1
  9. package/dist/src/MigrationFilesManager.d.ts.map +1 -1
  10. package/dist/src/MigrationFilesManager.js +10 -19
  11. package/dist/src/MigrationFilesManager.js.map +1 -1
  12. package/dist/src/MigrationsResolver.d.ts.map +1 -1
  13. package/dist/src/MigrationsResolver.js +1 -0
  14. package/dist/src/MigrationsResolver.js.map +1 -1
  15. package/dist/src/SchemaDiffer.d.ts +6 -1
  16. package/dist/src/SchemaDiffer.d.ts.map +1 -1
  17. package/dist/src/SchemaDiffer.js +12 -7
  18. package/dist/src/SchemaDiffer.js.map +1 -1
  19. package/dist/src/SchemaMigrator.d.ts +2 -1
  20. package/dist/src/SchemaMigrator.d.ts.map +1 -1
  21. package/dist/src/SchemaMigrator.js.map +1 -1
  22. package/dist/src/modifications/ModificationHandler.d.ts +7 -4
  23. package/dist/src/modifications/ModificationHandler.d.ts.map +1 -1
  24. package/dist/src/modifications/ModificationHandler.js.map +1 -1
  25. package/dist/src/modifications/ModificationHandlerFactory.d.ts +2 -2
  26. package/dist/src/modifications/ModificationHandlerFactory.d.ts.map +1 -1
  27. package/dist/src/modifications/ModificationHandlerFactory.js +2 -0
  28. package/dist/src/modifications/ModificationHandlerFactory.js.map +1 -1
  29. package/dist/src/modifications/columns/CreateColumnModification.d.ts +1 -3
  30. package/dist/src/modifications/columns/CreateColumnModification.d.ts.map +1 -1
  31. package/dist/src/modifications/columns/CreateColumnModification.js +3 -3
  32. package/dist/src/modifications/columns/CreateColumnModification.js.map +1 -1
  33. package/dist/src/modifications/columns/UpdateColumnDefinitionModification.d.ts +3 -5
  34. package/dist/src/modifications/columns/UpdateColumnDefinitionModification.d.ts.map +1 -1
  35. package/dist/src/modifications/columns/UpdateColumnDefinitionModification.js +24 -20
  36. package/dist/src/modifications/columns/UpdateColumnDefinitionModification.js.map +1 -1
  37. package/dist/src/modifications/columns/UpdateColumnNameModification.d.ts +1 -3
  38. package/dist/src/modifications/columns/UpdateColumnNameModification.d.ts.map +1 -1
  39. package/dist/src/modifications/columns/UpdateColumnNameModification.js +7 -7
  40. package/dist/src/modifications/columns/UpdateColumnNameModification.js.map +1 -1
  41. package/dist/src/modifications/constraints/CreateUniqueConstraintModification.js +2 -2
  42. package/dist/src/modifications/constraints/CreateUniqueConstraintModification.js.map +1 -1
  43. package/dist/src/modifications/differs/RemoveChangedFieldDiffer.d.ts +1 -3
  44. package/dist/src/modifications/differs/RemoveChangedFieldDiffer.d.ts.map +1 -1
  45. package/dist/src/modifications/differs/RemoveChangedViewDiffer.d.ts +1 -2
  46. package/dist/src/modifications/differs/RemoveChangedViewDiffer.d.ts.map +1 -1
  47. package/dist/src/modifications/differs/RemoveChangedViewDiffer.js +7 -20
  48. package/dist/src/modifications/differs/RemoveChangedViewDiffer.js.map +1 -1
  49. package/dist/src/modifications/entities/CreateEntityModification.d.ts.map +1 -1
  50. package/dist/src/modifications/entities/CreateEntityModification.js +2 -2
  51. package/dist/src/modifications/entities/CreateEntityModification.js.map +1 -1
  52. package/dist/src/modifications/entities/RemoveEntityModification.d.ts +2 -1
  53. package/dist/src/modifications/entities/RemoveEntityModification.d.ts.map +1 -1
  54. package/dist/src/modifications/entities/RemoveEntityModification.js.map +1 -1
  55. package/dist/src/modifications/entities/UpdateEntityNameModification.d.ts +2 -2
  56. package/dist/src/modifications/entities/UpdateEntityNameModification.d.ts.map +1 -1
  57. package/dist/src/modifications/entities/UpdateEntityNameModification.js.map +1 -1
  58. package/dist/src/modifications/fields/RemoveFieldModification.js +4 -4
  59. package/dist/src/modifications/fields/RemoveFieldModification.js.map +1 -1
  60. package/dist/src/modifications/fields/UpdateFieldNameModification.d.ts +2 -2
  61. package/dist/src/modifications/fields/UpdateFieldNameModification.d.ts.map +1 -1
  62. package/dist/src/modifications/fields/UpdateFieldNameModification.js +7 -7
  63. package/dist/src/modifications/fields/UpdateFieldNameModification.js.map +1 -1
  64. package/dist/src/modifications/indexes/CreateIndexModification.js +3 -3
  65. package/dist/src/modifications/indexes/CreateIndexModification.js.map +1 -1
  66. package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.d.ts +3 -4
  67. package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.d.ts.map +1 -1
  68. package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.js +2 -2
  69. package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.js.map +1 -1
  70. package/dist/src/modifications/relations/ConvertOneToManyRelationModification.d.ts +3 -4
  71. package/dist/src/modifications/relations/ConvertOneToManyRelationModification.d.ts.map +1 -1
  72. package/dist/src/modifications/relations/ConvertOneToManyRelationModification.js +10 -2
  73. package/dist/src/modifications/relations/ConvertOneToManyRelationModification.js.map +1 -1
  74. package/dist/src/modifications/relations/CreateRelationInverseSideModification.d.ts +1 -3
  75. package/dist/src/modifications/relations/CreateRelationInverseSideModification.d.ts.map +1 -1
  76. package/dist/src/modifications/relations/CreateRelationModification.d.ts +3 -4
  77. package/dist/src/modifications/relations/CreateRelationModification.d.ts.map +1 -1
  78. package/dist/src/modifications/relations/CreateRelationModification.js +17 -6
  79. package/dist/src/modifications/relations/CreateRelationModification.js.map +1 -1
  80. package/dist/src/modifications/relations/DisableOrphanRemovalModification.d.ts +1 -3
  81. package/dist/src/modifications/relations/DisableOrphanRemovalModification.d.ts.map +1 -1
  82. package/dist/src/modifications/relations/EnableOrphanRemovalModification.d.ts +1 -3
  83. package/dist/src/modifications/relations/EnableOrphanRemovalModification.d.ts.map +1 -1
  84. package/dist/src/modifications/relations/MakeRelationNotNullModification.d.ts +1 -3
  85. package/dist/src/modifications/relations/MakeRelationNotNullModification.d.ts.map +1 -1
  86. package/dist/src/modifications/relations/MakeRelationNullableModification.d.ts +1 -3
  87. package/dist/src/modifications/relations/MakeRelationNullableModification.d.ts.map +1 -1
  88. package/dist/src/modifications/relations/ToggleJunctionEventLogModification.d.ts +1 -3
  89. package/dist/src/modifications/relations/ToggleJunctionEventLogModification.d.ts.map +1 -1
  90. package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.d.ts +1 -3
  91. package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.d.ts.map +1 -1
  92. package/dist/src/modifications/relations/UpdateRelationOrderByModification.d.ts +1 -3
  93. package/dist/src/modifications/relations/UpdateRelationOrderByModification.d.ts.map +1 -1
  94. package/dist/src/modifications/settings/UpdateSettingsModification.d.ts +28 -0
  95. package/dist/src/modifications/settings/UpdateSettingsModification.d.ts.map +1 -0
  96. package/dist/src/modifications/settings/UpdateSettingsModification.js +64 -0
  97. package/dist/src/modifications/settings/UpdateSettingsModification.js.map +1 -0
  98. package/dist/src/modifications/settings/index.d.ts +2 -0
  99. package/dist/src/modifications/settings/index.d.ts.map +1 -0
  100. package/dist/src/modifications/settings/index.js +18 -0
  101. package/dist/src/modifications/settings/index.js.map +1 -0
  102. package/dist/src/modifications/utils/columnUtils.d.ts +3 -0
  103. package/dist/src/modifications/utils/columnUtils.d.ts.map +1 -0
  104. package/dist/src/modifications/utils/columnUtils.js +9 -0
  105. package/dist/src/modifications/utils/columnUtils.js.map +1 -0
  106. package/dist/src/modifications/utils/createJunctionTable.d.ts +2 -1
  107. package/dist/src/modifications/utils/createJunctionTable.d.ts.map +1 -1
  108. package/dist/src/modifications/utils/createJunctionTable.js +7 -5
  109. package/dist/src/modifications/utils/createJunctionTable.js.map +1 -1
  110. package/dist/src/modifications/utils/diffUtils.d.ts +14 -12
  111. package/dist/src/modifications/utils/diffUtils.d.ts.map +1 -1
  112. package/dist/src/modifications/utils/diffUtils.js.map +1 -1
  113. package/dist/src/modifications/utils/schemaMeta.d.ts +8 -0
  114. package/dist/src/modifications/utils/schemaMeta.d.ts.map +1 -0
  115. package/dist/src/modifications/utils/schemaMeta.js +13 -0
  116. package/dist/src/modifications/utils/schemaMeta.js.map +1 -0
  117. package/dist/src/modifications/utils/schemaUpdateUtils.d.ts +4 -2
  118. package/dist/src/modifications/utils/schemaUpdateUtils.d.ts.map +1 -1
  119. package/dist/src/modifications/utils/schemaUpdateUtils.js +24 -2
  120. package/dist/src/modifications/utils/schemaUpdateUtils.js.map +1 -1
  121. package/dist/src/modifications/utils/viewDependencies.d.ts +4 -2
  122. package/dist/src/modifications/utils/viewDependencies.d.ts.map +1 -1
  123. package/dist/src/modifications/utils/viewDependencies.js +29 -6
  124. package/dist/src/modifications/utils/viewDependencies.js.map +1 -1
  125. package/dist/src/tsconfig.tsbuildinfo +1 -1
  126. package/dist/tests/cases/integration/convertOneHasManyToManyHasManyRelation.test.js +3 -2
  127. package/dist/tests/cases/integration/convertOneHasManyToManyHasManyRelation.test.js.map +1 -1
  128. package/dist/tests/cases/integration/createColumn.test.js +36 -0
  129. package/dist/tests/cases/integration/createColumn.test.js.map +1 -1
  130. package/dist/tests/cases/integration/createManyHasMany.test.js +3 -2
  131. package/dist/tests/cases/integration/createManyHasMany.test.js.map +1 -1
  132. package/dist/tests/cases/integration/createView.test.js +80 -0
  133. package/dist/tests/cases/integration/createView.test.js.map +1 -1
  134. package/dist/tests/cases/integration/removeField.test.js +72 -0
  135. package/dist/tests/cases/integration/removeField.test.js.map +1 -1
  136. package/dist/tests/cases/integration/takenIndexName.test.d.ts +2 -0
  137. package/dist/tests/cases/integration/takenIndexName.test.d.ts.map +1 -0
  138. package/dist/tests/cases/integration/takenIndexName.test.js +307 -0
  139. package/dist/tests/cases/integration/takenIndexName.test.js.map +1 -0
  140. package/dist/tests/cases/integration/updateColumnDefinition.test.js +160 -0
  141. package/dist/tests/cases/integration/updateColumnDefinition.test.js.map +1 -1
  142. package/dist/tests/scripts/checkCreateConsistentMigrations.js +5 -4
  143. package/dist/tests/scripts/checkCreateConsistentMigrations.js.map +1 -1
  144. package/dist/tests/src/tests.d.ts.map +1 -1
  145. package/dist/tests/src/tests.js +15 -5
  146. package/dist/tests/src/tests.js.map +1 -1
  147. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  148. package/package.json +6 -6
  149. package/src/Migration.ts +3 -1
  150. package/src/MigrationCreator.ts +2 -1
  151. package/src/MigrationFilesManager.ts +10 -20
  152. package/src/MigrationsResolver.ts +1 -0
  153. package/src/SchemaDiffer.ts +18 -7
  154. package/src/SchemaMigrator.ts +2 -1
  155. package/src/modifications/ModificationHandler.ts +5 -4
  156. package/src/modifications/ModificationHandlerFactory.ts +4 -1
  157. package/src/modifications/columns/CreateColumnModification.ts +3 -2
  158. package/src/modifications/columns/UpdateColumnDefinitionModification.ts +33 -24
  159. package/src/modifications/columns/UpdateColumnNameModification.ts +42 -42
  160. package/src/modifications/constraints/CreateUniqueConstraintModification.ts +2 -2
  161. package/src/modifications/differs/RemoveChangedViewDiffer.ts +9 -22
  162. package/src/modifications/entities/CreateEntityModification.ts +2 -1
  163. package/src/modifications/entities/RemoveEntityModification.ts +2 -1
  164. package/src/modifications/entities/UpdateEntityNameModification.ts +2 -1
  165. package/src/modifications/fields/RemoveFieldModification.ts +4 -4
  166. package/src/modifications/fields/UpdateFieldNameModification.ts +9 -8
  167. package/src/modifications/indexes/CreateIndexModification.ts +3 -3
  168. package/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.ts +13 -4
  169. package/src/modifications/relations/ConvertOneToManyRelationModification.ts +19 -3
  170. package/src/modifications/relations/CreateRelationModification.ts +33 -11
  171. package/src/modifications/settings/UpdateSettingsModification.ts +87 -0
  172. package/src/modifications/settings/index.ts +1 -0
  173. package/src/modifications/utils/columnUtils.ts +5 -0
  174. package/src/modifications/utils/createJunctionTable.ts +7 -5
  175. package/src/modifications/utils/diffUtils.ts +12 -12
  176. package/src/modifications/utils/schemaMeta.ts +18 -0
  177. package/src/modifications/utils/schemaUpdateUtils.ts +22 -2
  178. package/src/modifications/utils/viewDependencies.ts +28 -5
  179. package/src/tsconfig.json +2 -2
  180. package/tests/cases/integration/convertOneHasManyToManyHasManyRelation.test.ts +3 -2
  181. package/tests/cases/integration/createColumn.test.ts +33 -0
  182. package/tests/cases/integration/createManyHasMany.test.ts +3 -2
  183. package/tests/cases/integration/createView.test.ts +70 -0
  184. package/tests/cases/integration/removeField.test.ts +58 -0
  185. package/tests/cases/integration/takenIndexName.test.ts +314 -0
  186. package/tests/cases/integration/updateColumnDefinition.test.ts +138 -1
  187. package/tests/scripts/checkCreateConsistentMigrations.ts +3 -2
  188. package/tests/src/tests.ts +21 -11
@@ -1,7 +1,9 @@
1
+ import { SchemaValidatorSkippedErrors } from '@contember/schema-utils';
1
2
  export interface MigrationInfo {
2
3
  readonly version: string;
3
4
  readonly name: string;
4
5
  readonly formatVersion: number;
6
+ readonly skippedErrors?: SchemaValidatorSkippedErrors[];
5
7
  }
6
8
  interface Migration extends MigrationInfo {
7
9
  readonly modifications: readonly Migration.Modification[];
@@ -1 +1 @@
1
- {"version":3,"file":"Migration.d.ts","sourceRoot":"","sources":["../../src/Migration.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CAC9B;AAED,UAAU,SAAU,SAAQ,aAAa;IACxC,QAAQ,CAAC,aAAa,EAAE,SAAS,SAAS,CAAC,YAAY,EAAE,CAAA;CACzD;AAED,kBAAU,SAAS,CAAC;IACnB,KAAY,YAAY,CAAC,IAAI,GAAG;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,IAAI;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;CAC3F;AAED,eAAO,MAAM,0BAA0B,cAAe,SAAS,KAAG,MAMjE,CAAA;AACD,OAAO,EAAE,SAAS,EAAE,CAAA"}
1
+ {"version":3,"file":"Migration.d.ts","sourceRoot":"","sources":["../../src/Migration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAA;AAGtE,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,4BAA4B,EAAE,CAAA;CACvD;AAED,UAAU,SAAU,SAAQ,aAAa;IACxC,QAAQ,CAAC,aAAa,EAAE,SAAS,SAAS,CAAC,YAAY,EAAE,CAAA;CACzD;AAED,kBAAU,SAAS,CAAC;IACnB,KAAY,YAAY,CAAC,IAAI,GAAG;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,IAAI;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;CAC3F;AAED,eAAO,MAAM,0BAA0B,cAAe,SAAS,KAAG,MAMjE,CAAA;AACD,OAAO,EAAE,SAAS,EAAE,CAAA"}
@@ -4,10 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.calculateMigrationChecksum = void 0;
7
- const crypto_1 = __importDefault(require("crypto"));
7
+ const node_crypto_1 = __importDefault(require("node:crypto"));
8
8
  const calculateMigrationChecksum = (migration) => {
9
9
  const canonicalMigration = JSON.stringify(migration.modifications);
10
- return crypto_1.default //
10
+ return node_crypto_1.default //
11
11
  .createHash('md5')
12
12
  .update(canonicalMigration)
13
13
  .digest('hex');
@@ -1 +1 @@
1
- {"version":3,"file":"Migration.js","sourceRoot":"","sources":["../../src/Migration.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA2B;AAgBpB,MAAM,0BAA0B,GAAG,CAAC,SAAoB,EAAU,EAAE;IAC1E,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;IAClE,OAAO,gBAAM,CAAC,EAAE;SACd,UAAU,CAAC,KAAK,CAAC;SACjB,MAAM,CAAC,kBAAkB,CAAC;SAC1B,MAAM,CAAC,KAAK,CAAC,CAAA;AAChB,CAAC,CAAA;AANY,QAAA,0BAA0B,8BAMtC"}
1
+ {"version":3,"file":"Migration.js","sourceRoot":"","sources":["../../src/Migration.ts"],"names":[],"mappings":";;;;;;AACA,8DAAgC;AAiBzB,MAAM,0BAA0B,GAAG,CAAC,SAAoB,EAAU,EAAE;IAC1E,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;IAClE,OAAO,qBAAM,CAAC,EAAE;SACd,UAAU,CAAC,KAAK,CAAC;SACjB,MAAM,CAAC,kBAAkB,CAAC;SAC1B,MAAM,CAAC,KAAK,CAAC,CAAA;AAChB,CAAC,CAAA;AANY,QAAA,0BAA0B,8BAMtC"}
@@ -6,7 +6,9 @@ export declare class MigrationCreator {
6
6
  private readonly migrationFilesManager;
7
7
  private readonly schemaDiffer;
8
8
  constructor(migrationFilesManager: MigrationFilesManager, schemaDiffer: SchemaDiffer);
9
- prepareMigration(initialSchema: Schema, newSchema: Schema, migrationName: string): Promise<{
9
+ prepareMigration(initialSchema: Schema, newSchema: Schema, migrationName: string, { skipInitialSchemaValidation }?: {
10
+ skipInitialSchemaValidation?: boolean;
11
+ }): Promise<{
10
12
  migration: Migration;
11
13
  initialSchema: Schema;
12
14
  } | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationCreator.d.ts","sourceRoot":"","sources":["../../src/MigrationCreator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAGvC,qBAAa,gBAAgB;IAE3B,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY;gBADZ,qBAAqB,EAAE,qBAAqB,EAC5C,YAAY,EAAE,YAAY;IAGtC,gBAAgB,CACrB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GACnB,OAAO,CAAC;QAAE,SAAS,EAAE,SAAS,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAa5D,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAMpD,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD,OAAO,CAAC,eAAe;WAKT,aAAa,CAAC,EAAE,aAAa,EAAE,aAAa,EAAE,EAAE,SAAS,GAAG,MAAM;CAGhF"}
1
+ {"version":3,"file":"MigrationCreator.d.ts","sourceRoot":"","sources":["../../src/MigrationCreator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAGvC,qBAAa,gBAAgB;IAE3B,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY;gBADZ,qBAAqB,EAAE,qBAAqB,EAC5C,YAAY,EAAE,YAAY;IAGtC,gBAAgB,CACrB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,EAAE,2BAAmC,EAAE,GAAE;QAAE,2BAA2B,CAAC,EAAE,OAAO,CAAA;KAAO,GACrF,OAAO,CAAC;QAAE,SAAS,EAAE,SAAS,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAa5D,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAMpD,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD,OAAO,CAAC,eAAe;WAKT,aAAa,CAAC,EAAE,aAAa,EAAE,aAAa,EAAE,EAAE,SAAS,GAAG,MAAM;CAGhF"}
@@ -8,9 +8,9 @@ class MigrationCreator {
8
8
  this.migrationFilesManager = migrationFilesManager;
9
9
  this.schemaDiffer = schemaDiffer;
10
10
  }
11
- async prepareMigration(initialSchema, newSchema, migrationName) {
11
+ async prepareMigration(initialSchema, newSchema, migrationName, { skipInitialSchemaValidation = false } = {}) {
12
12
  await this.migrationFilesManager.createDirIfNotExist();
13
- const modifications = this.schemaDiffer.diffSchemas(initialSchema, newSchema);
13
+ const modifications = this.schemaDiffer.diffSchemas(initialSchema, newSchema, { skipInitialSchemaValidation });
14
14
  if (modifications.length === 0) {
15
15
  return null;
16
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationCreator.js","sourceRoot":"","sources":["../../src/MigrationCreator.ts"],"names":[],"mappings":";;;AAGA,+EAAqE;AAErE,qEAAiE;AAEjE,MAAa,gBAAgB;IAC5B,YACkB,qBAA4C,EAC5C,YAA0B;QAD1B,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,iBAAY,GAAZ,YAAY,CAAc;IACzC,CAAC;IAEJ,KAAK,CAAC,gBAAgB,CACrB,aAAqB,EACrB,SAAiB,EACjB,aAAqB;QAErB,MAAM,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,EAAE,CAAA;QAEtD,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,aAAa,EAAE,SAAS,CAAC,CAAA;QAC7E,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,OAAO,IAAI,CAAA;SACX;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,aAAa,CAAC,CAAA;QAEpE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,SAAoB;QACvC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;QAC1D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;QACtF,OAAO,QAAQ,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAY;QACjC,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IAClD,CAAC;IAEO,eAAe,CAAC,aAAuC,EAAE,IAAY;QAC5E,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,+CAAsB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QACtE,OAAO,EAAE,aAAa,EAAE,qCAAc,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;IACjF,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,EAAE,aAAa,EAAE,aAAa,EAAa;QACtE,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,IAAI,CAAA;IAChF,CAAC;CACD;AAzCD,4CAyCC"}
1
+ {"version":3,"file":"MigrationCreator.js","sourceRoot":"","sources":["../../src/MigrationCreator.ts"],"names":[],"mappings":";;;AAGA,+EAAqE;AAErE,qEAAiE;AAEjE,MAAa,gBAAgB;IAC5B,YACkB,qBAA4C,EAC5C,YAA0B;QAD1B,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,iBAAY,GAAZ,YAAY,CAAc;IACzC,CAAC;IAEJ,KAAK,CAAC,gBAAgB,CACrB,aAAqB,EACrB,SAAiB,EACjB,aAAqB,EACrB,EAAE,2BAA2B,GAAG,KAAK,KAAgD,EAAE;QAEvF,MAAM,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,EAAE,CAAA;QAEtD,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,aAAa,EAAE,SAAS,EAAE,EAAE,2BAA2B,EAAE,CAAC,CAAA;QAC9G,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,OAAO,IAAI,CAAA;SACX;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,aAAa,CAAC,CAAA;QAEpE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,SAAoB;QACvC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;QAC1D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;QACtF,OAAO,QAAQ,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAY;QACjC,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IAClD,CAAC;IAEO,eAAe,CAAC,aAAuC,EAAE,IAAY;QAC5E,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,+CAAsB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QACtE,OAAO,EAAE,aAAa,EAAE,qCAAc,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;IACjF,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,EAAE,aAAa,EAAE,aAAa,EAAa;QACtE,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,IAAI,CAAA;IAChF,CAAC;CACD;AA1CD,4CA0CC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationFilesManager.d.ts","sourceRoot":"","sources":["../../src/MigrationFilesManager.ts"],"names":[],"mappings":"AAcA,cAAM,qBAAqB;aACE,SAAS,EAAE,MAAM;gBAAjB,SAAS,EAAE,MAAM;IAEhC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAM1D,UAAU,CAAC,IAAI,EAAE,MAAM;IAKvB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAIzC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAUpC,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YAa7B,UAAU;IAWX,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,qBAAqB,CAAC,aAAa,EAAE,CAAC;WAclG,gBAAgB,CAAC,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,qBAAqB;IAKrG,OAAO,CAAC,UAAU;CAKlB;AAED,kBAAU,qBAAqB,CAAC;IAC/B,KAAY,aAAa,GAAG;QAC3B,QAAQ,EAAE,MAAM,CAAA;QAChB,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,MAAM,CAAA;KACf,CAAA;CACD;AAED,OAAO,EAAE,qBAAqB,EAAE,CAAA"}
1
+ {"version":3,"file":"MigrationFilesManager.d.ts","sourceRoot":"","sources":["../../src/MigrationFilesManager.ts"],"names":[],"mappings":"AAIA,cAAM,qBAAqB;aACE,SAAS,EAAE,MAAM;gBAAjB,SAAS,EAAE,MAAM;IAEhC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAM1D,UAAU,CAAC,IAAI,EAAE,MAAM;IAKvB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAIzC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAUpC,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YAa7B,UAAU;IAWX,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,qBAAqB,CAAC,aAAa,EAAE,CAAC;WAclG,gBAAgB,CAAC,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,qBAAqB;IAKrG,OAAO,CAAC,UAAU;CAKlB;AAED,kBAAU,qBAAqB,CAAC;IAC/B,KAAY,aAAa,GAAG;QAC3B,QAAQ,EAAE,MAAM,CAAA;QAChB,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,MAAM,CAAA;KACf,CAAA;CACD;AAED,OAAO,EAAE,qBAAqB,EAAE,CAAA"}
@@ -25,36 +25,27 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.MigrationFilesManager = void 0;
27
27
  const MigrationVersionHelper_1 = require("./MigrationVersionHelper");
28
- const fs = __importStar(require("fs"));
29
- const util_1 = require("util");
30
- const path = __importStar(require("path"));
31
- const readFile = (0, util_1.promisify)(fs.readFile);
32
- const fsWrite = (0, util_1.promisify)(fs.writeFile);
33
- const fsRemove = (0, util_1.promisify)(fs.unlink);
34
- const fsRealpath = (0, util_1.promisify)(fs.realpath);
35
- const mkdir = (0, util_1.promisify)(fs.mkdir);
36
- const lstatFile = (0, util_1.promisify)(fs.lstat);
37
- const readDir = (0, util_1.promisify)(fs.readdir);
38
- const mvFile = (0, util_1.promisify)(fs.rename);
28
+ const fs = __importStar(require("node:fs/promises"));
29
+ const path = __importStar(require("node:path"));
39
30
  class MigrationFilesManager {
40
31
  constructor(directory) {
41
32
  this.directory = directory;
42
33
  }
43
34
  async createFile(content, name) {
44
35
  const path = this.formatPath(name);
45
- await fsWrite(path, content, { encoding: 'utf8' });
46
- return await fsRealpath(path);
36
+ await fs.writeFile(path, content, { encoding: 'utf8' });
37
+ return await fs.realpath(path);
47
38
  }
48
39
  async removeFile(name) {
49
40
  const path = this.formatPath(name);
50
- await fsRemove(path);
41
+ await fs.unlink(path);
51
42
  }
52
43
  async moveFile(oldName, newName) {
53
- await mvFile(this.formatPath(oldName), this.formatPath(newName));
44
+ await fs.rename(this.formatPath(oldName), this.formatPath(newName));
54
45
  }
55
46
  async createDirIfNotExist() {
56
47
  try {
57
- await mkdir(this.directory);
48
+ await fs.mkdir(this.directory);
58
49
  }
59
50
  catch (e) {
60
51
  if (!(e instanceof Error) || !('code' in e) || e.code !== 'EEXIST') {
@@ -67,13 +58,13 @@ class MigrationFilesManager {
67
58
  const filteredFiles = await Promise.all(files
68
59
  .filter(file => file.endsWith(`.json`))
69
60
  .filter(async (file) => {
70
- return (await lstatFile(`${this.directory}/${file}`)).isFile();
61
+ return (await fs.lstat(`${this.directory}/${file}`)).isFile();
71
62
  }));
72
63
  return filteredFiles.sort();
73
64
  }
74
65
  async tryReadDir() {
75
66
  try {
76
- return await readDir(this.directory);
67
+ return await fs.readdir(this.directory);
77
68
  }
78
69
  catch (e) {
79
70
  if (e instanceof Error && 'code' in e && e.code === 'ENOENT') {
@@ -90,7 +81,7 @@ class MigrationFilesManager {
90
81
  const filesWithContent = files.map(async (filename) => ({
91
82
  filename: filename,
92
83
  path: `${this.directory}/${filename}`,
93
- content: await readFile(`${this.directory}/${filename}`, { encoding: 'utf8' }),
84
+ content: await fs.readFile(`${this.directory}/${filename}`, { encoding: 'utf8' }),
94
85
  }));
95
86
  return await Promise.all(filesWithContent);
96
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationFilesManager.js","sourceRoot":"","sources":["../../src/MigrationFilesManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MigrationFilesManager.js","sourceRoot":"","sources":["../../src/MigrationFilesManager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationsResolver.d.ts","sourceRoot":"","sources":["../../src/MigrationsResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAG/D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,qBAAa,kBAAkB;IAClB,OAAO,CAAC,QAAQ,CAAC,qBAAqB;gBAArB,qBAAqB,EAAE,qBAAqB;IAEzE,IAAW,SAAS,IAAI,MAAM,CAE7B;IAEY,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;CAWlD"}
1
+ {"version":3,"file":"MigrationsResolver.d.ts","sourceRoot":"","sources":["../../src/MigrationsResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAG/D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,qBAAa,kBAAkB;IAClB,OAAO,CAAC,QAAQ,CAAC,qBAAqB;gBAArB,qBAAqB,EAAE,qBAAqB;IAEzE,IAAW,SAAS,IAAI,MAAM,CAE7B;IAEY,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;CAYlD"}
@@ -18,6 +18,7 @@ class MigrationsResolver {
18
18
  name: MigrationVersionHelper_1.MigrationVersionHelper.extractName(filename),
19
19
  formatVersion: parsed.formatVersion || ModificationVersions_1.VERSION_INITIAL,
20
20
  modifications: parsed.modifications,
21
+ ...(parsed.skippedErrors ? { skippedErrors: parsed.skippedErrors } : {}),
21
22
  };
22
23
  });
23
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationsResolver.js","sourceRoot":"","sources":["../../src/MigrationsResolver.ts"],"names":[],"mappings":";;;AACA,+EAAsE;AACtE,qEAAiE;AAGjE,MAAa,kBAAkB;IAC9B,YAA6B,qBAA4C;QAA5C,0BAAqB,GAArB,qBAAqB,CAAuB;IAAG,CAAC;IAE7E,IAAW,SAAS;QACnB,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAA;IAC5C,CAAC;IAEM,KAAK,CAAC,aAAa;QACzB,OAAO,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;YACnF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAClC,OAAO;gBACN,OAAO,EAAE,+CAAsB,CAAC,cAAc,CAAC,QAAQ,CAAC;gBACxD,IAAI,EAAE,+CAAsB,CAAC,WAAW,CAAC,QAAQ,CAAC;gBAClD,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,sCAAe;gBACtD,aAAa,EAAE,MAAM,CAAC,aAAa;aACnC,CAAA;QACF,CAAC,CAAC,CAAA;IACH,CAAC;CACD;AAlBD,gDAkBC"}
1
+ {"version":3,"file":"MigrationsResolver.js","sourceRoot":"","sources":["../../src/MigrationsResolver.ts"],"names":[],"mappings":";;;AACA,+EAAsE;AACtE,qEAAiE;AAGjE,MAAa,kBAAkB;IAC9B,YAA6B,qBAA4C;QAA5C,0BAAqB,GAArB,qBAAqB,CAAuB;IAAG,CAAC;IAE7E,IAAW,SAAS;QACnB,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAA;IAC5C,CAAC;IAEM,KAAK,CAAC,aAAa;QACzB,OAAO,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;YACnF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAClC,OAAO;gBACN,OAAO,EAAE,+CAAsB,CAAC,cAAc,CAAC,QAAQ,CAAC;gBACxD,IAAI,EAAE,+CAAsB,CAAC,WAAW,CAAC,QAAQ,CAAC;gBAClD,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,sCAAe;gBACtD,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxE,CAAA;QACF,CAAC,CAAC,CAAA;IACH,CAAC;CACD;AAnBD,gDAmBC"}
@@ -2,13 +2,18 @@ import { Schema } from '@contember/schema';
2
2
  import { ValidationError } from '@contember/schema-utils';
3
3
  import { SchemaMigrator } from './SchemaMigrator';
4
4
  import { Migration } from './Migration';
5
+ declare type DiffOptions = {
6
+ skipRecreateValidation?: boolean;
7
+ skipInitialSchemaValidation?: boolean;
8
+ };
5
9
  export declare class SchemaDiffer {
6
10
  private readonly schemaMigrator;
7
11
  constructor(schemaMigrator: SchemaMigrator);
8
- diffSchemas(originalSchema: Schema, updatedSchema: Schema, checkRecreate?: boolean): Migration.Modification[];
12
+ diffSchemas(originalSchema: Schema, updatedSchema: Schema, { skipInitialSchemaValidation, skipRecreateValidation, }?: DiffOptions): Migration.Modification[];
9
13
  }
10
14
  export declare class InvalidSchemaException extends Error {
11
15
  readonly validationErrors: ValidationError[];
12
16
  constructor(message: string, validationErrors: ValidationError[]);
13
17
  }
18
+ export {};
14
19
  //# sourceMappingURL=SchemaDiffer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaDiffer.d.ts","sourceRoot":"","sources":["../../src/SchemaDiffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAMN,eAAe,EACf,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAoCvC,qBAAa,YAAY;IACZ,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAAd,cAAc,EAAE,cAAc;IAE3D,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,GAAE,OAAc,GAAG,SAAS,CAAC,YAAY,EAAE;CAsEnH;AAED,qBAAa,sBAAuB,SAAQ,KAAK;aACH,gBAAgB,EAAE,eAAe,EAAE;gBAApE,OAAO,EAAE,MAAM,EAAkB,gBAAgB,EAAE,eAAe,EAAE;CAGhF"}
1
+ {"version":3,"file":"SchemaDiffer.d.ts","sourceRoot":"","sources":["../../src/SchemaDiffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAMN,eAAe,EACf,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAsCvC,aAAK,WAAW,GAAG;IAAE,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAAC,2BAA2B,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAE9F,qBAAa,YAAY;IACZ,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAAd,cAAc,EAAE,cAAc;IAE3D,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,EAC1D,2BAAmC,EACnC,sBAA8B,GAC9B,GAAE,WAAgB,GAAG,SAAS,CAAC,YAAY,EAAE;CA0E9C;AAED,qBAAa,sBAAuB,SAAQ,KAAK;aACH,gBAAgB,EAAE,eAAe,EAAE;gBAApE,OAAO,EAAE,MAAM,EAAkB,gBAAgB,EAAE,eAAe,EAAE;CAGhF"}
@@ -6,20 +6,24 @@ const exceptions_1 = require("./exceptions");
6
6
  const modifications_1 = require("./modifications");
7
7
  const differs_1 = require("./modifications/differs");
8
8
  const indexes_1 = require("./modifications/indexes");
9
+ const settings_1 = require("./modifications/settings");
9
10
  class SchemaDiffer {
10
11
  constructor(schemaMigrator) {
11
12
  this.schemaMigrator = schemaMigrator;
12
13
  }
13
- diffSchemas(originalSchema, updatedSchema, checkRecreate = true) {
14
- const originalErrors = schema_utils_1.SchemaValidator.validate(originalSchema);
15
- if (originalErrors.length > 0) {
16
- throw new InvalidSchemaException('original schema is not valid', originalErrors);
14
+ diffSchemas(originalSchema, updatedSchema, { skipInitialSchemaValidation = false, skipRecreateValidation = false, } = {}) {
15
+ if (!skipInitialSchemaValidation) {
16
+ const originalErrors = schema_utils_1.SchemaValidator.validate(originalSchema);
17
+ if (originalErrors.length > 0) {
18
+ throw new InvalidSchemaException('original schema is not valid', originalErrors);
19
+ }
17
20
  }
18
21
  const updatedErrors = schema_utils_1.SchemaValidator.validate(updatedSchema);
19
22
  if (updatedErrors.length > 0) {
20
23
  throw new InvalidSchemaException('updated schema is not valid', updatedErrors);
21
24
  }
22
25
  const differs = [
26
+ new settings_1.UpdateSettingsDiffer(),
23
27
  new modifications_1.ConvertOneToManyRelationDiffer(),
24
28
  new modifications_1.ConvertOneHasManyToManyHasManyRelationDiffer(),
25
29
  new modifications_1.RemoveUniqueConstraintDiffer(),
@@ -45,8 +49,8 @@ class SchemaDiffer {
45
49
  new differs_1.RemoveChangedFieldDiffer(it => (0, schema_utils_1.isRelation)(it) && (0, schema_utils_1.isInverseRelation)(it)),
46
50
  new modifications_1.CreateEntityDiffer(),
47
51
  new modifications_1.CreateColumnDiffer(),
48
- new modifications_1.CreateViewDiffer(),
49
52
  new modifications_1.CreateRelationDiffer(),
53
+ new modifications_1.CreateViewDiffer(),
50
54
  new modifications_1.CreateRelationInverseSideDiffer(),
51
55
  new modifications_1.CreateUniqueConstraintDiffer(),
52
56
  new indexes_1.CreateIndexDiffer(),
@@ -61,8 +65,9 @@ class SchemaDiffer {
61
65
  appliedDiffsSchema = this.schemaMigrator.applyModifications(appliedDiffsSchema, differDiffs, modifications_1.VERSION_LATEST);
62
66
  diffs.push(...differDiffs);
63
67
  }
64
- if (checkRecreate) {
65
- const errors = (0, schema_utils_1.deepCompare)(updatedSchema, appliedDiffsSchema, []);
68
+ if (!skipRecreateValidation) {
69
+ const { meta, ...appliedDiffsSchema2 } = appliedDiffsSchema;
70
+ const errors = (0, schema_utils_1.deepCompare)(updatedSchema, appliedDiffsSchema2, []);
66
71
  if (errors.length === 0) {
67
72
  return diffs;
68
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaDiffer.js","sourceRoot":"","sources":["../../src/SchemaDiffer.ts"],"names":[],"mappings":";;;AACA,0DAOgC;AAGhC,6CAAsD;AACtD,mDA8BwB;AACxB,qDAAoH;AACpH,qDAA8E;AAE9E,MAAa,YAAY;IACxB,YAA6B,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;IAAG,CAAC;IAE/D,WAAW,CAAC,cAAsB,EAAE,aAAqB,EAAE,gBAAyB,IAAI;QACvF,MAAM,cAAc,GAAG,8BAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;QAC/D,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9B,MAAM,IAAI,sBAAsB,CAAC,8BAA8B,EAAE,cAAc,CAAC,CAAA;SAChF;QACD,MAAM,aAAa,GAAG,8BAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;QAC7D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7B,MAAM,IAAI,sBAAsB,CAAC,6BAA6B,EAAE,aAAa,CAAC,CAAA;SAC9E;QAED,MAAM,OAAO,GAAa;YACzB,IAAI,8CAA8B,EAAE;YACpC,IAAI,4DAA4C,EAAE;YAClD,IAAI,4CAA4B,EAAE;YAClC,IAAI,2BAAiB,EAAE;YACvB,IAAI,iCAAuB,EAAE;YAC7B,IAAI,iCAAuB,EAAE;YAC7B,IAAI,kCAAkB,EAAE;YACxB,IAAI,iCAAiB,EAAE;YACvB,IAAI,gCAAgB,EAAE;YACtB,IAAI,2CAA2B,EAAE;YACjC,IAAI,oCAAoB,EAAE;YAC1B,IAAI,4CAA4B,EAAE;YAClC,IAAI,4CAA4B,EAAE;YAClC,IAAI,sCAAsB,EAAE;YAC5B,IAAI,4CAA4B,EAAE;YAClC,IAAI,yCAAyB,EAAE;YAC/B,IAAI,0CAA0B,EAAE;YAChC,IAAI,yCAAyB,EAAE;YAC/B,IAAI,0CAA0B,EAAE;YAChC,IAAI,2CAA2B,EAAE;YACjC,IAAI,gCAAgB,EAAE;YACtB,IAAI,kCAAwB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAA,yBAAU,EAAC,EAAE,CAAC,IAAI,IAAA,+BAAgB,EAAC,EAAE,CAAC,CAAC;YAC3E,IAAI,kCAAwB,CAAC,EAAE,CAAC,EAAE,CAAC,IAAA,yBAAU,EAAC,EAAE,CAAC,IAAI,IAAA,gCAAiB,EAAC,EAAE,CAAC,CAAC;YAC3E,IAAI,kCAAkB,EAAE;YACxB,IAAI,kCAAkB,EAAE;YACxB,IAAI,gCAAgB,EAAE;YACtB,IAAI,oCAAoB,EAAE;YAC1B,IAAI,+CAA+B,EAAE;YACrC,IAAI,4CAA4B,EAAE;YAClC,IAAI,2BAAiB,EAAE;YACvB,IAAI,gCAAgB,EAAE;YACtB,IAAI,qCAAqB,EAAE;YAC3B,IAAI,4CAA4B,EAAE;SAClC,CAAA;QAED,MAAM,KAAK,GAA6B,EAAE,CAAA;QAC1C,IAAI,kBAAkB,GAAG,cAAc,CAAA;QACvC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAA;YACxE,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,WAAW,EAAE,8BAAc,CAAC,CAAA;YAC5G,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAA;SAC1B;QAGD,IAAI,aAAa,EAAE;YAClB,MAAM,MAAM,GAAG,IAAA,0BAAW,EAAC,aAAa,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAA;YACjE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;gBACxB,OAAO,KAAK,CAAA;aACZ;YACD,IAAI,OAAO,GAAG,2DAA2D,CAAA;YACzE,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;gBACzB,OAAO,IAAI,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,OAAO,CAAA;aAC3D;YACD,OAAO,IAAI,8BAA8B,CAAA;YACzC,MAAM,IAAI,oCAAuB,CAAC,OAAO,CAAC,CAAA;SAC1C;QAED,OAAO,KAAK,CAAA;IACb,CAAC;CACD;AAzED,oCAyEC;AAED,MAAa,sBAAuB,SAAQ,KAAK;IAChD,YAAY,OAAe,EAAkB,gBAAmC;QAC/E,KAAK,CAAC,OAAO,CAAC,CAAA;QAD8B,qBAAgB,GAAhB,gBAAgB,CAAmB;IAEhF,CAAC;CACD;AAJD,wDAIC"}
1
+ {"version":3,"file":"SchemaDiffer.js","sourceRoot":"","sources":["../../src/SchemaDiffer.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import { Schema } from '@contember/schema';
2
2
  import { ModificationHandlerFactory } from './modifications';
3
3
  import { Migration } from './Migration';
4
+ import { SchemaWithMeta } from './modifications/utils/schemaMeta';
4
5
  export declare class SchemaMigrator {
5
6
  private readonly modificationHandlerFactory;
6
7
  constructor(modificationHandlerFactory: ModificationHandlerFactory);
7
- applyModifications(schema: Schema, diff: readonly Migration.Modification[], formatVersion: number): Schema;
8
+ applyModifications(schema: Schema, diff: readonly Migration.Modification[], formatVersion: number): SchemaWithMeta;
8
9
  }
9
10
  //# sourceMappingURL=SchemaMigrator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaMigrator.d.ts","sourceRoot":"","sources":["../../src/SchemaMigrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,qBAAa,cAAc;IACd,OAAO,CAAC,QAAQ,CAAC,0BAA0B;gBAA1B,0BAA0B,EAAE,0BAA0B;IAE5E,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,SAAS,CAAC,YAAY,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM;CAWjH"}
1
+ {"version":3,"file":"SchemaMigrator.d.ts","sourceRoot":"","sources":["../../src/SchemaMigrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AAEjE,qBAAa,cAAc;IACd,OAAO,CAAC,QAAQ,CAAC,0BAA0B;gBAA1B,0BAA0B,EAAE,0BAA0B;IAE5E,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,SAAS,CAAC,YAAY,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,cAAc;CAWzH"}
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaMigrator.js","sourceRoot":"","sources":["../../src/SchemaMigrator.ts"],"names":[],"mappings":";;;AAIA,MAAa,cAAc;IAC1B,YAA6B,0BAAsD;QAAtD,+BAA0B,GAA1B,0BAA0B,CAA4B;IAAG,CAAC;IAEhF,kBAAkB,CAAC,MAAc,EAAE,IAAuC,EAAE,aAAqB;QACvG,KAAK,MAAM,YAAY,IAAI,IAAI,EAAE;YAChC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,YAAY,CAAA;YACpD,MAAM,mBAAmB,GAAG,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;gBACtF,aAAa;gBACb,YAAY,EAAE,QAAQ,EAAE,qBAAqB;aAC7C,CAAC,CAAA;YACF,MAAM,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;SAC3D;QACD,OAAO,MAAM,CAAA;IACd,CAAC;CACD;AAdD,wCAcC"}
1
+ {"version":3,"file":"SchemaMigrator.js","sourceRoot":"","sources":["../../src/SchemaMigrator.ts"],"names":[],"mappings":";;;AAKA,MAAa,cAAc;IAC1B,YAA6B,0BAAsD;QAAtD,+BAA0B,GAA1B,0BAA0B,CAA4B;IAAG,CAAC;IAEhF,kBAAkB,CAAC,MAAc,EAAE,IAAuC,EAAE,aAAqB;QACvG,KAAK,MAAM,YAAY,IAAI,IAAI,EAAE;YAChC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,YAAY,CAAA;YACpD,MAAM,mBAAmB,GAAG,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;gBACtF,aAAa;gBACb,YAAY,EAAE,QAAQ,EAAE,qBAAqB;aAC7C,CAAC,CAAA;YACF,MAAM,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;SAC3D;QACD,OAAO,MAAM,CAAA;IACd,CAAC;CACD;AAdD,wCAcC"}
@@ -2,6 +2,7 @@ import { MigrationBuilder } from '@contember/database-migrations';
2
2
  import { SchemaUpdater } from './utils/schemaUpdateUtils';
3
3
  import { Schema } from '@contember/schema';
4
4
  import { Migration } from '../Migration';
5
+ import { SchemaWithMeta } from './utils/schemaMeta';
5
6
  export interface ModificationDescription {
6
7
  message: string;
7
8
  isDestructive?: boolean;
@@ -21,15 +22,17 @@ export interface ModificationHandlerOptions {
21
22
  systemSchema: string;
22
23
  }
23
24
  export interface ModificationHandlerConstructor<Data> {
24
- new (data: Data, schema: Schema, options: ModificationHandlerOptions): ModificationHandler<Data>;
25
+ new (data: Data, schema: SchemaWithMeta, options: ModificationHandlerOptions): ModificationHandler<Data>;
25
26
  }
26
- export interface Differ {
27
- createDiff: (originalSchema: Schema, updatedSchema: Schema) => Migration.Modification[];
27
+ export interface Differ<Data = {
28
+ [field: string]: any;
29
+ }> {
30
+ createDiff: (originalSchema: Schema, updatedSchema: Schema) => Migration.Modification<Data>[];
28
31
  }
29
32
  export interface ModificationType<Id extends String, Data> {
30
33
  id: Id;
31
34
  createModification: (data: Data) => Migration.Modification<Data>;
32
- createHandler: (data: Data, schema: Schema, options: ModificationHandlerOptions) => ModificationHandler<Data>;
35
+ createHandler: (data: Data, schema: SchemaWithMeta, options: ModificationHandlerOptions) => ModificationHandler<Data>;
33
36
  }
34
37
  export declare const createModificationType: <Data, Id extends string>({ handler, id }: {
35
38
  id: Id;
@@ -1 +1 @@
1
- {"version":3,"file":"ModificationHandler.d.ts","sourceRoot":"","sources":["../../../src/modifications/ModificationHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,MAAM,WAAW,uBAAuB;IACvC,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,eAAO,MAAM,mCAAmC,EAAE,8BAAwD,CAAA;AAC1G,oBAAY,8BAA8B,GAAG;IAAE,eAAe,EAAE,MAAM,EAAE,CAAA;CAAE,CAAA;AAE1E,MAAM,WAAW,mBAAmB,CAAC,IAAI;IACxC,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE1D,gBAAgB,IAAI,aAAa,CAAA;IAEjC,QAAQ,CAAC,OAAO,EAAE,8BAA8B,GAAG,uBAAuB,CAAA;CAC1E;AAED,MAAM,WAAW,0BAA0B;IAC1C,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,8BAA8B,CAAC,IAAI;IACnD,KAAI,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,0BAA0B,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;CAC/F;AAED,MAAM,WAAW,MAAM;IACtB,UAAU,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,SAAS,CAAC,YAAY,EAAE,CAAA;CACvF;AAGD,MAAM,WAAW,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,IAAI;IACxD,EAAE,EAAE,EAAE,CAAA;IACN,kBAAkB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IAChE,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,0BAA0B,KAAK,mBAAmB,CAAC,IAAI,CAAC,CAAA;CAC7G;AAED,eAAO,MAAM,sBAAsB;;;gCASlC,CAAA"}
1
+ {"version":3,"file":"ModificationHandler.d.ts","sourceRoot":"","sources":["../../../src/modifications/ModificationHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD,MAAM,WAAW,uBAAuB;IACvC,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,eAAO,MAAM,mCAAmC,EAAE,8BAAwD,CAAA;AAC1G,oBAAY,8BAA8B,GAAG;IAAE,eAAe,EAAE,MAAM,EAAE,CAAA;CAAE,CAAA;AAE1E,MAAM,WAAW,mBAAmB,CAAC,IAAI;IACxC,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE1D,gBAAgB,IAAI,aAAa,CAAA;IAEjC,QAAQ,CAAC,OAAO,EAAE,8BAA8B,GAAG,uBAAuB,CAAA;CAC1E;AAED,MAAM,WAAW,0BAA0B;IAC1C,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,8BAA8B,CAAC,IAAI;IACnD,KAAI,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,0BAA0B,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;CACvG;AAED,MAAM,WAAW,MAAM,CAAC,IAAI,GAAG;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE;IACtD,UAAU,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAA;CAC7F;AAGD,MAAM,WAAW,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,IAAI;IACxD,EAAE,EAAE,EAAE,CAAA;IACN,kBAAkB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IAChE,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,0BAA0B,KAAK,mBAAmB,CAAC,IAAI,CAAC,CAAA;CACrH;AAED,eAAO,MAAM,sBAAsB;;;gCASlC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ModificationHandler.js","sourceRoot":"","sources":["../../../src/modifications/ModificationHandler.ts"],"names":[],"mappings":";;;AAWa,QAAA,mCAAmC,GAAmC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAA;AA+BnG,MAAM,sBAAsB,GAAG,CAA0B,EAAE,OAAO,EAAE,EAAE,EAG5E,EAA8B,EAAE;IAChC,OAAO;QACN,EAAE;QACF,kBAAkB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC;QAC3D,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC;KAC5E,CAAA;AACF,CAAC,CAAA;AATY,QAAA,sBAAsB,0BASlC"}
1
+ {"version":3,"file":"ModificationHandler.js","sourceRoot":"","sources":["../../../src/modifications/ModificationHandler.ts"],"names":[],"mappings":";;;AAYa,QAAA,mCAAmC,GAAmC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAA;AA+BnG,MAAM,sBAAsB,GAAG,CAA0B,EAAE,OAAO,EAAE,EAAE,EAG5E,EAA8B,EAAE;IAChC,OAAO;QACN,EAAE;QACF,kBAAkB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC;QAC3D,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC;KAC5E,CAAA;AACF,CAAC,CAAA;AATY,QAAA,sBAAsB,0BASlC"}
@@ -1,9 +1,9 @@
1
- import { Schema } from '@contember/schema';
2
1
  import { ModificationHandler, ModificationHandlerOptions, ModificationType } from './ModificationHandler';
2
+ import { SchemaWithMeta } from './utils/schemaMeta';
3
3
  declare class ModificationHandlerFactory {
4
4
  private readonly map;
5
5
  constructor(map: Record<string, ModificationType<string, any>>);
6
- create<D>(name: string, data: D, schema: Schema, options: ModificationHandlerOptions): ModificationHandler<D>;
6
+ create<D>(name: string, data: D, schema: SchemaWithMeta, options: ModificationHandlerOptions): ModificationHandler<D>;
7
7
  }
8
8
  declare namespace ModificationHandlerFactory {
9
9
  type HandlerMap<D> = {
@@ -1 +1 @@
1
- {"version":3,"file":"ModificationHandlerFactory.d.ts","sourceRoot":"","sources":["../../../src/modifications/ModificationHandlerFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAgCzG,cAAM,0BAA0B;IACnB,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAExE,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,0BAA0B,GAAG,mBAAmB,CAAC,CAAC,CAAC;CAMpH;AAED,kBAAU,0BAA0B,CAAC;IACpC,KAAK,UAAU,CAAC,CAAC,IAAI;QAAE,CAAC,gBAAgB,EAAE,MAAM,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;KAAE,CAAA;IAuChF,MAAM,CAAC,MAAM,iBAAiB,EAAE,UAAU,CAAC,GAAG,CAAuD,CAAA;;CACrG;AAED,OAAO,EAAE,0BAA0B,EAAE,CAAA"}
1
+ {"version":3,"file":"ModificationHandlerFactory.d.ts","sourceRoot":"","sources":["../../../src/modifications/ModificationHandlerFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AA8BzG,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAInD,cAAM,0BAA0B;IACnB,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAExE,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,0BAA0B,GAAG,mBAAmB,CAAC,CAAC,CAAC;CAM5H;AAED,kBAAU,0BAA0B,CAAC;IACpC,KAAK,UAAU,CAAC,CAAC,IAAI;QAAE,CAAC,gBAAgB,EAAE,MAAM,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;KAAE,CAAA;IAwChF,MAAM,CAAC,MAAM,iBAAiB,EAAE,UAAU,CAAC,GAAG,CAAuD,CAAA;;CACrG;AAED,OAAO,EAAE,0BAA0B,EAAE,CAAA"}
@@ -11,6 +11,7 @@ const fields_1 = require("./fields");
11
11
  const relations_1 = require("./relations");
12
12
  const validation_1 = require("./validation");
13
13
  const indexes_1 = require("./indexes");
14
+ const settings_1 = require("./settings");
14
15
  class ModificationHandlerFactory {
15
16
  constructor(map) {
16
17
  this.map = map;
@@ -25,6 +26,7 @@ class ModificationHandlerFactory {
25
26
  exports.ModificationHandlerFactory = ModificationHandlerFactory;
26
27
  (function (ModificationHandlerFactory) {
27
28
  const handlers = [
29
+ settings_1.updateSettingsModification,
28
30
  acl_1.updateAclSchemaModification,
29
31
  acl_1.patchAclSchemaModification,
30
32
  columns_1.createColumnModification,
@@ -1 +1 @@
1
- {"version":3,"file":"ModificationHandlerFactory.js","sourceRoot":"","sources":["../../../src/modifications/ModificationHandlerFactory.ts"],"names":[],"mappings":";;;AAEA,+BAA+E;AAC/E,uCAAsH;AACtH,+CAAsG;AACtG,yCAKmB;AACnB,8EAA0E;AAC1E,mCAIgB;AAChB,qCAA+E;AAC/E,2CAUoB;AACpB,6CAAoG;AACpG,uCAA4E;AAG5E,MAAM,0BAA0B;IAC/B,YAA6B,GAAkD;QAAlD,QAAG,GAAH,GAAG,CAA+C;IAAG,CAAC;IAE5E,MAAM,CAAI,IAAY,EAAE,IAAO,EAAE,MAAc,EAAE,OAAmC;QAC1F,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,sCAAsC,IAAI,EAAE,CAAC,CAAA;SAC7D;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IAC3D,CAAC;CACD;AA6CQ,gEAA0B;AA3CnC,WAAU,0BAA0B;IAGnC,MAAM,QAAQ,GAAG;QAChB,iCAA2B;QAC3B,gCAA0B;QAC1B,kCAAwB;QACxB,4CAAkC;QAClC,sCAA4B;QAC5B,gDAAkC;QAClC,gDAAkC;QAClC,iCAAuB;QACvB,iCAAuB;QACvB,mCAAwB;QACxB,mCAAwB;QACxB,uCAA4B;QAC5B,4CAAiC;QACjC,+CAAsB;QACtB,iCAAsB;QACtB,8BAAsB;QACtB,8BAAsB;QACtB,8BAAsB;QACtB,gCAAuB;QACvB,oCAA2B;QAC3B,iDAAqC;QACrC,sCAA0B;QAC1B,8CAAkC;QAClC,6CAAiC;QACjC,2CAA+B;QAC/B,4CAAgC;QAChC,2CAA+B;QAC/B,4CAAgC;QAChC,+CAAkC;QAClC,8CAAiC;QACjC,gDAAoC;QACpC,qCAA0B;QAC1B,8CAAkC;QAClC,8DAAkD;KAClD,CAAA;IAEY,4CAAiB,GAAoB,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;AACtG,CAAC,EAzCS,0BAA0B,KAA1B,0BAA0B,QAyCnC;AAEQ,gEAA0B"}
1
+ {"version":3,"file":"ModificationHandlerFactory.js","sourceRoot":"","sources":["../../../src/modifications/ModificationHandlerFactory.ts"],"names":[],"mappings":";;;AAEA,+BAA+E;AAC/E,uCAAsH;AACtH,+CAAsG;AACtG,yCAKmB;AACnB,8EAA0E;AAC1E,mCAIgB;AAChB,qCAA+E;AAC/E,2CAUoB;AACpB,6CAAoG;AACpG,uCAA4E;AAE5E,yCAAuD;AAGvD,MAAM,0BAA0B;IAC/B,YAA6B,GAAkD;QAAlD,QAAG,GAAH,GAAG,CAA+C;IAAG,CAAC;IAE5E,MAAM,CAAI,IAAY,EAAE,IAAO,EAAE,MAAsB,EAAE,OAAmC;QAClG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,sCAAsC,IAAI,EAAE,CAAC,CAAA;SAC7D;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IAC3D,CAAC;CACD;AA8CQ,gEAA0B;AA5CnC,WAAU,0BAA0B;IAGnC,MAAM,QAAQ,GAAG;QAChB,qCAA0B;QAC1B,iCAA2B;QAC3B,gCAA0B;QAC1B,kCAAwB;QACxB,4CAAkC;QAClC,sCAA4B;QAC5B,gDAAkC;QAClC,gDAAkC;QAClC,iCAAuB;QACvB,iCAAuB;QACvB,mCAAwB;QACxB,mCAAwB;QACxB,uCAA4B;QAC5B,4CAAiC;QACjC,+CAAsB;QACtB,iCAAsB;QACtB,8BAAsB;QACtB,8BAAsB;QACtB,8BAAsB;QACtB,gCAAuB;QACvB,oCAA2B;QAC3B,iDAAqC;QACrC,sCAA0B;QAC1B,8CAAkC;QAClC,6CAAiC;QACjC,2CAA+B;QAC/B,4CAAgC;QAChC,2CAA+B;QAC/B,4CAAgC;QAChC,+CAAkC;QAClC,8CAAiC;QACjC,gDAAoC;QACpC,qCAA0B;QAC1B,8CAAkC;QAClC,8DAAkD;KAClD,CAAA;IAEY,4CAAiB,GAAoB,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;AACtG,CAAC,EA1CS,0BAA0B,KAA1B,0BAA0B,QA0CnC;AAEQ,gEAA0B"}
@@ -23,8 +23,6 @@ export interface CreateColumnModificationData {
23
23
  }
24
24
  export declare const createColumnModification: import("../ModificationHandler").ModificationType<"createColumn", CreateColumnModificationData>;
25
25
  export declare class CreateColumnDiffer implements Differ {
26
- createDiff(originalSchema: Schema, updatedSchema: Schema): import("../../Migration").Migration.Modification<{
27
- [field: string]: any;
28
- }>[];
26
+ createDiff(originalSchema: Schema, updatedSchema: Schema): import("../../Migration").Migration.Modification<CreateColumnModificationData>[];
29
27
  }
30
28
  //# sourceMappingURL=CreateColumnModification.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CreateColumnModification.d.ts","sourceRoot":"","sources":["../../../../src/modifications/columns/CreateColumnModification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAC9E,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAY,aAAa,EAA6B,MAAM,4BAA4B,CAAA;AAC/F,OAAO,EAA0B,MAAM,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAM5F,qBAAa,+BAAgC,YAAW,mBAAmB,CAAC,4BAA4B,CAAC;IAC5F,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAgC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAA3D,IAAI,EAAE,4BAA4B,EAAmB,MAAM,EAAE,MAAM;IAEzF,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAsC1C,gBAAgB,IAAI,aAAa;IAIxC,QAAQ,CAAC,EAAE,eAAe,EAAE,EAAE;QAAE,eAAe,EAAE,MAAM,EAAE,CAAA;KAAE;;;;CAS3D;AAED,MAAM,WAAW,4BAA4B;IAC5C,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,SAAS,CAAC,EAAE,GAAG,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB;AAGD,eAAO,MAAM,wBAAwB,iGAGnC,CAAA;AAEF,qBAAa,kBAAmB,YAAW,MAAM;IAChD,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;;;CAYxD"}
1
+ {"version":3,"file":"CreateColumnModification.d.ts","sourceRoot":"","sources":["../../../../src/modifications/columns/CreateColumnModification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAC9E,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAY,aAAa,EAA6B,MAAM,4BAA4B,CAAA;AAC/F,OAAO,EAA0B,MAAM,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAO5F,qBAAa,+BAAgC,YAAW,mBAAmB,CAAC,4BAA4B,CAAC;IAC5F,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAgC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAA3D,IAAI,EAAE,4BAA4B,EAAmB,MAAM,EAAE,MAAM;IAEzF,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAsC1C,gBAAgB,IAAI,aAAa;IAIxC,QAAQ,CAAC,EAAE,eAAe,EAAE,EAAE;QAAE,eAAe,EAAE,MAAM,EAAE,CAAA;KAAE;;;;CAS3D;AAED,MAAM,WAAW,4BAA4B;IAC5C,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,SAAS,CAAC,EAAE,GAAG,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB;AAGD,eAAO,MAAM,wBAAwB,iGAGnC,CAAA;AAEF,qBAAa,kBAAmB,YAAW,MAAM;IAChD,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;CAYxD"}
@@ -2,13 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CreateColumnDiffer = exports.createColumnModification = exports.CreateColumnModificationHandler = void 0;
4
4
  const database_migrations_1 = require("@contember/database-migrations");
5
- const schema_1 = require("@contember/schema");
6
5
  const schemaUpdateUtils_1 = require("../utils/schemaUpdateUtils");
7
6
  const ModificationHandler_1 = require("../ModificationHandler");
8
7
  const dbHelpers_1 = require("../../utils/dbHelpers");
9
8
  const schema_utils_1 = require("@contember/schema-utils");
10
9
  const exceptions_1 = require("../../exceptions");
11
10
  const diffUtils_1 = require("../utils/diffUtils");
11
+ const columnUtils_1 = require("../utils/columnUtils");
12
12
  class CreateColumnModificationHandler {
13
13
  constructor(data, schema) {
14
14
  this.data = data;
@@ -23,7 +23,7 @@ class CreateColumnModificationHandler {
23
23
  const hasSeed = this.data.fillValue !== undefined || this.data.copyValue !== undefined;
24
24
  builder.addColumn(entity.tableName, {
25
25
  [column.columnName]: {
26
- type: column.type === schema_1.Model.ColumnType.Enum ? `"${column.columnType}"` : column.columnType,
26
+ type: (0, columnUtils_1.getColumnSqlType)(column),
27
27
  notNull: !column.nullable && !hasSeed,
28
28
  sequenceGenerated: column.sequence,
29
29
  },
@@ -36,7 +36,7 @@ class CreateColumnModificationHandler {
36
36
  else if (this.data.copyValue !== undefined) {
37
37
  const copyFrom = (0, schema_utils_1.getColumnName)(this.schema.model, entity, this.data.copyValue);
38
38
  builder.sql(`UPDATE ${(0, dbHelpers_1.wrapIdentifier)(entity.tableName)}
39
- SET ${(0, dbHelpers_1.wrapIdentifier)(column.columnName)} = ${(0, dbHelpers_1.wrapIdentifier)(copyFrom)}`);
39
+ SET ${(0, dbHelpers_1.wrapIdentifier)(column.columnName)} = ${(0, dbHelpers_1.wrapIdentifier)(copyFrom)}::${(0, columnUtils_1.getColumnSqlType)(column)}`);
40
40
  }
41
41
  else {
42
42
  throw new exceptions_1.ImplementationException();
@@ -1 +1 @@
1
- {"version":3,"file":"CreateColumnModification.js","sourceRoot":"","sources":["../../../../src/modifications/columns/CreateColumnModification.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CreateColumnModification.js","sourceRoot":"","sources":["../../../../src/modifications/columns/CreateColumnModification.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ export declare class UpdateColumnDefinitionModificationHandler implements Modifi
16
16
  declare type SequenceDefinitionAlter = Model.AnyColumn['sequence'] & {
17
17
  restart?: boolean;
18
18
  };
19
- declare type ColumnDefinitionAlter = Model.AnyColumn & {
19
+ declare type ColumnDefinitionAlter = Omit<Model.AnyColumn, 'sequence' | 'columnName' | 'name'> & {
20
20
  sequence?: SequenceDefinitionAlter;
21
21
  };
22
22
  export interface UpdateColumnDefinitionModificationData {
@@ -25,10 +25,8 @@ export interface UpdateColumnDefinitionModificationData {
25
25
  definition: ColumnDefinitionAlter;
26
26
  }
27
27
  export declare const updateColumnDefinitionModification: import("../ModificationHandler").ModificationType<"updateColumnDefinition", UpdateColumnDefinitionModificationData>;
28
- export declare class UpdateColumnDefinitionDiffer implements Differ {
29
- createDiff(originalSchema: Schema, updatedSchema: Schema): import("../../Migration").Migration.Modification<{
30
- [field: string]: any;
31
- }>[];
28
+ export declare class UpdateColumnDefinitionDiffer implements Differ<UpdateColumnDefinitionModificationData> {
29
+ createDiff(originalSchema: Schema, updatedSchema: Schema): import("../../Migration").Migration.Modification<UpdateColumnDefinitionModificationData>[];
32
30
  }
33
31
  export {};
34
32
  //# sourceMappingURL=UpdateColumnDefinitionModification.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateColumnDefinitionModification.d.ts","sourceRoot":"","sources":["../../../../src/modifications/columns/UpdateColumnDefinitionModification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,aAAa,EAA0C,MAAM,4BAA4B,CAAA;AAClG,OAAO,EAA0B,MAAM,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAK5F,qBAAa,yCAA0C,YAAW,mBAAmB,CAAC,sCAAsC,CAAC;IAChH,OAAO,CAAC,QAAQ,CAAC,IAAI;IAA0C,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAArE,IAAI,EAAE,sCAAsC,EAAmB,MAAM,EAAE,MAAM;IAEnG,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAoC1C,gBAAgB,IAAI,aAAa;IAexC,QAAQ;;;;CAUR;AAED,aAAK,uBAAuB,GACzB,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,GAC3B;IACD,OAAO,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAEF,aAAK,qBAAqB,GACvB,KAAK,CAAC,SAAS,GACf;IACD,QAAQ,CAAC,EAAE,uBAAuB,CAAA;CAClC,CAAA;AAEF,MAAM,WAAW,sCAAsC;IACtD,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,qBAAqB,CAAA;CACjC;AAED,eAAO,MAAM,kCAAkC,qHAG7C,CAAA;AAEF,qBAAa,4BAA6B,YAAW,MAAM;IAC1D,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;;;CAsBxD"}
1
+ {"version":3,"file":"UpdateColumnDefinitionModification.d.ts","sourceRoot":"","sources":["../../../../src/modifications/columns/UpdateColumnDefinitionModification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAC9E,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,aAAa,EAA0C,MAAM,4BAA4B,CAAA;AAClG,OAAO,EAA0B,MAAM,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAO5F,qBAAa,yCAA0C,YAAW,mBAAmB,CAAC,sCAAsC,CAAC;IAChH,OAAO,CAAC,QAAQ,CAAC,IAAI;IAA0C,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAArE,IAAI,EAAE,sCAAsC,EAAmB,MAAM,EAAE,MAAM;IAEnG,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IA0C1C,gBAAgB,IAAI,aAAa;IAexC,QAAQ;;;;CAUR;AAED,aAAK,uBAAuB,GACzB,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,GAC3B;IACD,OAAO,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAEF,aAAK,qBAAqB,GACvB,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,GAAG,YAAY,GAAG,MAAM,CAAC,GACzD;IACD,QAAQ,CAAC,EAAE,uBAAuB,CAAA;CAClC,CAAA;AAEF,MAAM,WAAW,sCAAsC;IACtD,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,qBAAqB,CAAA;CACjC;AAED,eAAO,MAAM,kCAAkC,qHAG7C,CAAA;AAEF,qBAAa,4BAA6B,YAAW,MAAM,CAAC,sCAAsC,CAAC;IAClG,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;CAuBxD"}
@@ -4,12 +4,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.UpdateColumnDefinitionDiffer = exports.updateColumnDefinitionModification = exports.UpdateColumnDefinitionModificationHandler = void 0;
7
- const schema_1 = require("@contember/schema");
7
+ const database_migrations_1 = require("@contember/database-migrations");
8
8
  const schemaUpdateUtils_1 = require("../utils/schemaUpdateUtils");
9
9
  const ModificationHandler_1 = require("../ModificationHandler");
10
10
  const fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
11
11
  const diffUtils_1 = require("../utils/diffUtils");
12
12
  const database_1 = require("@contember/database");
13
+ const columnUtils_1 = require("../utils/columnUtils");
13
14
  class UpdateColumnDefinitionModificationHandler {
14
15
  constructor(data, schema) {
15
16
  this.data = data;
@@ -20,33 +21,36 @@ class UpdateColumnDefinitionModificationHandler {
20
21
  if (entity.view) {
21
22
  return;
22
23
  }
23
- const field = entity.fields[this.data.fieldName];
24
- const definition = this.data.definition;
25
- const newType = definition.columnType !== field.columnType
26
- ? definition.type === schema_1.Model.ColumnType.Enum
27
- ? `"${definition.columnType}"`
28
- : definition.columnType
29
- : undefined;
30
- builder.alterColumn(entity.tableName, field.columnName, {
31
- type: newType,
32
- notNull: field.nullable !== definition.nullable ? !definition.nullable : undefined,
33
- using: newType !== undefined ? `${(0, database_1.wrapIdentifier)(field.columnName)}::${newType}` : undefined,
34
- sequenceGenerated: field.sequence && !definition.sequence ? false : (!field.sequence ? definition.sequence : undefined),
24
+ const oldColumn = entity.fields[this.data.fieldName];
25
+ const newColumn = this.data.definition;
26
+ const hasNewSequence = !oldColumn.sequence && newColumn.sequence;
27
+ const hasNewType = newColumn.columnType !== oldColumn.columnType;
28
+ const columnType = (0, columnUtils_1.getColumnSqlType)(newColumn);
29
+ const usingCast = `${(0, database_1.wrapIdentifier)(oldColumn.columnName)}::${columnType}`;
30
+ builder.alterColumn(entity.tableName, oldColumn.columnName, {
31
+ type: hasNewSequence || hasNewType ? columnType : undefined,
32
+ notNull: oldColumn.nullable !== newColumn.nullable ? !newColumn.nullable : undefined,
33
+ using: hasNewSequence
34
+ ? `COALESCE(${usingCast}, nextval(PG_GET_SERIAL_SEQUENCE(${(0, database_migrations_1.escapeValue)(entity.tableName)}, ${(0, database_migrations_1.escapeValue)(oldColumn.columnName)})))`
35
+ : hasNewType
36
+ ? usingCast
37
+ : undefined,
38
+ sequenceGenerated: oldColumn.sequence && !newColumn.sequence ? false : (!oldColumn.sequence ? newColumn.sequence : undefined),
35
39
  });
36
40
  const seqAlter = [];
37
- if (field.sequence && definition.sequence) {
38
- if (field.sequence.precedence !== definition.sequence.precedence) {
39
- seqAlter.push(`SET GENERATED ${definition.sequence.precedence}`);
41
+ if (oldColumn.sequence && newColumn.sequence) {
42
+ if (oldColumn.sequence.precedence !== newColumn.sequence.precedence) {
43
+ seqAlter.push(`SET GENERATED ${newColumn.sequence.precedence}`);
40
44
  }
41
- if (field.sequence.start !== definition.sequence.start && typeof definition.sequence.start == 'number') {
42
- seqAlter.push(`SET START WITH ${definition.sequence.start}`);
45
+ if (oldColumn.sequence.start !== newColumn.sequence.start && typeof newColumn.sequence.start == 'number') {
46
+ seqAlter.push(`SET START WITH ${newColumn.sequence.start}`);
43
47
  }
44
- if (definition.sequence.restart) {
48
+ if (newColumn.sequence.restart) {
45
49
  seqAlter.push('RESTART');
46
50
  }
47
51
  }
48
52
  if (seqAlter.length > 0) {
49
- builder.sql(`ALTER TABLE ${(0, database_1.wrapIdentifier)(entity.tableName)} ALTER ${(0, database_1.wrapIdentifier)(field.columnName)} ${seqAlter.join(' ')}`);
53
+ builder.sql(`ALTER TABLE ${(0, database_1.wrapIdentifier)(entity.tableName)} ALTER ${(0, database_1.wrapIdentifier)(oldColumn.columnName)} ${seqAlter.join(' ')}`);
50
54
  }
51
55
  }
52
56
  getSchemaUpdater() {