@contember/schema-migrations 1.3.6 → 1.4.0-alpha.2

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 (70) hide show
  1. package/dist/src/SchemaDiffer.d.ts.map +1 -1
  2. package/dist/src/SchemaDiffer.js +2 -0
  3. package/dist/src/SchemaDiffer.js.map +1 -1
  4. package/dist/src/modifications/ModificationHandler.d.ts +2 -2
  5. package/dist/src/modifications/ModificationHandler.d.ts.map +1 -1
  6. package/dist/src/modifications/ModificationHandlerFactory.d.ts.map +1 -1
  7. package/dist/src/modifications/ModificationHandlerFactory.js +2 -0
  8. package/dist/src/modifications/ModificationHandlerFactory.js.map +1 -1
  9. package/dist/src/modifications/constraints/CreateUniqueConstraintModification.d.ts.map +1 -1
  10. package/dist/src/modifications/constraints/CreateUniqueConstraintModification.js +8 -1
  11. package/dist/src/modifications/constraints/CreateUniqueConstraintModification.js.map +1 -1
  12. package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.d.ts.map +1 -1
  13. package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.js +2 -2
  14. package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.js.map +1 -1
  15. package/dist/src/modifications/indexes/RemoveIndexModification.js +1 -1
  16. package/dist/src/modifications/indexes/RemoveIndexModification.js.map +1 -1
  17. package/dist/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.d.ts +28 -0
  18. package/dist/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.d.ts.map +1 -0
  19. package/dist/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.js +98 -0
  20. package/dist/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.js.map +1 -0
  21. package/dist/src/modifications/relations/ConvertOneToManyRelationModification.d.ts.map +1 -1
  22. package/dist/src/modifications/relations/ConvertOneToManyRelationModification.js +7 -5
  23. package/dist/src/modifications/relations/ConvertOneToManyRelationModification.js.map +1 -1
  24. package/dist/src/modifications/relations/helpers.d.ts +2 -2
  25. package/dist/src/modifications/relations/helpers.d.ts.map +1 -1
  26. package/dist/src/modifications/relations/helpers.js +2 -2
  27. package/dist/src/modifications/relations/helpers.js.map +1 -1
  28. package/dist/src/tsconfig.tsbuildinfo +1 -1
  29. package/dist/tests/cases/integration/convertManyHasOneToOneHasOneRelation.test.d.ts +2 -0
  30. package/dist/tests/cases/integration/convertManyHasOneToOneHasOneRelation.test.d.ts.map +1 -0
  31. package/dist/tests/cases/integration/convertManyHasOneToOneHasOneRelation.test.js +59 -0
  32. package/dist/tests/cases/integration/convertManyHasOneToOneHasOneRelation.test.js.map +1 -0
  33. package/dist/tests/cases/integration/convertOneToManyRelation.test.js +60 -0
  34. package/dist/tests/cases/integration/convertOneToManyRelation.test.js.map +1 -1
  35. package/dist/tests/cases/integration/createAndDropIndex.test.js +10 -0
  36. package/dist/tests/cases/integration/createAndDropIndex.test.js.map +1 -1
  37. package/dist/tests/cases/integration/createRelationInverseSide.test.js +17 -0
  38. package/dist/tests/cases/integration/createRelationInverseSide.test.js.map +1 -1
  39. package/dist/tests/cases/integration/createUnique.test.d.ts +2 -0
  40. package/dist/tests/cases/integration/createUnique.test.d.ts.map +1 -0
  41. package/dist/tests/cases/integration/createUnique.test.js +168 -0
  42. package/dist/tests/cases/integration/createUnique.test.js.map +1 -0
  43. package/dist/tests/cases/integration/removeField.test.js +12 -0
  44. package/dist/tests/cases/integration/removeField.test.js.map +1 -1
  45. package/dist/tests/cases/integration/updateRelationOnDelete.test.js +17 -0
  46. package/dist/tests/cases/integration/updateRelationOnDelete.test.js.map +1 -1
  47. package/dist/tests/src/tests.d.ts +4 -2
  48. package/dist/tests/src/tests.d.ts.map +1 -1
  49. package/dist/tests/src/tests.js +5 -4
  50. package/dist/tests/src/tests.js.map +1 -1
  51. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  52. package/package.json +7 -6
  53. package/src/SchemaDiffer.ts +2 -0
  54. package/src/modifications/ModificationHandler.ts +2 -2
  55. package/src/modifications/ModificationHandlerFactory.ts +2 -0
  56. package/src/modifications/constraints/CreateUniqueConstraintModification.ts +8 -1
  57. package/src/modifications/constraints/RemoveUniqueConstraintModification.ts +8 -10
  58. package/src/modifications/indexes/RemoveIndexModification.ts +1 -1
  59. package/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.ts +145 -0
  60. package/src/modifications/relations/ConvertOneToManyRelationModification.ts +7 -5
  61. package/src/modifications/relations/helpers.ts +4 -4
  62. package/src/tsconfig.json +1 -0
  63. package/tests/cases/integration/convertManyHasOneToOneHasOneRelation.test.ts +48 -0
  64. package/tests/cases/integration/convertOneToManyRelation.test.ts +65 -0
  65. package/tests/cases/integration/createAndDropIndex.test.ts +10 -0
  66. package/tests/cases/integration/createRelationInverseSide.test.ts +17 -0
  67. package/tests/cases/integration/createUnique.test.ts +146 -0
  68. package/tests/cases/integration/removeField.test.ts +12 -0
  69. package/tests/cases/integration/updateRelationOnDelete.test.ts +17 -0
  70. package/tests/src/tests.ts +12 -5
@@ -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,EAA2G,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAClK,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AA2CvC,KAAK,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;CAsF9C;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,EAA2G,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAClK,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AA4CvC,KAAK,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;CAuF9C;AAED,qBAAa,sBAAuB,SAAQ,KAAK;aACH,gBAAgB,EAAE,eAAe,EAAE;gBAApE,OAAO,EAAE,MAAM,EAAkB,gBAAgB,EAAE,eAAe,EAAE;CAGhF"}
@@ -12,6 +12,7 @@ const CreateTargetModification_1 = require("./modifications/actions/CreateTarget
12
12
  const RemoveTargetModification_1 = require("./modifications/actions/RemoveTargetModification");
13
13
  const settings_1 = require("./modifications/settings");
14
14
  const RemoveIndexNamesModification_1 = require("./modifications/upgrade/RemoveIndexNamesModification");
15
+ const ConvertOneHasManyToOneHasOneRelationModification_1 = require("./modifications/relations/ConvertOneHasManyToOneHasOneRelationModification");
15
16
  class SchemaDiffer {
16
17
  constructor(schemaMigrator) {
17
18
  this.schemaMigrator = schemaMigrator;
@@ -32,6 +33,7 @@ class SchemaDiffer {
32
33
  new settings_1.UpdateSettingsDiffer(),
33
34
  new modifications_1.ConvertOneToManyRelationDiffer(),
34
35
  new modifications_1.ConvertOneHasManyToManyHasManyRelationDiffer(),
36
+ new ConvertOneHasManyToOneHasOneRelationModification_1.ConvertOneHasManyToOneHasOneRelationDiffer(),
35
37
  new modifications_1.RemoveUniqueConstraintDiffer(),
36
38
  new indexes_1.RemoveIndexDiffer(),
37
39
  new differs_1.RemoveViewDiffer(),
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaDiffer.js","sourceRoot":"","sources":["../../src/SchemaDiffer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SchemaDiffer.js","sourceRoot":"","sources":["../../src/SchemaDiffer.ts"],"names":[],"mappings":"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"}
@@ -2,7 +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 { SchemaDatabaseMetadata } from '@contember/schema-utils';
5
+ import { DatabaseMetadata } from '@contember/database';
6
6
  export interface ModificationDescription {
7
7
  message: string;
8
8
  isDestructive?: boolean;
@@ -19,7 +19,7 @@ export interface ModificationHandler<Data> {
19
19
  }
20
20
  export interface ModificationHandlerCreateSqlOptions {
21
21
  systemSchema: string;
22
- databaseMetadata: SchemaDatabaseMetadata;
22
+ databaseMetadata: DatabaseMetadata;
23
23
  invalidateDatabaseMetadata: () => void;
24
24
  }
25
25
  export interface ModificationHandlerOptions {
@@ -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;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAEhE,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,MAAM,MAAM,8BAA8B,GAAG;IAAE,eAAe,EAAE,MAAM,EAAE,CAAA;CAAE,CAAA;AAE1E,MAAM,WAAW,mBAAmB,CAAC,IAAI;IACxC,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,mCAAmC,GAAG,IAAI,CAAA;IAExF,gBAAgB,IAAI,aAAa,CAAA;IAEjC,QAAQ,CAAC,OAAO,EAAE,8BAA8B,GAAG,uBAAuB,CAAA;CAC1E;AAED,MAAM,WAAW,mCAAmC;IACnD,YAAY,EAAE,MAAM,CAAA;IACpB,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,0BAA0B,EAAE,MAAM,IAAI,CAAA;CACtC;AAED,MAAM,WAAW,0BAA0B;IAC1C,aAAa,EAAE,MAAM,CAAA;CACrB;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,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,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,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEtD,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,MAAM,MAAM,8BAA8B,GAAG;IAAE,eAAe,EAAE,MAAM,EAAE,CAAA;CAAE,CAAA;AAE1E,MAAM,WAAW,mBAAmB,CAAC,IAAI;IACxC,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,mCAAmC,GAAG,IAAI,CAAA;IAExF,gBAAgB,IAAI,aAAa,CAAA;IAEjC,QAAQ,CAAC,OAAO,EAAE,8BAA8B,GAAG,uBAAuB,CAAA;CAC1E;AAED,MAAM,WAAW,mCAAmC;IACnD,YAAY,EAAE,MAAM,CAAA;IACpB,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,0BAA0B,EAAE,MAAM,IAAI,CAAA;CACtC;AAED,MAAM,WAAW,0BAA0B;IAC1C,aAAa,EAAE,MAAM,CAAA;CACrB;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,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,MAAM,EAAE,OAAO,EAAE,0BAA0B,KAAK,mBAAmB,CAAC,IAAI,CAAC,CAAA;CAC7G;AAED,eAAO,MAAM,sBAAsB;;;gCASlC,CAAA"}
@@ -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;AAuCzG,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;IAgDhF,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":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAwCzG,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;IAiDhF,MAAM,CAAC,MAAM,iBAAiB,EAAE,UAAU,CAAC,GAAG,CAAuD,CAAA;;CACrG;AAED,OAAO,EAAE,0BAA0B,EAAE,CAAA"}
@@ -18,6 +18,7 @@ const RemoveTargetModification_1 = require("./actions/RemoveTargetModification")
18
18
  const UpdateTargetModification_1 = require("./actions/UpdateTargetModification");
19
19
  const UpdateEntityOrderByModification_1 = require("./entities/UpdateEntityOrderByModification");
20
20
  const RemoveIndexNamesModification_1 = require("./upgrade/RemoveIndexNamesModification");
21
+ const ConvertOneHasManyToOneHasOneRelationModification_1 = require("./relations/ConvertOneHasManyToOneHasOneRelationModification");
21
22
  class ModificationHandlerFactory {
22
23
  constructor(map) {
23
24
  this.map = map;
@@ -65,6 +66,7 @@ exports.ModificationHandlerFactory = ModificationHandlerFactory;
65
66
  validation_1.updateValidationSchemaModification,
66
67
  validation_1.patchValidationSchemaModification,
67
68
  relations_1.convertOneToManyRelationModification,
69
+ ConvertOneHasManyToOneHasOneRelationModification_1.convertOneHasManyToOneHasOneRelationModification,
68
70
  entities_1.toggleEventLogModification,
69
71
  relations_1.toggleJunctionEventLogModification,
70
72
  relations_1.convertOneHasManyToManyHasManyRelationModification,
@@ -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,yCAOmB;AACnB,8EAA0E;AAC1E,mCAAgG;AAChG,qCAA+E;AAC/E,2CAYoB;AACpB,6CAAoG;AACpG,uCAA4E;AAC5E,yCAAuD;AACvD,uCAA2G;AAC3G,iFAA6E;AAC7E,iFAA6E;AAC7E,iFAA6E;AAC7E,gGAA4F;AAC5F,yFAAqF;AAGrF,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;AAsDQ,gEAA0B;AApDnC,WAAU,0BAA0B;IAGnC,MAAM,QAAQ,GAAG;QAChB,2DAA4B;QAC5B,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;QAClD,iEAA+B;QAC/B,mCAAyB;QACzB,mCAAyB;QACzB,mCAAyB;QACzB,mDAAwB;QACxB,mDAAwB;QACxB,mDAAwB;KACxB,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,EAlDS,0BAA0B,0CAA1B,0BAA0B,QAkDnC"}
1
+ {"version":3,"file":"ModificationHandlerFactory.js","sourceRoot":"","sources":["../../../src/modifications/ModificationHandlerFactory.ts"],"names":[],"mappings":";;;AAEA,+BAA+E;AAC/E,uCAAsH;AACtH,+CAAsG;AACtG,yCAOmB;AACnB,8EAA0E;AAC1E,mCAAgG;AAChG,qCAA+E;AAC/E,2CAYoB;AACpB,6CAAoG;AACpG,uCAA4E;AAC5E,yCAAuD;AACvD,uCAA2G;AAC3G,iFAA6E;AAC7E,iFAA6E;AAC7E,iFAA6E;AAC7E,gGAA4F;AAC5F,yFAAqF;AACrF,mIAA+H;AAG/H,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;AAuDQ,gEAA0B;AArDnC,WAAU,0BAA0B;IAGnC,MAAM,QAAQ,GAAG;QAChB,2DAA4B;QAC5B,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,mGAAgD;QAChD,qCAA0B;QAC1B,8CAAkC;QAClC,8DAAkD;QAClD,iEAA+B;QAC/B,mCAAyB;QACzB,mCAAyB;QACzB,mCAAyB;QACzB,mDAAwB;QACxB,mDAAwB;QACxB,mDAAwB;KACxB,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,EAnDS,0BAA0B,0CAA1B,0BAA0B,QAmDnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CreateUniqueConstraintModification.d.ts","sourceRoot":"","sources":["../../../../src/modifications/constraints/CreateUniqueConstraintModification.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,EAA6B,MAAM,4BAA4B,CAAA;AACrF,OAAO,EAEN,MAAM,EACN,mBAAmB,EACnB,mCAAmC,EACnC,MAAM,wBAAwB,CAAA;AAK/B,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;IAGnG,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,EAAE,mCAAmC,GAAG,IAAI;IAoBjI,gBAAgB,IAAI,aAAa;IAYxC,QAAQ,CAAC,EAAE,eAAe,EAAE,EAAE;QAAE,eAAe,EAAE,MAAM,EAAE,CAAA;KAAE;;;;CAS3D;AAED,eAAO,MAAM,kCAAkC,qHAG7C,CAAA;AAEF,MAAM,WAAW,sCAAsC;IACtD,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,KAAK,CAAC,gBAAgB,CAAA;CAC9B;AAED,qBAAa,4BAA6B,YAAW,MAAM;IAC1D,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;CAUxD"}
1
+ {"version":3,"file":"CreateUniqueConstraintModification.d.ts","sourceRoot":"","sources":["../../../../src/modifications/constraints/CreateUniqueConstraintModification.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,EAA6B,MAAM,4BAA4B,CAAA;AACrF,OAAO,EAEN,MAAM,EACN,mBAAmB,EACnB,mCAAmC,EACnC,MAAM,wBAAwB,CAAA;AAK/B,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;IAGnG,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,EAAE,mCAAmC,GAAG,IAAI;IA2BjI,gBAAgB,IAAI,aAAa;IAYxC,QAAQ,CAAC,EAAE,eAAe,EAAE,EAAE;QAAE,eAAe,EAAE,MAAM,EAAE,CAAA;KAAE;;;;CAS3D;AAED,eAAO,MAAM,kCAAkC,qHAG7C,CAAA;AAEF,MAAM,WAAW,sCAAsC;IACtD,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,KAAK,CAAC,gBAAgB,CAAA;CAC9B;AAED,qBAAa,4BAA6B,YAAW,MAAM;IAC1D,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;CAUxD"}
@@ -27,7 +27,14 @@ class CreateUniqueConstraintModificationHandler {
27
27
  });
28
28
  const tableNameId = (0, dbHelpers_1.wrapIdentifier)(entity.tableName);
29
29
  const columnNameIds = columns.map(dbHelpers_1.wrapIdentifier);
30
- builder.sql(`ALTER TABLE ${tableNameId} ADD UNIQUE (${columnNameIds.join(', ')})`);
30
+ let checkModifier = '';
31
+ if (this.data.unique.timing === 'deferred') {
32
+ checkModifier = ' INITIALLY DEFERRED';
33
+ }
34
+ else if (this.data.unique.timing === 'deferrable') {
35
+ checkModifier = ' DEFERRABLE';
36
+ }
37
+ builder.sql(`ALTER TABLE ${tableNameId} ADD UNIQUE (${columnNameIds.join(', ')})${checkModifier}`);
31
38
  invalidateDatabaseMetadata();
32
39
  }
33
40
  getSchemaUpdater() {
@@ -1 +1 @@
1
- {"version":3,"file":"CreateUniqueConstraintModification.js","sourceRoot":"","sources":["../../../../src/modifications/constraints/CreateUniqueConstraintModification.ts"],"names":[],"mappings":";;;;;;AAEA,kEAAqF;AACrF,gEAK+B;AAC/B,qDAAsD;AACtD,mCAAoD;AACpD,sEAAuC;AAEvC,MAAa,yCAAyC;IACrD,YAA6B,IAA4C,EAAmB,MAAc;QAA7E,SAAI,GAAJ,IAAI,CAAwC;QAAmB,WAAM,GAAN,MAAM,CAAQ;IAC1G,CAAC;IAEM,SAAS,CAAC,OAAyB,EAAE,EAAE,gBAAgB,EAAE,0BAA0B,EAAuC;QAChI,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC/D,IAAI,MAAM,CAAC,IAAI,EAAE;YAChB,OAAM;SACN;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;QACtC,MAAM,OAAO,GAAG,IAAA,kCAA0B,EAAC;YAC1C,MAAM;YACN,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;YACxB,MAAM;SACN,CAAC,CAAA;QAEF,MAAM,WAAW,GAAG,IAAA,0BAAc,EAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACpD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,0BAAc,CAAC,CAAA;QAEjD,OAAO,CAAC,GAAG,CAAC,eAAe,WAAW,gBAAgB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAElF,0BAA0B,EAAE,CAAA;IAC7B,CAAC;IAEM,gBAAgB;QACtB,OAAO,IAAA,+BAAW,EACjB,IAAA,gCAAY,EAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;YACnD,GAAG,MAAM;YACT,MAAM,EAAE;gBACP,GAAG,MAAM,CAAC,MAAM;gBAChB,IAAI,CAAC,IAAI,CAAC,MAAM;aAChB;SACD,CAAC,CAAC,CACH,CAAA;IACF,CAAC;IAED,QAAQ,CAAC,EAAE,eAAe,EAAiC;QAC1D,OAAO;YACN,OAAO,EAAE,6BAA6B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAC7G,cAAc,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC9D,CAAC,CAAC,2EAA2E;gBAC7E,CAAC,CAAC,SAAS;SACZ,CAAA;IACF,CAAC;CAED;AA7CD,8FA6CC;AAEY,QAAA,kCAAkC,GAAG,IAAA,4CAAsB,EAAC;IACxE,EAAE,EAAE,wBAAwB;IAC5B,OAAO,EAAE,yCAAyC;CAClD,CAAC,CAAA;AAOF,MAAa,4BAA4B;IACxC,UAAU,CAAC,cAAsB,EAAE,aAAqB;QACvD,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CACnE,MAAM,CAAC,MAAM;aACX,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAA,yBAAS,EAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;aAChH,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,0CAAkC,CAAC,kBAAkB,CAAC;YACpE,UAAU,EAAE,MAAM,CAAC,IAAI;YACvB,MAAM;SACN,CAAC,CAAC,CACJ,CAAA;IACF,CAAC;CACD;AAXD,oEAWC"}
1
+ {"version":3,"file":"CreateUniqueConstraintModification.js","sourceRoot":"","sources":["../../../../src/modifications/constraints/CreateUniqueConstraintModification.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RemoveUniqueConstraintModification.d.ts","sourceRoot":"","sources":["../../../../src/modifications/constraints/RemoveUniqueConstraintModification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,aAAa,EAA6B,MAAM,4BAA4B,CAAA;AACrF,OAAO,EAEN,MAAM,EACN,mBAAmB,EACnB,mCAAmC,EACnC,MAAM,wBAAwB,CAAA;AAK/B,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;IAGnG,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,EAAE,mCAAmC,GAAG,IAAI;IAuBjI,gBAAgB,IAAI,aAAa;IAaxC,QAAQ;;;IAKR,SAAS;CAWT;AAED,eAAO,MAAM,kCAAkC,qHAG7C,CAAA;AAEF,MAAM,MAAM,sCAAsC,GAC/C;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,KAAK,CAAA;CACd,GACC;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;IACzB,cAAc,CAAC,EAAE,KAAK,CAAA;CACtB,CAAA;AAGF,qBAAa,4BAA6B,YAAW,MAAM;IAC1D,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;CAoBxD"}
1
+ {"version":3,"file":"RemoveUniqueConstraintModification.d.ts","sourceRoot":"","sources":["../../../../src/modifications/constraints/RemoveUniqueConstraintModification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,aAAa,EAA6B,MAAM,4BAA4B,CAAA;AACrF,OAAO,EAEN,MAAM,EACN,mBAAmB,EACnB,mCAAmC,EACnC,MAAM,wBAAwB,CAAA;AAK/B,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;IAGnG,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,EAAE,mCAAmC,GAAG,IAAI;IAuBjI,gBAAgB,IAAI,aAAa;IAaxC,QAAQ;;;IAKR,SAAS;CAWT;AAED,eAAO,MAAM,kCAAkC,qHAG7C,CAAA;AAEF,MAAM,MAAM,sCAAsC,GAC/C;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,KAAK,CAAA;CACd,GACC;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;IACzB,cAAc,CAAC,EAAE,KAAK,CAAA;CACtB,CAAA;AAGF,qBAAa,4BAA6B,YAAW,MAAM;IAC1D,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;CAkBxD"}
@@ -25,7 +25,7 @@ class RemoveUniqueConstraintModificationHandler {
25
25
  fields: fields,
26
26
  model: this.schema.model,
27
27
  });
28
- const constraintNames = databaseMetadata.getUniqueConstraintNames({ tableName: entity.tableName, columnNames: columns });
28
+ const constraintNames = databaseMetadata.uniqueConstraints.filter({ tableName: entity.tableName, columnNames: columns }).getNames();
29
29
  for (const name of constraintNames) {
30
30
  builder.sql(`ALTER TABLE ${(0, dbHelpers_1.wrapIdentifier)(entity.tableName)} DROP CONSTRAINT ${(0, dbHelpers_1.wrapIdentifier)(name)}`);
31
31
  }
@@ -70,7 +70,7 @@ class RemoveUniqueConstraintDiffer {
70
70
  if (!updatedEntity) {
71
71
  return false;
72
72
  }
73
- return !updatedEntity.unique.find(uniq => (0, fast_deep_equal_1.default)(uniq.fields, it.fields));
73
+ return !updatedEntity.unique.find(uniq => (0, fast_deep_equal_1.default)(uniq.fields, it.fields) && it.timing === uniq.timing);
74
74
  })
75
75
  .map(unique => exports.removeUniqueConstraintModification.createModification({
76
76
  entityName: entity.name,
@@ -1 +1 @@
1
- {"version":3,"file":"RemoveUniqueConstraintModification.js","sourceRoot":"","sources":["../../../../src/modifications/constraints/RemoveUniqueConstraintModification.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RemoveUniqueConstraintModification.js","sourceRoot":"","sources":["../../../../src/modifications/constraints/RemoveUniqueConstraintModification.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ class RemoveIndexModificationHandler {
25
25
  fields,
26
26
  model: this.schema.model,
27
27
  });
28
- const indexNames = databaseMetadata.getIndexNames({ tableName: entity.tableName, columnNames: columns });
28
+ const indexNames = databaseMetadata.indexes.filter({ tableName: entity.tableName, columnNames: columns }).getNames();
29
29
  for (const name of indexNames) {
30
30
  builder.sql(`DROP INDEX ${(0, dbHelpers_1.wrapIdentifier)(name)}`);
31
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RemoveIndexModification.js","sourceRoot":"","sources":["../../../../src/modifications/indexes/RemoveIndexModification.ts"],"names":[],"mappings":";;;;;;AAEA,kEAAqF;AACrF,gEAK+B;AAC/B,sEAAuC;AACvC,mCAAyC;AACzC,qDAAsD;AAEtD,MAAa,8BAA8B;IAC1C,YAA6B,IAAiC,EAAmB,MAAc;QAAlE,SAAI,GAAJ,IAAI,CAA6B;QAAmB,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE5F,SAAS,CAAC,OAAyB,EAAE,EAAE,gBAAgB,EAAE,0BAA0B,EAAuC;QAChI,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC/D,IAAI,MAAM,CAAC,IAAI,EAAE;YAChB,OAAM;SACN;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAE/B,MAAM,OAAO,GAAG,IAAA,uBAAe,EAAC;YAC/B,MAAM;YACN,MAAM;YACN,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;SACxB,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG,gBAAgB,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAA;QAExG,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;YAC9B,OAAO,CAAC,GAAG,CAAC,cAAc,IAAA,0BAAc,EAAC,IAAI,CAAC,EAAE,CAAC,CAAA;SACjD;QACD,0BAA0B,EAAE,CAAA;IAC7B,CAAC;IAEM,gBAAgB;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAC/B,OAAO,IAAA,+BAAW,EACjB,IAAA,gCAAY,EAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;YACjD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAA,yBAAS,EAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;YAC1E,OAAO;gBACN,GAAG,MAAM;gBACT,OAAO;aACP,CAAA;QACF,CAAC,CAAC,CACF,CAAA;IACF,CAAC;IAED,QAAQ;QACP,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAC/B,OAAO,EAAE,OAAO,EAAE,iBAAiB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAA;IAC5F,CAAC;IAED,SAAS;;QACR,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC/D,MAAM,MAAM,GAAG,WAAW,IAAI,IAAI,CAAC,IAAI;YACtC,CAAC,CAAC,MAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,0CAAE,MAAM;YACpE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA;QACnB,IAAI,CAAC,MAAM,EAAE;YACZ,MAAM,IAAI,KAAK,EAAE,CAAA;SACjB;QACD,OAAO,MAAM,CAAA;IACd,CAAC;CACD;AApDD,wEAoDC;AAEY,QAAA,uBAAuB,GAAG,IAAA,4CAAsB,EAAC;IAC7D,EAAE,EAAE,aAAa;IACjB,OAAO,EAAE,8BAA8B;CACvC,CAAC,CAAA;AAeF,MAAa,iBAAiB;IAE7B,UAAU,CAAC,cAAsB,EAAE,aAAqB;QACvD,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CACpE,MAAM,CAAC,OAAO;aACZ,MAAM,CACN,EAAE,CAAC,EAAE;YACJ,MAAM,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC/D,IAAI,CAAC,aAAa,EAAE;gBACnB,OAAO,KAAK,CAAA;aACZ;YACD,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAA,yBAAS,EAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;QAChF,CAAC,CACD;aACA,GAAG,CAAC,KAAK,CAAC,EAAE,CACZ,+BAAuB,CAAC,kBAAkB,CAAC;YAC1C,UAAU,EAAE,MAAM,CAAC,IAAI;YACvB,MAAM,EAAE,KAAK,CAAC,MAAM;SACpB,CAAC,CACF,CACF,CAAA;IACF,CAAC;CACD;AAtBD,8CAsBC"}
1
+ {"version":3,"file":"RemoveIndexModification.js","sourceRoot":"","sources":["../../../../src/modifications/indexes/RemoveIndexModification.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { MigrationBuilder } from '@contember/database-migrations';
2
+ import { Schema } from '@contember/schema';
3
+ import { SchemaUpdater } from '../utils/schemaUpdateUtils';
4
+ import { Differ, ModificationHandler, ModificationHandlerCreateSqlOptions, ModificationHandlerOptions } from '../ModificationHandler';
5
+ export declare class ConvertOneHasManyToOneHasOneRelationModificationHandler implements ModificationHandler<ConvertOneHasManyToOneHasOneRelationModificationData> {
6
+ private readonly data;
7
+ private readonly schema;
8
+ private readonly options;
9
+ private subModification;
10
+ constructor(data: ConvertOneHasManyToOneHasOneRelationModificationData, schema: Schema, options: ModificationHandlerOptions);
11
+ createSql(builder: MigrationBuilder, options: ModificationHandlerCreateSqlOptions): void;
12
+ getSchemaUpdater(): SchemaUpdater;
13
+ describe(): {
14
+ message: string;
15
+ failureWarning: string;
16
+ };
17
+ private getRelation;
18
+ }
19
+ export interface ConvertOneHasManyToOneHasOneRelationModificationData {
20
+ entityName: string;
21
+ fieldName: string;
22
+ newInverseSideFieldName?: string;
23
+ }
24
+ export declare const convertOneHasManyToOneHasOneRelationModification: import("../ModificationHandler").ModificationType<"convertOneHasManyToOneHasOneRelation", ConvertOneHasManyToOneHasOneRelationModificationData>;
25
+ export declare class ConvertOneHasManyToOneHasOneRelationDiffer implements Differ {
26
+ createDiff(originalSchema: Schema, updatedSchema: Schema): import("../../Migration").Migration.Modification<ConvertOneHasManyToOneHasOneRelationModificationData>[];
27
+ }
28
+ //# sourceMappingURL=ConvertOneHasManyToOneHasOneRelationModification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConvertOneHasManyToOneHasOneRelationModification.d.ts","sourceRoot":"","sources":["../../../../src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAS,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAwD,MAAM,4BAA4B,CAAA;AAChH,OAAO,EAEN,MAAM,EACN,mBAAmB,EACnB,mCAAmC,EACnC,0BAA0B,EAC1B,MAAM,wBAAwB,CAAA;AAO/B,qBAAa,uDAAwD,YAAW,mBAAmB,CAAC,oDAAoD,CAAC;IAIvJ,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IALzB,OAAO,CAAC,eAAe,CAA0B;gBAG/B,IAAI,EAAE,oDAAoD,EAC1D,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,0BAA0B;IAgB9C,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,mCAAmC,GAAG,IAAI;IAsBxF,gBAAgB,IAAI,aAAa;IAmCxC,QAAQ;;;;IAOR,OAAO,CAAC,WAAW;CAQnB;AAED,MAAM,WAAW,oDAAoD;IACpE,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,uBAAuB,CAAC,EAAE,MAAM,CAAA;CAChC;AAED,eAAO,MAAM,gDAAgD,iJAG3D,CAAA;AAEF,qBAAa,0CAA2C,YAAW,MAAM;IACxE,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;CAoBxD"}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConvertOneHasManyToOneHasOneRelationDiffer = exports.convertOneHasManyToOneHasOneRelationModification = exports.ConvertOneHasManyToOneHasOneRelationModificationHandler = void 0;
4
+ const schema_1 = require("@contember/schema");
5
+ const schemaUpdateUtils_1 = require("../utils/schemaUpdateUtils");
6
+ const ModificationHandler_1 = require("../ModificationHandler");
7
+ const schema_utils_1 = require("@contember/schema-utils");
8
+ const diffUtils_1 = require("../utils/diffUtils");
9
+ const NoopModification_1 = require("../NoopModification");
10
+ const fields_1 = require("../fields");
11
+ const dbHelpers_1 = require("../../utils/dbHelpers");
12
+ class ConvertOneHasManyToOneHasOneRelationModificationHandler {
13
+ constructor(data, schema, options) {
14
+ this.data = data;
15
+ this.schema = schema;
16
+ this.options = options;
17
+ const { relation } = this.getRelation();
18
+ this.subModification = data.newInverseSideFieldName && relation.inversedBy ?
19
+ fields_1.updateFieldNameModification.createHandler({
20
+ entityName: relation.target,
21
+ fieldName: relation.inversedBy,
22
+ newFieldName: data.newInverseSideFieldName,
23
+ }, schema, this.options)
24
+ : new NoopModification_1.NoopModification();
25
+ }
26
+ createSql(builder, options) {
27
+ const { entity, relation } = this.getRelation();
28
+ const columnName = relation.joiningColumn.columnName;
29
+ const tableNameId = (0, dbHelpers_1.wrapIdentifier)(entity.tableName);
30
+ const columnNameId = (0, dbHelpers_1.wrapIdentifier)(columnName);
31
+ const uniqueConstraintNames = options.databaseMetadata.indexes.filter({
32
+ tableName: entity.tableName,
33
+ columnNames: [columnName],
34
+ }).getNames();
35
+ for (const name of uniqueConstraintNames) {
36
+ builder.sql(`DROP INDEX ${(0, dbHelpers_1.wrapIdentifier)(name)}`);
37
+ }
38
+ builder.sql(`ALTER TABLE ${tableNameId} ADD UNIQUE (${columnNameId})`);
39
+ options.invalidateDatabaseMetadata();
40
+ this.subModification.createSql(builder, options);
41
+ }
42
+ getSchemaUpdater() {
43
+ var _a;
44
+ const { relation } = this.getRelation();
45
+ const { entityName, fieldName } = this.data;
46
+ const inverseFieldName = (_a = this.data.newInverseSideFieldName) !== null && _a !== void 0 ? _a : relation.inversedBy;
47
+ return (0, schemaUpdateUtils_1.updateSchema)((0, schemaUpdateUtils_1.updateModel)((0, schemaUpdateUtils_1.updateEntity)(entityName, (0, schemaUpdateUtils_1.updateField)(fieldName, ({ field: { type, ...field } }) => ({
48
+ type: schema_1.Model.RelationType.OneHasOne,
49
+ ...field,
50
+ })))), this.subModification.getSchemaUpdater(), inverseFieldName ?
51
+ (0, schemaUpdateUtils_1.updateModel)((0, schemaUpdateUtils_1.updateEntity)(relation.target, (0, schemaUpdateUtils_1.updateField)(inverseFieldName, ({ field: { type, ...field } }) => ({
52
+ type: schema_1.Model.RelationType.OneHasOne,
53
+ nullable: true,
54
+ ...field,
55
+ })))) : undefined);
56
+ }
57
+ describe() {
58
+ return {
59
+ message: `Converts ManyHasOne relation to OneHasOne on ${this.data.entityName}.${this.data.fieldName}`,
60
+ failureWarning: 'Make sure no conflicting rows exists, otherwise this may fail in runtime.',
61
+ };
62
+ }
63
+ getRelation() {
64
+ const entity = this.schema.model.entities[this.data.entityName];
65
+ const relation = entity.fields[this.data.fieldName];
66
+ if (relation.type !== schema_1.Model.RelationType.ManyHasOne) {
67
+ throw new Error();
68
+ }
69
+ return { entity, relation };
70
+ }
71
+ }
72
+ exports.ConvertOneHasManyToOneHasOneRelationModificationHandler = ConvertOneHasManyToOneHasOneRelationModificationHandler;
73
+ exports.convertOneHasManyToOneHasOneRelationModification = (0, ModificationHandler_1.createModificationType)({
74
+ id: 'convertOneHasManyToOneHasOneRelation',
75
+ handler: ConvertOneHasManyToOneHasOneRelationModificationHandler,
76
+ });
77
+ class ConvertOneHasManyToOneHasOneRelationDiffer {
78
+ createDiff(originalSchema, updatedSchema) {
79
+ return (0, diffUtils_1.updateRelations)(originalSchema, updatedSchema, ({ originalRelation, updatedRelation, updatedEntity }) => {
80
+ if ((0, schema_utils_1.isOwningRelation)(originalRelation) &&
81
+ (0, schema_utils_1.isOwningRelation)(updatedRelation) &&
82
+ originalRelation.type === schema_1.Model.RelationType.ManyHasOne &&
83
+ updatedRelation.type === schema_1.Model.RelationType.OneHasOne) {
84
+ const isInverseSideRenamed = originalRelation.inversedBy && updatedRelation.inversedBy && originalRelation.inversedBy !== updatedRelation.inversedBy;
85
+ return exports.convertOneHasManyToOneHasOneRelationModification.createModification({
86
+ entityName: updatedEntity.name,
87
+ fieldName: updatedRelation.name,
88
+ ...(isInverseSideRenamed ? {
89
+ newInverseSideFieldName: updatedRelation.inversedBy,
90
+ } : {}),
91
+ });
92
+ }
93
+ return undefined;
94
+ });
95
+ }
96
+ }
97
+ exports.ConvertOneHasManyToOneHasOneRelationDiffer = ConvertOneHasManyToOneHasOneRelationDiffer;
98
+ //# sourceMappingURL=ConvertOneHasManyToOneHasOneRelationModification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConvertOneHasManyToOneHasOneRelationModification.js","sourceRoot":"","sources":["../../../../src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConvertOneToManyRelationModification.d.ts","sourceRoot":"","sources":["../../../../src/modifications/relations/ConvertOneToManyRelationModification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAS,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAwD,MAAM,4BAA4B,CAAA;AAChH,OAAO,EAEN,MAAM,EACN,mBAAmB,EACnB,mCAAmC,EACnC,0BAA0B,EAC1B,MAAM,wBAAwB,CAAA;AAO/B,qBAAa,2CAA4C,YAAW,mBAAmB,CAAC,wCAAwC,CAAC;IAI/H,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IALzB,OAAO,CAAC,eAAe,CAA0B;gBAG/B,IAAI,EAAE,wCAAwC,EAC9C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,0BAA0B;IAgB9C,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,mCAAmC,GAAG,IAAI;IAoBxF,gBAAgB,IAAI,aAAa;IAkCxC,QAAQ;;;IAMR,OAAO,CAAC,WAAW;CAQnB;AAED,MAAM,WAAW,wCAAwC;IACxD,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,uBAAuB,CAAC,EAAE,MAAM,CAAA;CAChC;AAED,eAAO,MAAM,oCAAoC,yHAG/C,CAAA;AAEF,qBAAa,8BAA+B,YAAW,MAAM;IAC5D,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;CAoBxD"}
1
+ {"version":3,"file":"ConvertOneToManyRelationModification.d.ts","sourceRoot":"","sources":["../../../../src/modifications/relations/ConvertOneToManyRelationModification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAS,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAwD,MAAM,4BAA4B,CAAA;AAChH,OAAO,EAEN,MAAM,EACN,mBAAmB,EACnB,mCAAmC,EACnC,0BAA0B,EAC1B,MAAM,wBAAwB,CAAA;AAO/B,qBAAa,2CAA4C,YAAW,mBAAmB,CAAC,wCAAwC,CAAC;IAI/H,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IALzB,OAAO,CAAC,eAAe,CAA0B;gBAG/B,IAAI,EAAE,wCAAwC,EAC9C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,0BAA0B;IAgB9C,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,mCAAmC,GAAG,IAAI;IAqBxF,gBAAgB,IAAI,aAAa;IAmCxC,QAAQ;;;IAMR,OAAO,CAAC,WAAW;CAQnB;AAED,MAAM,WAAW,wCAAwC;IACxD,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,uBAAuB,CAAC,EAAE,MAAM,CAAA;CAChC;AAED,eAAO,MAAM,oCAAoC,yHAG/C,CAAA;AAEF,qBAAa,8BAA+B,YAAW,MAAM;IAC5D,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;CAoBxD"}
@@ -29,10 +29,10 @@ class ConvertOneToManyRelationModificationHandler {
29
29
  const tableNameId = (0, dbHelpers_1.wrapIdentifier)(entity.tableName);
30
30
  const columnNameId = (0, dbHelpers_1.wrapIdentifier)(columnName);
31
31
  builder.sql(`CREATE INDEX ON ${tableNameId} (${columnNameId})`);
32
- const uniqueConstraintNames = options.databaseMetadata.getUniqueConstraintNames({
32
+ const uniqueConstraintNames = options.databaseMetadata.uniqueConstraints.filter({
33
33
  tableName: entity.tableName,
34
- columnNames: [relation.joiningColumn.columnName],
35
- });
34
+ columnNames: [columnName],
35
+ }).getNames();
36
36
  for (const name of uniqueConstraintNames) {
37
37
  builder.sql(`ALTER TABLE ${(0, dbHelpers_1.wrapIdentifier)(entity.tableName)} DROP CONSTRAINT ${(0, dbHelpers_1.wrapIdentifier)(name)}`);
38
38
  }
@@ -40,13 +40,15 @@ class ConvertOneToManyRelationModificationHandler {
40
40
  this.subModification.createSql(builder, options);
41
41
  }
42
42
  getSchemaUpdater() {
43
+ var _a;
43
44
  const { relation } = this.getRelation();
44
45
  const { entityName, fieldName } = this.data;
46
+ const inverseFieldName = (_a = this.data.newInverseSideFieldName) !== null && _a !== void 0 ? _a : relation.inversedBy;
45
47
  return (0, schemaUpdateUtils_1.updateSchema)((0, schemaUpdateUtils_1.updateModel)((0, schemaUpdateUtils_1.updateEntity)(entityName, (0, schemaUpdateUtils_1.updateField)(fieldName, ({ field: { type, orphanRemoval, ...field } }) => ({
46
48
  type: schema_1.Model.RelationType.ManyHasOne,
47
49
  ...field,
48
- })))), this.subModification.getSchemaUpdater(), this.data.newInverseSideFieldName ?
49
- (0, schemaUpdateUtils_1.updateModel)((0, schemaUpdateUtils_1.updateEntity)(relation.target, (0, schemaUpdateUtils_1.updateField)(this.data.newInverseSideFieldName, ({ field: { type, nullable, ...field } }) => ({
50
+ })))), this.subModification.getSchemaUpdater(), inverseFieldName ?
51
+ (0, schemaUpdateUtils_1.updateModel)((0, schemaUpdateUtils_1.updateEntity)(relation.target, (0, schemaUpdateUtils_1.updateField)(inverseFieldName, ({ field: { type, nullable, ...field } }) => ({
50
52
  type: schema_1.Model.RelationType.OneHasMany,
51
53
  ...field,
52
54
  })))) : undefined);
@@ -1 +1 @@
1
- {"version":3,"file":"ConvertOneToManyRelationModification.js","sourceRoot":"","sources":["../../../../src/modifications/relations/ConvertOneToManyRelationModification.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConvertOneToManyRelationModification.js","sourceRoot":"","sources":["../../../../src/modifications/relations/ConvertOneToManyRelationModification.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations';
2
2
  import { Model } from '@contember/schema';
3
- import { SchemaDatabaseMetadata } from '@contember/schema-utils';
3
+ import { DatabaseMetadata } from '@contember/database';
4
4
  export declare const addForeignKeyConstraint: ({ builder, entity, relation, targetEntity, recreate, databaseMetadata, invalidateDatabaseMetadata }: {
5
5
  recreate?: boolean | undefined;
6
6
  builder: MigrationBuilder;
7
7
  entity: Model.Entity;
8
8
  targetEntity: Model.Entity;
9
9
  relation: Model.OneHasOneOwningRelation | Model.ManyHasOneRelation;
10
- databaseMetadata: SchemaDatabaseMetadata;
10
+ databaseMetadata: DatabaseMetadata;
11
11
  invalidateDatabaseMetadata: () => void;
12
12
  }) => void;
13
13
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/modifications/relations/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAEhE,eAAO,MAAM,uBAAuB;;aAE1B,gBAAgB;YACjB,MAAM,MAAM;kBACN,MAAM,MAAM;cAChB,MAAM,uBAAuB,GAAG,MAAM,kBAAkB;sBAChD,sBAAsB;gCACZ,MAAM,IAAI;UA0BtC,CAAA"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/modifications/relations/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEtD,eAAO,MAAM,uBAAuB;;aAE1B,gBAAgB;YACjB,MAAM,MAAM;kBACN,MAAM,MAAM;cAChB,MAAM,uBAAuB,GAAG,MAAM,kBAAkB;sBAChD,gBAAgB;gCACN,MAAM,IAAI;UA0BtC,CAAA"}
@@ -5,12 +5,12 @@ const schema_1 = require("@contember/schema");
5
5
  const dbHelpers_1 = require("../../utils/dbHelpers");
6
6
  const addForeignKeyConstraint = ({ builder, entity, relation, targetEntity, recreate = false, databaseMetadata, invalidateDatabaseMetadata }) => {
7
7
  if (recreate) {
8
- const fkNames = databaseMetadata.getForeignKeyConstraintNames({
8
+ const fkNames = databaseMetadata.foreignKeys.filter({
9
9
  fromTable: entity.tableName,
10
10
  fromColumn: relation.joiningColumn.columnName,
11
11
  toTable: targetEntity.tableName,
12
12
  toColumn: targetEntity.primaryColumn,
13
- });
13
+ }).getNames();
14
14
  for (const name of fkNames) {
15
15
  builder.sql(`ALTER TABLE ${(0, dbHelpers_1.wrapIdentifier)(entity.tableName)} DROP CONSTRAINT ${(0, dbHelpers_1.wrapIdentifier)(name)}`);
16
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/modifications/relations/helpers.ts"],"names":[],"mappings":";;;AACA,8CAAyC;AACzC,qDAAsD;AAG/C,MAAM,uBAAuB,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,GAAG,KAAK,EAAE,gBAAgB,EAAE,0BAA0B,EAQhJ,EAAE,EAAE;IACJ,IAAI,QAAQ,EAAE;QACb,MAAM,OAAO,GAAG,gBAAgB,CAAC,4BAA4B,CAC5D;YACC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,UAAU,EAAE,QAAQ,CAAC,aAAa,CAAC,UAAU;YAC7C,OAAO,EAAE,YAAY,CAAC,SAAS;YAC/B,QAAQ,EAAE,YAAY,CAAC,aAAa;SACpC,CACD,CAAA;QACD,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE;YAC3B,OAAO,CAAC,GAAG,CAAC,eAAe,IAAA,0BAAc,EAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,IAAA,0BAAc,EAAC,IAAI,CAAC,EAAE,CAAC,CAAA;SACtG;KACD;IAED,MAAM,QAAQ,GAAI;QACjB,CAAC,cAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU;QACpC,CAAC,cAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS;QACnC,CAAC,cAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW;KAC5B,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;IAC5C,OAAO,CAAC,GAAG,CAAC,eAAe,IAAA,0BAAc,EAAC,MAAM,CAAC,SAAS,CAAC;qBACvC,IAAA,0BAAc,EAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC;eACvD,IAAA,0BAAc,EAAC,YAAY,CAAC,SAAS,CAAC,IAAI,IAAA,0BAAc,EAAC,YAAY,CAAC,aAAa,CAAC,eAAe,QAAQ,iCAAiC,CAAC,CAAA;IAE3J,0BAA0B,EAAE,CAAA;AAC7B,CAAC,CAAA;AAjCY,QAAA,uBAAuB,2BAiCnC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/modifications/relations/helpers.ts"],"names":[],"mappings":";;;AACA,8CAAyC;AACzC,qDAAsD;AAG/C,MAAM,uBAAuB,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,GAAG,KAAK,EAAE,gBAAgB,EAAE,0BAA0B,EAQhJ,EAAE,EAAE;IACJ,IAAI,QAAQ,EAAE;QACb,MAAM,OAAO,GAAG,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAClD;YACC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,UAAU,EAAE,QAAQ,CAAC,aAAa,CAAC,UAAU;YAC7C,OAAO,EAAE,YAAY,CAAC,SAAS;YAC/B,QAAQ,EAAE,YAAY,CAAC,aAAa;SACpC,CACD,CAAC,QAAQ,EAAE,CAAA;QACZ,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE;YAC3B,OAAO,CAAC,GAAG,CAAC,eAAe,IAAA,0BAAc,EAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,IAAA,0BAAc,EAAC,IAAI,CAAC,EAAE,CAAC,CAAA;SACtG;KACD;IAED,MAAM,QAAQ,GAAI;QACjB,CAAC,cAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU;QACpC,CAAC,cAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS;QACnC,CAAC,cAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW;KAC5B,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;IAC5C,OAAO,CAAC,GAAG,CAAC,eAAe,IAAA,0BAAc,EAAC,MAAM,CAAC,SAAS,CAAC;qBACvC,IAAA,0BAAc,EAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC;eACvD,IAAA,0BAAc,EAAC,YAAY,CAAC,SAAS,CAAC,IAAI,IAAA,0BAAc,EAAC,YAAY,CAAC,aAAa,CAAC,eAAe,QAAQ,iCAAiC,CAAC,CAAA;IAE3J,0BAA0B,EAAE,CAAA;AAC7B,CAAC,CAAA;AAjCY,QAAA,uBAAuB,2BAiCnC"}