@contember/engine-system-api 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/SystemContainer.d.ts +3 -2
- package/dist/src/SystemContainer.d.ts.map +1 -1
- package/dist/src/SystemContainer.js +2 -1
- package/dist/src/SystemContainer.js.map +1 -1
- package/dist/src/bin/runMigrations.js +2 -5
- package/dist/src/bin/runMigrations.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/migrations/2022-10-03-110000-table-on-delete.js +2 -2
- package/dist/src/migrations/2022-10-03-110000-table-on-delete.js.map +1 -1
- package/dist/src/migrations/2023-09-11-174000-fix-on-delete.d.ts.map +1 -1
- package/dist/src/migrations/2023-09-11-174000-fix-on-delete.js +10 -13
- package/dist/src/migrations/2023-09-11-174000-fix-on-delete.js.map +1 -1
- package/dist/src/migrations/2023-10-19-173000-fix-unique.d.ts.map +1 -1
- package/dist/src/migrations/2023-10-19-173000-fix-unique.js +1 -1
- package/dist/src/migrations/2023-10-19-173000-fix-unique.js.map +1 -1
- package/dist/src/migrations/runner.d.ts +2 -3
- package/dist/src/migrations/runner.d.ts.map +1 -1
- package/dist/src/migrations/runner.js +1 -1
- package/dist/src/migrations/runner.js.map +1 -1
- package/dist/src/migrations/types.d.ts +2 -3
- package/dist/src/migrations/types.d.ts.map +1 -1
- package/dist/src/model/ProjectInitializer.d.ts +3 -3
- package/dist/src/model/ProjectInitializer.d.ts.map +1 -1
- package/dist/src/model/ProjectInitializer.js +3 -3
- package/dist/src/model/ProjectInitializer.js.map +1 -1
- package/dist/src/model/database/DatabaseContext.d.ts +2 -3
- package/dist/src/model/database/DatabaseContext.d.ts.map +1 -1
- package/dist/src/model/database/DatabaseContext.js +2 -3
- package/dist/src/model/database/DatabaseContext.js.map +1 -1
- package/dist/src/model/metadata/SchemaDatabaseMetadataResolverStore.d.ts +4 -5
- package/dist/src/model/metadata/SchemaDatabaseMetadataResolverStore.d.ts.map +1 -1
- package/dist/src/model/metadata/SchemaDatabaseMetadataResolverStore.js +1 -1
- package/dist/src/model/metadata/SchemaDatabaseMetadataResolverStore.js.map +1 -1
- package/dist/src/model/metadata/index.d.ts +0 -2
- package/dist/src/model/metadata/index.d.ts.map +1 -1
- package/dist/src/model/metadata/index.js +0 -4
- package/dist/src/model/metadata/index.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/tests/cases/migrations/2020-05-06-150000-composed-primary.test.js +2 -2
- package/dist/tests/cases/migrations/2020-05-06-150000-composed-primary.test.js.map +1 -1
- package/dist/tests/cases/migrations/2020-06-01-103000-event-trigger-perf.test.js +2 -2
- package/dist/tests/cases/migrations/2020-06-01-103000-event-trigger-perf.test.js.map +1 -1
- package/dist/tests/cases/migrations/2022-10-03-110000-table-on-delete.test.js +15 -1
- package/dist/tests/cases/migrations/2022-10-03-110000-table-on-delete.test.js.map +1 -1
- package/dist/tests/cases/migrations/2023-09-11-174000-fix-on-delete.test.d.ts +2 -0
- package/dist/tests/cases/migrations/2023-09-11-174000-fix-on-delete.test.d.ts.map +1 -0
- package/dist/tests/cases/migrations/2023-09-11-174000-fix-on-delete.test.js +97 -0
- package/dist/tests/cases/migrations/2023-09-11-174000-fix-on-delete.test.js.map +1 -0
- package/dist/tests/cases/migrations/2023-10-19-173000-fix-unique.test.js +12 -11
- package/dist/tests/cases/migrations/2023-10-19-173000-fix-unique.test.js.map +1 -1
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/package.json +14 -14
- package/src/SystemContainer.ts +3 -2
- package/src/bin/runMigrations.ts +4 -9
- package/src/index.ts +0 -1
- package/src/migrations/2022-10-03-110000-table-on-delete.ts +5 -5
- package/src/migrations/2023-09-11-174000-fix-on-delete.ts +13 -16
- package/src/migrations/2023-10-19-173000-fix-unique.ts +3 -4
- package/src/migrations/runner.ts +3 -4
- package/src/migrations/types.ts +2 -3
- package/src/model/ProjectInitializer.ts +3 -3
- package/src/model/database/DatabaseContext.ts +2 -3
- package/src/model/metadata/SchemaDatabaseMetadataResolverStore.ts +6 -7
- package/src/model/metadata/index.ts +0 -2
- package/tests/cases/migrations/2020-05-06-150000-composed-primary.test.ts +2 -2
- package/tests/cases/migrations/2020-06-01-103000-event-trigger-perf.test.ts +2 -2
- package/tests/cases/migrations/2022-10-03-110000-table-on-delete.test.ts +16 -2
- package/tests/cases/migrations/2023-09-11-174000-fix-on-delete.test.ts +106 -0
- package/tests/cases/migrations/2023-10-19-173000-fix-unique.test.ts +12 -12
- package/dist/src/model/metadata/ResolvedDatabaseMetadata.d.ts +0 -14
- package/dist/src/model/metadata/ResolvedDatabaseMetadata.d.ts.map +0 -1
- package/dist/src/model/metadata/ResolvedDatabaseMetadata.js +0 -49
- package/dist/src/model/metadata/ResolvedDatabaseMetadata.js.map +0 -1
- package/dist/src/model/metadata/SchemaDatabaseMetadataResolver.d.ts +0 -8
- package/dist/src/model/metadata/SchemaDatabaseMetadataResolver.d.ts.map +0 -1
- package/dist/src/model/metadata/SchemaDatabaseMetadataResolver.js +0 -98
- package/dist/src/model/metadata/SchemaDatabaseMetadataResolver.js.map +0 -1
- package/src/model/metadata/ResolvedDatabaseMetadata.ts +0 -62
- package/src/model/metadata/SchemaDatabaseMetadataResolver.ts +0 -140
|
@@ -3,17 +3,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const database_1 = require("@contember/database");
|
|
6
7
|
const _2020_05_06_150000_composed_primary_1 = __importDefault(require("../../../src/migrations/2020-05-06-150000-composed-primary"));
|
|
7
8
|
const database_migrations_1 = require("@contember/database-migrations");
|
|
8
9
|
const engine_api_tester_1 = require("@contember/engine-api-tester");
|
|
9
10
|
const vitest_1 = require("vitest");
|
|
10
|
-
const schema_utils_1 = require("@contember/schema-utils");
|
|
11
11
|
(0, vitest_1.test)('many-has-many-primary migration sql', async () => {
|
|
12
12
|
const builder = (0, database_migrations_1.createMigrationBuilder)();
|
|
13
13
|
await (0, _2020_05_06_150000_composed_primary_1.default)(builder, {
|
|
14
14
|
connection: undefined,
|
|
15
15
|
schemaResolver: () => Promise.resolve(engine_api_tester_1.sampleProject),
|
|
16
|
-
databaseMetadataResolver: () => Promise.resolve(
|
|
16
|
+
databaseMetadataResolver: () => Promise.resolve(database_1.emptyDatabaseMetadata),
|
|
17
17
|
project: {
|
|
18
18
|
slug: 'test',
|
|
19
19
|
stages: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"2020-05-06-150000-composed-primary.test.js","sourceRoot":"","sources":["../../../../tests/cases/migrations/2020-05-06-150000-composed-primary.test.ts"],"names":[],"mappings":";;;;;AAAA,qIAAkF;AAClF,wEAAuE;AACvE,oEAA4D;AAC5D,mCAAqC;
|
|
1
|
+
{"version":3,"file":"2020-05-06-150000-composed-primary.test.js","sourceRoot":"","sources":["../../../../tests/cases/migrations/2020-05-06-150000-composed-primary.test.ts"],"names":[],"mappings":";;;;;AAAA,kDAA2D;AAC3D,qIAAkF;AAClF,wEAAuE;AACvE,oEAA4D;AAC5D,mCAAqC;AAErC,IAAA,aAAI,EAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;IACtD,MAAM,OAAO,GAAG,IAAA,4CAAsB,GAAE,CAAA;IACxC,MAAM,IAAA,6CAAS,EAAC,OAAO,EAAE;QACxB,UAAU,EAAE,SAAgB;QAC5B,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,iCAAa,CAAC;QACpD,wBAAwB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,gCAAqB,CAAC;QACtE,OAAO,EAAE;YACR,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE;gBACP;oBACC,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM;iBACZ;gBACD;oBACC,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,SAAS;iBACf;aACD;SACD;KACD,CAAC,CAAA;IACF,eAAM,CAAC,KAAK,CACX,OAAO,CAAC,MAAM,EAAE,EAChB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmMD,CACC,CAAA;AACF,CAAC,CAAC,CAAA"}
|
|
@@ -7,13 +7,13 @@ const _2020_06_01_103000_event_trigger_perf_1 = __importDefault(require("../../.
|
|
|
7
7
|
const database_migrations_1 = require("@contember/database-migrations");
|
|
8
8
|
const engine_api_tester_1 = require("@contember/engine-api-tester");
|
|
9
9
|
const vitest_1 = require("vitest");
|
|
10
|
-
const
|
|
10
|
+
const database_1 = require("@contember/database");
|
|
11
11
|
(0, vitest_1.test)('event-trigger-performance sql', async () => {
|
|
12
12
|
const builder = (0, database_migrations_1.createMigrationBuilder)();
|
|
13
13
|
await (0, _2020_06_01_103000_event_trigger_perf_1.default)(builder, {
|
|
14
14
|
connection: undefined,
|
|
15
15
|
schemaResolver: () => Promise.resolve(engine_api_tester_1.sampleProject),
|
|
16
|
-
databaseMetadataResolver: () => Promise.resolve(
|
|
16
|
+
databaseMetadataResolver: () => Promise.resolve(database_1.emptyDatabaseMetadata),
|
|
17
17
|
project: {
|
|
18
18
|
slug: 'test',
|
|
19
19
|
stages: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"2020-06-01-103000-event-trigger-perf.test.js","sourceRoot":"","sources":["../../../../tests/cases/migrations/2020-06-01-103000-event-trigger-perf.test.ts"],"names":[],"mappings":";;;;;AAAA,yIAAoF;AACpF,wEAAuE;AACvE,oEAA4D;AAC5D,mCAAqC;AACrC,
|
|
1
|
+
{"version":3,"file":"2020-06-01-103000-event-trigger-perf.test.js","sourceRoot":"","sources":["../../../../tests/cases/migrations/2020-06-01-103000-event-trigger-perf.test.ts"],"names":[],"mappings":";;;;;AAAA,yIAAoF;AACpF,wEAAuE;AACvE,oEAA4D;AAC5D,mCAAqC;AACrC,kDAA2D;AAG3D,IAAA,aAAI,EAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;IAChD,MAAM,OAAO,GAAG,IAAA,4CAAsB,GAAE,CAAA;IACxC,MAAM,IAAA,+CAAS,EAAC,OAAO,EAAE;QACxB,UAAU,EAAE,SAAgB;QAC5B,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,iCAAa,CAAC;QACpD,wBAAwB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,gCAAqB,CAAC;QACtE,OAAO,EAAE;YACR,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE;gBACP;oBACC,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM;iBACZ;gBACD;oBACC,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,SAAS;iBACf;aACD;SACD;KACD,CAAC,CAAA;IACF,eAAM,CAAC,KAAK,CACX,OAAO,CAAC,MAAM,EAAE,EAChB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyID,CACC,CAAA;AACF,CAAC,CAAC,CAAA"}
|
|
@@ -10,6 +10,7 @@ const schema_definition_1 = require("@contember/schema-definition");
|
|
|
10
10
|
const schema_utils_1 = require("@contember/schema-utils");
|
|
11
11
|
const schema_1 = require("@contember/schema");
|
|
12
12
|
const database_tester_1 = require("@contember/database-tester");
|
|
13
|
+
const database_1 = require("@contember/database");
|
|
13
14
|
(0, vitest_1.test)('table-on-delete test', async () => {
|
|
14
15
|
const builder = (0, database_migrations_1.createMigrationBuilder)();
|
|
15
16
|
const connection = (0, database_tester_1.createConnectionMock)([{
|
|
@@ -18,7 +19,20 @@ const database_tester_1 = require("@contember/database-tester");
|
|
|
18
19
|
}]);
|
|
19
20
|
await (0, _2022_10_03_110000_table_on_delete_1.default)(builder, {
|
|
20
21
|
connection: connection,
|
|
21
|
-
databaseMetadataResolver: () => Promise.resolve(
|
|
22
|
+
databaseMetadataResolver: () => Promise.resolve((0, database_1.createDatabaseMetadata)({
|
|
23
|
+
indexes: [],
|
|
24
|
+
uniqueConstraints: [],
|
|
25
|
+
foreignKeys: [{
|
|
26
|
+
constraintName: 'fk_post_author_id_author_id',
|
|
27
|
+
fromColumn: 'author_id',
|
|
28
|
+
fromTable: 'post',
|
|
29
|
+
toColumn: 'id',
|
|
30
|
+
toTable: 'author',
|
|
31
|
+
deleteAction: database_1.ForeignKeyDeleteAction.restrict,
|
|
32
|
+
deferrable: false,
|
|
33
|
+
deferred: false,
|
|
34
|
+
}],
|
|
35
|
+
})),
|
|
22
36
|
schemaResolver: () => Promise.resolve(({ ...schema_utils_1.emptySchema, model: new schema_definition_1.SchemaBuilder()
|
|
23
37
|
.entity('Post', entity => entity.manyHasOne('author', relation => relation.target('Author').onDelete(schema_1.Model.OnDelete.setNull)))
|
|
24
38
|
.entity('Author', entity => entity)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"2022-10-03-110000-table-on-delete.test.js","sourceRoot":"","sources":["../../../../tests/cases/migrations/2022-10-03-110000-table-on-delete.test.ts"],"names":[],"mappings":";;;;;AAAA,mIAAiF;AACjF,wEAAuE;AACvE,mCAAqC;AACrC,oEAA4D;AAC5D,
|
|
1
|
+
{"version":3,"file":"2022-10-03-110000-table-on-delete.test.js","sourceRoot":"","sources":["../../../../tests/cases/migrations/2022-10-03-110000-table-on-delete.test.ts"],"names":[],"mappings":";;;;;AAAA,mIAAiF;AACjF,wEAAuE;AACvE,mCAAqC;AACrC,oEAA4D;AAC5D,0DAAqD;AACrD,8CAAyC;AACzC,gEAAiE;AACjE,kDAA2G;AAG3G,IAAA,aAAI,EAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IACvC,MAAM,OAAO,GAAG,IAAA,4CAAsB,GAAE,CAAA;IACxC,MAAM,UAAU,GAAG,IAAA,sCAAoB,EAAC,CAAC;YACxC,GAAG,EAAE,0BAA0B;YAC/B,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE;SAC9C,CAAC,CAAC,CAAA;IACH,MAAM,IAAA,4CAAS,EAAC,OAAO,EAAE;QACxB,UAAU,EAAE,UAAU;QACtB,wBAAwB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAA,iCAAsB,EAAC;YACtE,OAAO,EAAE,EAAE;YACX,iBAAiB,EAAE,EAAE;YACrB,WAAW,EAAE,CAAC;oBACb,cAAc,EAAE,6BAA6B;oBAC7C,UAAU,EAAE,WAAW;oBACvB,SAAS,EAAE,MAAM;oBACjB,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,QAAQ;oBACjB,YAAY,EAAE,iCAAsB,CAAC,QAAQ;oBAC7C,UAAU,EAAE,KAAK;oBACjB,QAAQ,EAAE,KAAK;iBACf,CAAC;SACF,CAAC,CAAC;QACH,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,0BAAW,EAAE,KAAK,EAAE,IAAI,iCAAa,EAAE;iBACjF,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CACxB,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CACnG;iBACA,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC;iBAClC,WAAW,EAAE,EAAE,CAAC,CAAC;QACnB,OAAO,EAAE;YACR,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE;gBACP;oBACC,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM;iBACZ;aACD;SACD;KACD,CAAC,CAAA;IACF,eAAM,CAAC,KAAK,CACX,OAAO,CAAC,MAAM,EAAE,EAChB;;;;;CAKD,CACC,CAAA;AACF,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2023-09-11-174000-fix-on-delete.test.d.ts","sourceRoot":"","sources":["../../../../tests/cases/migrations/2023-09-11-174000-fix-on-delete.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const _2023_09_11_174000_fix_on_delete_1 = __importDefault(require("../../../src/migrations/2023-09-11-174000-fix-on-delete"));
|
|
7
|
+
const database_migrations_1 = require("@contember/database-migrations");
|
|
8
|
+
const vitest_1 = require("vitest");
|
|
9
|
+
const schema_definition_1 = require("@contember/schema-definition");
|
|
10
|
+
const schema_utils_1 = require("@contember/schema-utils");
|
|
11
|
+
const schema_1 = require("@contember/schema");
|
|
12
|
+
const database_tester_1 = require("@contember/database-tester");
|
|
13
|
+
const database_1 = require("@contember/database");
|
|
14
|
+
(0, vitest_1.test)('table-on-delete test', async () => {
|
|
15
|
+
const builder = (0, database_migrations_1.createMigrationBuilder)();
|
|
16
|
+
const connection = (0, database_tester_1.createConnectionMock)([{
|
|
17
|
+
sql: 'select schema from stage',
|
|
18
|
+
response: { rows: [{ schema: 'stage_live' }] },
|
|
19
|
+
}]);
|
|
20
|
+
await (0, _2023_09_11_174000_fix_on_delete_1.default)(builder, {
|
|
21
|
+
connection: connection,
|
|
22
|
+
databaseMetadataResolver: () => Promise.resolve((0, database_1.createDatabaseMetadata)({
|
|
23
|
+
indexes: [],
|
|
24
|
+
uniqueConstraints: [],
|
|
25
|
+
foreignKeys: [{
|
|
26
|
+
constraintName: 'fk_post_author_id_author_id',
|
|
27
|
+
fromColumn: 'author_id',
|
|
28
|
+
fromTable: 'post',
|
|
29
|
+
toColumn: 'id',
|
|
30
|
+
toTable: 'author',
|
|
31
|
+
deleteAction: database_1.ForeignKeyDeleteAction.cascade,
|
|
32
|
+
deferrable: false,
|
|
33
|
+
deferred: false,
|
|
34
|
+
}],
|
|
35
|
+
})),
|
|
36
|
+
schemaResolver: () => Promise.resolve(({ ...schema_utils_1.emptySchema, model: new schema_definition_1.SchemaBuilder()
|
|
37
|
+
.entity('Post', entity => entity.manyHasOne('author', relation => relation.target('Author').onDelete(schema_1.Model.OnDelete.setNull)))
|
|
38
|
+
.entity('Author', entity => entity)
|
|
39
|
+
.buildSchema() })),
|
|
40
|
+
project: {
|
|
41
|
+
slug: 'test',
|
|
42
|
+
stages: [
|
|
43
|
+
{
|
|
44
|
+
slug: 'prod',
|
|
45
|
+
name: 'prod',
|
|
46
|
+
},
|
|
47
|
+
],
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
vitest_1.assert.equal(builder.getSql(), `ALTER TABLE "stage_live"."post" DROP CONSTRAINT "fk_post_author_id_author_id";
|
|
51
|
+
ALTER TABLE "stage_live"."post"
|
|
52
|
+
ADD FOREIGN KEY ("author_id")
|
|
53
|
+
REFERENCES "stage_live"."author" ("id") ON DELETE SET NULL DEFERRABLE INITIALLY IMMEDIATE
|
|
54
|
+
;
|
|
55
|
+
`);
|
|
56
|
+
});
|
|
57
|
+
(0, vitest_1.test)('table-on-delete test valid', async () => {
|
|
58
|
+
const builder = (0, database_migrations_1.createMigrationBuilder)();
|
|
59
|
+
const connection = (0, database_tester_1.createConnectionMock)([{
|
|
60
|
+
sql: 'select schema from stage',
|
|
61
|
+
response: { rows: [{ schema: 'stage_live' }] },
|
|
62
|
+
}]);
|
|
63
|
+
await (0, _2023_09_11_174000_fix_on_delete_1.default)(builder, {
|
|
64
|
+
connection: connection,
|
|
65
|
+
databaseMetadataResolver: () => Promise.resolve((0, database_1.createDatabaseMetadata)({
|
|
66
|
+
indexes: [],
|
|
67
|
+
uniqueConstraints: [],
|
|
68
|
+
foreignKeys: [{
|
|
69
|
+
constraintName: 'fk_post_author_id_author_id',
|
|
70
|
+
fromColumn: 'author_id',
|
|
71
|
+
fromTable: 'post',
|
|
72
|
+
toColumn: 'id',
|
|
73
|
+
toTable: 'author',
|
|
74
|
+
deleteAction: database_1.ForeignKeyDeleteAction.setnull,
|
|
75
|
+
deferred: false,
|
|
76
|
+
deferrable: false,
|
|
77
|
+
}],
|
|
78
|
+
})),
|
|
79
|
+
schemaResolver: () => Promise.resolve(({
|
|
80
|
+
...schema_utils_1.emptySchema, model: new schema_definition_1.SchemaBuilder()
|
|
81
|
+
.entity('Post', entity => entity.manyHasOne('author', relation => relation.target('Author').onDelete(schema_1.Model.OnDelete.setNull)))
|
|
82
|
+
.entity('Author', entity => entity)
|
|
83
|
+
.buildSchema(),
|
|
84
|
+
})),
|
|
85
|
+
project: {
|
|
86
|
+
slug: 'test',
|
|
87
|
+
stages: [
|
|
88
|
+
{
|
|
89
|
+
slug: 'prod',
|
|
90
|
+
name: 'prod',
|
|
91
|
+
},
|
|
92
|
+
],
|
|
93
|
+
},
|
|
94
|
+
});
|
|
95
|
+
vitest_1.assert.equal(builder.getSql(), `\n`);
|
|
96
|
+
});
|
|
97
|
+
//# sourceMappingURL=2023-09-11-174000-fix-on-delete.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2023-09-11-174000-fix-on-delete.test.js","sourceRoot":"","sources":["../../../../tests/cases/migrations/2023-09-11-174000-fix-on-delete.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,8 +13,8 @@ const _2023_10_19_173000_fix_unique_1 = __importDefault(require("../../../src/mi
|
|
|
13
13
|
const database_migrations_1 = require("@contember/database-migrations");
|
|
14
14
|
const vitest_1 = require("vitest");
|
|
15
15
|
const schema_definition_1 = require("@contember/schema-definition");
|
|
16
|
-
const schema_utils_1 = require("@contember/schema-utils");
|
|
17
16
|
const database_tester_1 = require("@contember/database-tester");
|
|
17
|
+
const database_1 = require("@contember/database");
|
|
18
18
|
var UniqueModel;
|
|
19
19
|
(function (UniqueModel) {
|
|
20
20
|
let Foo = class Foo {
|
|
@@ -44,17 +44,18 @@ var UniqueModel;
|
|
|
44
44
|
}]);
|
|
45
45
|
await (0, _2023_10_19_173000_fix_unique_1.default)(builder, {
|
|
46
46
|
connection: connection,
|
|
47
|
-
databaseMetadataResolver: () => Promise.resolve({
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
{ constraintName: '
|
|
52
|
-
{ constraintName: '
|
|
53
|
-
{ constraintName: '
|
|
54
|
-
{ constraintName: '
|
|
55
|
-
{ constraintName: '
|
|
47
|
+
databaseMetadataResolver: () => Promise.resolve((0, database_1.createDatabaseMetadata)({
|
|
48
|
+
foreignKeys: [],
|
|
49
|
+
indexes: [],
|
|
50
|
+
uniqueConstraints: [
|
|
51
|
+
{ constraintName: 'valid1', tableName: 'foo', columnNames: ['col_a', 'col_b'], deferrable: false, deferred: false },
|
|
52
|
+
{ constraintName: 'valid2', tableName: 'foo', columnNames: ['col_b', 'many_has_one_bar_id'], deferrable: false, deferred: false },
|
|
53
|
+
{ constraintName: 'valid3', tableName: 'foo', columnNames: ['single_col_unique'], deferrable: false, deferred: false },
|
|
54
|
+
{ constraintName: 'valid4', tableName: 'foo', columnNames: ['has_one_bar_id'], deferrable: false, deferred: false },
|
|
55
|
+
{ constraintName: 'invalid1', tableName: 'foo', columnNames: ['col_a', 'col_c'], deferrable: false, deferred: false },
|
|
56
|
+
{ constraintName: 'invalid2', tableName: 'foo', columnNames: ['col_c', 'many_has_one_bar_id'], deferrable: false, deferred: false },
|
|
56
57
|
],
|
|
57
|
-
}),
|
|
58
|
+
})),
|
|
58
59
|
schemaResolver: () => Promise.resolve((0, schema_definition_1.createSchema)(UniqueModel)),
|
|
59
60
|
project: {
|
|
60
61
|
slug: 'test',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"2023-10-19-173000-fix-unique.test.js","sourceRoot":"","sources":["../../../../tests/cases/migrations/2023-10-19-173000-fix-unique.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,yHAA4E;AAC5E,wEAAuE;AACvE,mCAAqC;AACrC,oEAA8D;AAC9D,
|
|
1
|
+
{"version":3,"file":"2023-10-19-173000-fix-unique.test.js","sourceRoot":"","sources":["../../../../tests/cases/migrations/2023-10-19-173000-fix-unique.test.ts"],"names":[],"mappings":"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"}
|