@contember/schema-migrations 1.2.0-alpha.18 → 1.2.0-alpha.19
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/Migration.d.ts +2 -0
- package/dist/src/Migration.d.ts.map +1 -1
- package/dist/src/Migration.js +2 -2
- package/dist/src/Migration.js.map +1 -1
- package/dist/src/MigrationCreator.d.ts +3 -1
- package/dist/src/MigrationCreator.d.ts.map +1 -1
- package/dist/src/MigrationCreator.js +2 -2
- package/dist/src/MigrationCreator.js.map +1 -1
- package/dist/src/MigrationFilesManager.d.ts.map +1 -1
- package/dist/src/MigrationFilesManager.js +10 -19
- package/dist/src/MigrationFilesManager.js.map +1 -1
- package/dist/src/MigrationsResolver.d.ts.map +1 -1
- package/dist/src/MigrationsResolver.js +2 -0
- package/dist/src/MigrationsResolver.js.map +1 -1
- package/dist/src/SchemaDiffer.d.ts +6 -1
- package/dist/src/SchemaDiffer.d.ts.map +1 -1
- package/dist/src/SchemaDiffer.js +10 -6
- package/dist/src/SchemaDiffer.js.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/settings/UpdateSettingsModification.d.ts +28 -0
- package/dist/src/modifications/settings/UpdateSettingsModification.d.ts.map +1 -0
- package/dist/src/modifications/settings/UpdateSettingsModification.js +64 -0
- package/dist/src/modifications/settings/UpdateSettingsModification.js.map +1 -0
- package/dist/src/modifications/settings/index.d.ts +2 -0
- package/dist/src/modifications/settings/index.d.ts.map +1 -0
- package/dist/src/modifications/settings/index.js +18 -0
- package/dist/src/modifications/settings/index.js.map +1 -0
- package/dist/src/modifications/utils/schemaUpdateUtils.d.ts.map +1 -1
- package/dist/src/modifications/utils/schemaUpdateUtils.js +8 -1
- package/dist/src/modifications/utils/schemaUpdateUtils.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/tests/cases/integration/createView.test.js +80 -0
- package/dist/tests/cases/integration/createView.test.js.map +1 -1
- package/dist/tests/cases/integration/removeField.test.js +72 -0
- package/dist/tests/cases/integration/removeField.test.js.map +1 -1
- package/dist/tests/scripts/checkCreateConsistentMigrations.js +5 -4
- package/dist/tests/scripts/checkCreateConsistentMigrations.js.map +1 -1
- package/dist/tests/src/tests.d.ts.map +1 -1
- package/dist/tests/src/tests.js +15 -5
- package/dist/tests/src/tests.js.map +1 -1
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -6
- package/src/Migration.ts +3 -1
- package/src/MigrationCreator.ts +2 -1
- package/src/MigrationFilesManager.ts +10 -20
- package/src/MigrationsResolver.ts +1 -0
- package/src/SchemaDiffer.ts +15 -6
- package/src/modifications/ModificationHandlerFactory.ts +2 -0
- package/src/modifications/settings/UpdateSettingsModification.ts +87 -0
- package/src/modifications/settings/index.ts +1 -0
- package/src/modifications/utils/schemaUpdateUtils.ts +8 -1
- package/src/tsconfig.json +2 -2
- package/tests/cases/integration/createView.test.ts +70 -0
- package/tests/cases/integration/removeField.test.ts +58 -0
- package/tests/scripts/checkCreateConsistentMigrations.ts +3 -2
- package/tests/src/tests.ts +16 -7
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
2
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
9
|
const tests_1 = require("../../src/tests");
|
|
4
10
|
const schema_definition_1 = require("@contember/schema-definition");
|
|
5
11
|
const schema_1 = require("@contember/schema");
|
|
6
12
|
const tags_1 = require("../../src/tags");
|
|
13
|
+
const schema_definition_2 = require("@contember/schema-definition");
|
|
7
14
|
(0, tests_1.testMigrations)('remove relation (many has one)', {
|
|
8
15
|
originalSchema: new schema_definition_1.SchemaBuilder()
|
|
9
16
|
.entity('Author', e => e.column('name', c => c.type(schema_1.Model.ColumnType.String)))
|
|
@@ -111,4 +118,69 @@ const tags_1 = require("../../src/tags");
|
|
|
111
118
|
],
|
|
112
119
|
sql: (0, tags_1.SQL) ``,
|
|
113
120
|
});
|
|
121
|
+
var DropIndexOrigSchema;
|
|
122
|
+
(function (DropIndexOrigSchema) {
|
|
123
|
+
let Article = class Article {
|
|
124
|
+
constructor() {
|
|
125
|
+
this.title = schema_definition_2.SchemaDefinition.stringColumn();
|
|
126
|
+
this.author = schema_definition_2.SchemaDefinition.manyHasOne(Author);
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
Article = __decorate([
|
|
130
|
+
schema_definition_2.SchemaDefinition.Unique('title', 'author'),
|
|
131
|
+
schema_definition_2.SchemaDefinition.Index('title', 'author')
|
|
132
|
+
], Article);
|
|
133
|
+
DropIndexOrigSchema.Article = Article;
|
|
134
|
+
class Author {
|
|
135
|
+
constructor() {
|
|
136
|
+
this.name = schema_definition_2.SchemaDefinition.stringColumn();
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
DropIndexOrigSchema.Author = Author;
|
|
140
|
+
})(DropIndexOrigSchema || (DropIndexOrigSchema = {}));
|
|
141
|
+
var DropIndexUpSchema;
|
|
142
|
+
(function (DropIndexUpSchema) {
|
|
143
|
+
let Article = class Article {
|
|
144
|
+
constructor() {
|
|
145
|
+
this.title = schema_definition_2.SchemaDefinition.stringColumn();
|
|
146
|
+
this.author = schema_definition_2.SchemaDefinition.stringColumn();
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
Article = __decorate([
|
|
150
|
+
schema_definition_2.SchemaDefinition.Unique('title', 'author'),
|
|
151
|
+
schema_definition_2.SchemaDefinition.Index('title', 'author')
|
|
152
|
+
], Article);
|
|
153
|
+
DropIndexUpSchema.Article = Article;
|
|
154
|
+
class Author {
|
|
155
|
+
constructor() {
|
|
156
|
+
this.name = schema_definition_2.SchemaDefinition.stringColumn();
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
DropIndexUpSchema.Author = Author;
|
|
160
|
+
})(DropIndexUpSchema || (DropIndexUpSchema = {}));
|
|
161
|
+
(0, tests_1.testMigrations)('test drop index / unique when removing a field', {
|
|
162
|
+
originalSchema: schema_definition_2.SchemaDefinition.createModel(DropIndexOrigSchema),
|
|
163
|
+
updatedSchema: schema_definition_2.SchemaDefinition.createModel(DropIndexUpSchema),
|
|
164
|
+
diff: [{
|
|
165
|
+
modification: 'removeField',
|
|
166
|
+
entityName: 'Article',
|
|
167
|
+
fieldName: 'author',
|
|
168
|
+
}, {
|
|
169
|
+
modification: 'createColumn',
|
|
170
|
+
entityName: 'Article',
|
|
171
|
+
field: { name: 'author', columnName: 'author', nullable: true, type: 'String', columnType: 'text' },
|
|
172
|
+
}, {
|
|
173
|
+
modification: 'createUniqueConstraint',
|
|
174
|
+
entityName: 'Article',
|
|
175
|
+
unique: { name: 'unique_Article_title_author_7157ea', fields: ['title', 'author'] },
|
|
176
|
+
}, {
|
|
177
|
+
modification: 'createIndex',
|
|
178
|
+
entityName: 'Article',
|
|
179
|
+
index: { name: 'idx_Article_title_author_7157ea', fields: ['title', 'author'] },
|
|
180
|
+
}],
|
|
181
|
+
sql: (0, tags_1.SQL) `ALTER TABLE "article" DROP "author_id";
|
|
182
|
+
ALTER TABLE "article" ADD "author" text;
|
|
183
|
+
ALTER TABLE "article" ADD CONSTRAINT "unique_Article_title_author_7157ea" UNIQUE ("title", "author");
|
|
184
|
+
CREATE INDEX "idx_Article_title_author_7157ea" ON "article" ("title", "author");`,
|
|
185
|
+
});
|
|
114
186
|
//# sourceMappingURL=removeField.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removeField.test.js","sourceRoot":"","sources":["../../../../tests/cases/integration/removeField.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"removeField.test.js","sourceRoot":"","sources":["../../../../tests/cases/integration/removeField.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const
|
|
3
|
+
const node_path_1 = require("node:path");
|
|
4
4
|
const src_1 = require("../../src");
|
|
5
5
|
const schema_utils_1 = require("@contember/schema-utils");
|
|
6
6
|
(async () => {
|
|
7
7
|
// eslint-disable-next-line no-console
|
|
8
|
-
console.log((0,
|
|
9
|
-
const migrationsResolver = new src_1.MigrationsResolver(new src_1.MigrationFilesManager((0,
|
|
8
|
+
console.log((0, node_path_1.relative)(process.cwd(), process.argv[2]));
|
|
9
|
+
const migrationsResolver = new src_1.MigrationsResolver(new src_1.MigrationFilesManager((0, node_path_1.relative)(process.cwd(), process.argv[2])));
|
|
10
10
|
const modificationHandlerFactory = new src_1.ModificationHandlerFactory(src_1.ModificationHandlerFactory.defaultFactoryMap);
|
|
11
11
|
const differ = new src_1.SchemaDiffer(new src_1.SchemaMigrator(modificationHandlerFactory));
|
|
12
12
|
const migrator = new src_1.SchemaMigrator(modificationHandlerFactory);
|
|
@@ -14,7 +14,8 @@ const schema_utils_1 = require("@contember/schema-utils");
|
|
|
14
14
|
for (const migration of await migrationsResolver.getMigrations()) {
|
|
15
15
|
const nextSchema = migrator.applyModifications(schema, migration.modifications, migration.formatVersion);
|
|
16
16
|
(0, schema_utils_1.schemaType)(nextSchema);
|
|
17
|
-
|
|
17
|
+
const { meta, ...nextSchemaWithoutMeta } = nextSchema;
|
|
18
|
+
differ.diffSchemas(schema, nextSchemaWithoutMeta);
|
|
18
19
|
schema = nextSchema;
|
|
19
20
|
}
|
|
20
21
|
// eslint-disable-next-line no-console
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkCreateConsistentMigrations.js","sourceRoot":"","sources":["../../../tests/scripts/checkCreateConsistentMigrations.ts"],"names":[],"mappings":";;AAAA
|
|
1
|
+
{"version":3,"file":"checkCreateConsistentMigrations.js","sourceRoot":"","sources":["../../../tests/scripts/checkCreateConsistentMigrations.ts"],"names":[],"mappings":";;AAAA,yCAAoC;AACpC,mCAMkB;AAClB,0DACC;AAAA,CAAC,KAAK,IAAI,EAAE;IACZ,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,IAAA,oBAAQ,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACrD,MAAM,kBAAkB,GAAG,IAAI,wBAAkB,CAAC,IAAI,2BAAqB,CAAC,IAAA,oBAAQ,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACtH,MAAM,0BAA0B,GAAG,IAAI,gCAA0B,CAAC,gCAA0B,CAAC,iBAAiB,CAAC,CAAA;IAC/G,MAAM,MAAM,GAAG,IAAI,kBAAY,CAAC,IAAI,oBAAc,CAAC,0BAA0B,CAAC,CAAC,CAAA;IAC/E,MAAM,QAAQ,GAAG,IAAI,oBAAc,CAAC,0BAA0B,CAAC,CAAA;IAC/D,IAAI,MAAM,GAAG,0BAAW,CAAA;IACxB,KAAK,MAAM,SAAS,IAAI,MAAM,kBAAkB,CAAC,aAAa,EAAE,EAAE;QACjE,MAAM,UAAU,GAAG,QAAQ,CAAC,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,aAAa,EAAE,SAAS,CAAC,aAAa,CAAC,CAAA;QACxG,IAAA,yBAAU,EAAC,UAAU,CAAC,CAAA;QACtB,MAAM,EAAE,IAAI,EAAE,GAAG,qBAAqB,EAAE,GAAG,UAAU,CAAA;QACrD,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;QAEjD,MAAM,GAAG,UAAU,CAAA;KACnB;IACD,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AAClB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;IACd,sCAAsC;IACtC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAChB,CAAC,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../../../tests/src/tests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA4E,MAAM,WAAW,CAAA;AAC/G,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../../../tests/src/tests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA4E,MAAM,WAAW,CAAA;AAC/G,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAY9C,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,SAAS,CAAC,YAAY,EAAE,CAAA;IAC9B,cAAc,EAAE,KAAK,CAAC,MAAM,CAAA;IAC5B,aAAa,EAAE,KAAK,CAAC,MAAM,CAAA;IAC3B,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,CAAA;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,wBAAgB,eAAe,CAC9B,aAAa,EAAE,KAAK,CAAC,MAAM,EAC3B,YAAY,EAAE,KAAK,CAAC,MAAM,EAC1B,YAAY,EAAE,SAAS,CAAC,YAAY,EAAE,EACtC,WAAW,GAAE,GAAG,CAAC,MAAiB,EAClC,UAAU,GAAE,GAAG,CAAC,MAAiB,QAyBjC;AAED,wBAAgB,aAAa,CAC5B,aAAa,EAAE,KAAK,CAAC,MAAM,EAC3B,IAAI,EAAE,SAAS,CAAC,YAAY,EAAE,EAC9B,aAAa,EAAE,KAAK,CAAC,MAAM,EAC3B,WAAW,GAAE,GAAG,CAAC,MAAiB,EAClC,WAAW,GAAE,GAAG,CAAC,MAAiB,QAclC;AAED,wBAAgB,eAAe,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,WAAW,EAAE,MAAM,QAUhH;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,WAAW,QAevI"}
|
package/dist/tests/src/tests.js
CHANGED
|
@@ -4,15 +4,24 @@ exports.testMigrations = exports.testGenerateSql = exports.testApplyDiff = expor
|
|
|
4
4
|
const src_1 = require("../../src");
|
|
5
5
|
const database_migrations_1 = require("@contember/database-migrations");
|
|
6
6
|
const vitest_1 = require("vitest");
|
|
7
|
+
const schema_utils_1 = require("@contember/schema-utils");
|
|
7
8
|
const modificationFactory = new src_1.ModificationHandlerFactory(src_1.ModificationHandlerFactory.defaultFactoryMap);
|
|
8
9
|
const schemaMigrator = new src_1.SchemaMigrator(modificationFactory);
|
|
9
10
|
const schemaDiffer = new src_1.SchemaDiffer(schemaMigrator);
|
|
10
11
|
const emptyAcl = { roles: {} };
|
|
11
12
|
function testDiffSchemas(originalModel, updatedModel, expectedDiff, originalAcl = emptyAcl, updatedAcl = emptyAcl) {
|
|
12
|
-
const actualDiff = schemaDiffer.diffSchemas({ model: originalModel, acl: originalAcl, validation: {} }, { model: updatedModel, acl: updatedAcl, validation: {} },
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
const actualDiff = schemaDiffer.diffSchemas({ ...schema_utils_1.emptySchema, model: originalModel, acl: originalAcl, validation: {} }, { ...schema_utils_1.emptySchema, model: updatedModel, acl: updatedAcl, validation: {} }, { skipRecreateValidation: true });
|
|
14
|
+
try {
|
|
15
|
+
vitest_1.assert.deepStrictEqual(actualDiff, expectedDiff);
|
|
16
|
+
}
|
|
17
|
+
catch (e) {
|
|
18
|
+
// eslint-disable-next-line no-console
|
|
19
|
+
console.log(JSON.stringify(actualDiff));
|
|
20
|
+
throw e;
|
|
21
|
+
}
|
|
22
|
+
const { meta, ...schema } = schemaMigrator.applyModifications({ ...schema_utils_1.emptySchema, model: originalModel, acl: originalAcl, validation: {} }, actualDiff, src_1.VERSION_LATEST);
|
|
15
23
|
vitest_1.assert.deepStrictEqual(schema, {
|
|
24
|
+
...schema_utils_1.emptySchema,
|
|
16
25
|
model: updatedModel,
|
|
17
26
|
acl: updatedAcl,
|
|
18
27
|
validation: {},
|
|
@@ -20,8 +29,9 @@ function testDiffSchemas(originalModel, updatedModel, expectedDiff, originalAcl
|
|
|
20
29
|
}
|
|
21
30
|
exports.testDiffSchemas = testDiffSchemas;
|
|
22
31
|
function testApplyDiff(originalModel, diff, expectedModel, originalAcl = emptyAcl, expectedAcl = emptyAcl) {
|
|
23
|
-
const { meta, ...actualSchema } = schemaMigrator.applyModifications({ model: originalModel, acl: originalAcl, validation: {} }, diff, src_1.VERSION_LATEST);
|
|
32
|
+
const { meta, ...actualSchema } = schemaMigrator.applyModifications({ ...schema_utils_1.emptySchema, model: originalModel, acl: originalAcl, validation: {} }, diff, src_1.VERSION_LATEST);
|
|
24
33
|
vitest_1.assert.deepStrictEqual(actualSchema, {
|
|
34
|
+
...schema_utils_1.emptySchema,
|
|
25
35
|
model: expectedModel,
|
|
26
36
|
acl: expectedAcl,
|
|
27
37
|
validation: {},
|
|
@@ -29,7 +39,7 @@ function testApplyDiff(originalModel, diff, expectedModel, originalAcl = emptyAc
|
|
|
29
39
|
}
|
|
30
40
|
exports.testApplyDiff = testApplyDiff;
|
|
31
41
|
function testGenerateSql(originalSchema, diff, expectedSql) {
|
|
32
|
-
let schema = { model: originalSchema, acl: emptyAcl, validation: {} };
|
|
42
|
+
let schema = { ...schema_utils_1.emptySchema, model: originalSchema, acl: emptyAcl, validation: {} };
|
|
33
43
|
const builder = (0, database_migrations_1.createMigrationBuilder)();
|
|
34
44
|
for (let { modification, ...data } of diff) {
|
|
35
45
|
const modificationHandler = modificationFactory.create(modification, data, schema, { formatVersion: src_1.VERSION_LATEST, systemSchema: 'system' });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tests.js","sourceRoot":"","sources":["../../../tests/src/tests.ts"],"names":[],"mappings":";;;AAAA,mCAA+G;AAE/G,wEAAuE;AACvE,mCAA6C;
|
|
1
|
+
{"version":3,"file":"tests.js","sourceRoot":"","sources":["../../../tests/src/tests.ts"],"names":[],"mappings":"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"}
|