@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.
- package/dist/src/SchemaDiffer.d.ts.map +1 -1
- package/dist/src/SchemaDiffer.js +2 -0
- package/dist/src/SchemaDiffer.js.map +1 -1
- package/dist/src/modifications/ModificationHandler.d.ts +2 -2
- package/dist/src/modifications/ModificationHandler.d.ts.map +1 -1
- package/dist/src/modifications/ModificationHandlerFactory.d.ts.map +1 -1
- package/dist/src/modifications/ModificationHandlerFactory.js +2 -0
- package/dist/src/modifications/ModificationHandlerFactory.js.map +1 -1
- package/dist/src/modifications/constraints/CreateUniqueConstraintModification.d.ts.map +1 -1
- package/dist/src/modifications/constraints/CreateUniqueConstraintModification.js +8 -1
- package/dist/src/modifications/constraints/CreateUniqueConstraintModification.js.map +1 -1
- package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.d.ts.map +1 -1
- package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.js +2 -2
- package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.js.map +1 -1
- package/dist/src/modifications/indexes/RemoveIndexModification.js +1 -1
- package/dist/src/modifications/indexes/RemoveIndexModification.js.map +1 -1
- package/dist/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.d.ts +28 -0
- package/dist/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.d.ts.map +1 -0
- package/dist/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.js +98 -0
- package/dist/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.js.map +1 -0
- package/dist/src/modifications/relations/ConvertOneToManyRelationModification.d.ts.map +1 -1
- package/dist/src/modifications/relations/ConvertOneToManyRelationModification.js +7 -5
- package/dist/src/modifications/relations/ConvertOneToManyRelationModification.js.map +1 -1
- package/dist/src/modifications/relations/helpers.d.ts +2 -2
- package/dist/src/modifications/relations/helpers.d.ts.map +1 -1
- package/dist/src/modifications/relations/helpers.js +2 -2
- package/dist/src/modifications/relations/helpers.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/tests/cases/integration/convertManyHasOneToOneHasOneRelation.test.d.ts +2 -0
- package/dist/tests/cases/integration/convertManyHasOneToOneHasOneRelation.test.d.ts.map +1 -0
- package/dist/tests/cases/integration/convertManyHasOneToOneHasOneRelation.test.js +59 -0
- package/dist/tests/cases/integration/convertManyHasOneToOneHasOneRelation.test.js.map +1 -0
- package/dist/tests/cases/integration/convertOneToManyRelation.test.js +60 -0
- package/dist/tests/cases/integration/convertOneToManyRelation.test.js.map +1 -1
- package/dist/tests/cases/integration/createAndDropIndex.test.js +10 -0
- package/dist/tests/cases/integration/createAndDropIndex.test.js.map +1 -1
- package/dist/tests/cases/integration/createRelationInverseSide.test.js +17 -0
- package/dist/tests/cases/integration/createRelationInverseSide.test.js.map +1 -1
- package/dist/tests/cases/integration/createUnique.test.d.ts +2 -0
- package/dist/tests/cases/integration/createUnique.test.d.ts.map +1 -0
- package/dist/tests/cases/integration/createUnique.test.js +168 -0
- package/dist/tests/cases/integration/createUnique.test.js.map +1 -0
- package/dist/tests/cases/integration/removeField.test.js +12 -0
- package/dist/tests/cases/integration/removeField.test.js.map +1 -1
- package/dist/tests/cases/integration/updateRelationOnDelete.test.js +17 -0
- package/dist/tests/cases/integration/updateRelationOnDelete.test.js.map +1 -1
- package/dist/tests/src/tests.d.ts +4 -2
- package/dist/tests/src/tests.d.ts.map +1 -1
- package/dist/tests/src/tests.js +5 -4
- package/dist/tests/src/tests.js.map +1 -1
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -6
- package/src/SchemaDiffer.ts +2 -0
- package/src/modifications/ModificationHandler.ts +2 -2
- package/src/modifications/ModificationHandlerFactory.ts +2 -0
- package/src/modifications/constraints/CreateUniqueConstraintModification.ts +8 -1
- package/src/modifications/constraints/RemoveUniqueConstraintModification.ts +8 -10
- package/src/modifications/indexes/RemoveIndexModification.ts +1 -1
- package/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.ts +145 -0
- package/src/modifications/relations/ConvertOneToManyRelationModification.ts +7 -5
- package/src/modifications/relations/helpers.ts +4 -4
- package/src/tsconfig.json +1 -0
- package/tests/cases/integration/convertManyHasOneToOneHasOneRelation.test.ts +48 -0
- package/tests/cases/integration/convertOneToManyRelation.test.ts +65 -0
- package/tests/cases/integration/createAndDropIndex.test.ts +10 -0
- package/tests/cases/integration/createRelationInverseSide.test.ts +17 -0
- package/tests/cases/integration/createUnique.test.ts +146 -0
- package/tests/cases/integration/removeField.test.ts +12 -0
- package/tests/cases/integration/updateRelationOnDelete.test.ts +17 -0
- 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;
|
|
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"}
|
package/dist/src/SchemaDiffer.js
CHANGED
|
@@ -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":";;;AACA,0DAAkK;AAGlK,6CAAsD;AACtD,mDA+BwB;AACxB,qDAAoF;AACpF,qDAA8E;AAC9E,qDAAuG;AACvG,+FAAqF;AACrF,+FAAqF;AACrF,+FAAqF;AACrF,uDAA+D;AAC/D,uGAA6F;
|
|
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 {
|
|
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:
|
|
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,
|
|
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;
|
|
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;
|
|
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;
|
|
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
|
-
|
|
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,
|
|
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;
|
|
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.
|
|
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":";;;;;;AAEA,kEAAqF;AACrF,gEAK+B;AAC/B,sEAAuC;AACvC,mCAAoD;AACpD,qDAAsD;AAEtD,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;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAE/B,MAAM,OAAO,GAAG,IAAA,kCAA0B,EAAC;YAC1C,MAAM;YACN,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;SACxB,CAAC,CAAA;QAEF,MAAM,eAAe,GAAG,gBAAgB,CAAC,
|
|
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.
|
|
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,
|
|
1
|
+
{"version":3,"file":"RemoveIndexModification.js","sourceRoot":"","sources":["../../../../src/modifications/indexes/RemoveIndexModification.ts"],"names":[],"mappings":"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"}
|
package/dist/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.d.ts
ADDED
|
@@ -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
|
package/dist/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.d.ts.map
ADDED
|
@@ -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
|
package/dist/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.js.map
ADDED
|
@@ -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;
|
|
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.
|
|
32
|
+
const uniqueConstraintNames = options.databaseMetadata.uniqueConstraints.filter({
|
|
33
33
|
tableName: entity.tableName,
|
|
34
|
-
columnNames: [
|
|
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(),
|
|
49
|
-
(0, schemaUpdateUtils_1.updateModel)((0, schemaUpdateUtils_1.updateEntity)(relation.target, (0, schemaUpdateUtils_1.updateField)(
|
|
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":";;;AACA,8CAAiD;AACjD,kEAAgH;AAChH,gEAM+B;AAC/B,0DAA0D;AAC1D,kDAAoD;AACpD,0DAAsD;AACtD,sCAAuD;AACvD,qDAAsD;AAEtD,MAAa,2CAA2C;IAGvD,YACkB,IAA8C,EAC9C,MAAc,EACd,OAAmC;QAFnC,SAAI,GAAJ,IAAI,CAA0C;QAC9C,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAA4B;QAEpD,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QACvC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,uBAAuB,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC3E,oCAA2B,CAAC,aAAa,CACxC;gBACC,UAAU,EAAE,QAAQ,CAAC,MAAM;gBAC3B,SAAS,EAAE,QAAQ,CAAC,UAAU;gBAC9B,YAAY,EAAE,IAAI,CAAC,uBAAuB;aAC1C,EACD,MAAM,EACN,IAAI,CAAC,OAAO,CACZ;YACD,CAAC,CAAC,IAAI,mCAAgB,EAAE,CAAA;IAC1B,CAAC;IAEM,SAAS,CAAC,OAAyB,EAAE,OAA4C;QACvF,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QAC/C,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAA;QAEpD,MAAM,WAAW,GAAG,IAAA,0BAAc,EAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACpD,MAAM,YAAY,GAAG,IAAA,0BAAc,EAAC,UAAU,CAAC,CAAA;QAC/C,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,KAAK,YAAY,GAAG,CAAC,CAAA;QAE/D,MAAM,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC,
|
|
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 {
|
|
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:
|
|
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,
|
|
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.
|
|
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,
|
|
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"}
|