@contember/engine-system-api 1.3.3 → 1.3.5
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/migrations/2023-10-19-173000-fix-unique.d.ts +4 -0
- package/dist/src/migrations/2023-10-19-173000-fix-unique.d.ts.map +1 -0
- package/dist/src/migrations/2023-10-19-173000-fix-unique.js +45 -0
- package/dist/src/migrations/2023-10-19-173000-fix-unique.js.map +1 -0
- package/dist/src/migrations/runner.d.ts.map +1 -1
- package/dist/src/migrations/runner.js +2 -0
- package/dist/src/migrations/runner.js.map +1 -1
- package/dist/src/model/metadata/ResolvedDatabaseMetadata.d.ts +1 -0
- package/dist/src/model/metadata/ResolvedDatabaseMetadata.d.ts.map +1 -1
- package/dist/src/model/metadata/ResolvedDatabaseMetadata.js +9 -2
- package/dist/src/model/metadata/ResolvedDatabaseMetadata.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/tests/cases/migrations/2023-10-19-173000-fix-unique.test.d.ts +2 -0
- package/dist/tests/cases/migrations/2023-10-19-173000-fix-unique.test.d.ts.map +1 -0
- package/dist/tests/cases/migrations/2023-10-19-173000-fix-unique.test.js +73 -0
- package/dist/tests/cases/migrations/2023-10-19-173000-fix-unique.test.js.map +1 -0
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/package.json +13 -13
- package/src/migrations/2023-10-19-173000-fix-unique.ts +49 -0
- package/src/migrations/runner.ts +2 -0
- package/src/model/metadata/ResolvedDatabaseMetadata.ts +10 -2
- package/tests/cases/migrations/2023-10-19-173000-fix-unique.test.ts +66 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2023-10-19-173000-fix-unique.test.d.ts","sourceRoot":"","sources":["../../../../tests/cases/migrations/2023-10-19-173000-fix-unique.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,73 @@
|
|
|
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
|
+
};
|
|
8
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const _2023_10_19_173000_fix_unique_1 = __importDefault(require("../../../src/migrations/2023-10-19-173000-fix-unique"));
|
|
13
|
+
const database_migrations_1 = require("@contember/database-migrations");
|
|
14
|
+
const vitest_1 = require("vitest");
|
|
15
|
+
const schema_definition_1 = require("@contember/schema-definition");
|
|
16
|
+
const schema_utils_1 = require("@contember/schema-utils");
|
|
17
|
+
const database_tester_1 = require("@contember/database-tester");
|
|
18
|
+
var UniqueModel;
|
|
19
|
+
(function (UniqueModel) {
|
|
20
|
+
let Foo = class Foo {
|
|
21
|
+
constructor() {
|
|
22
|
+
this.hasOneBar = schema_definition_1.c.oneHasOne(Bar);
|
|
23
|
+
this.manyHasOneBar = schema_definition_1.c.manyHasOne(Bar);
|
|
24
|
+
this.singleColUnique = schema_definition_1.c.stringColumn().unique();
|
|
25
|
+
this.colA = schema_definition_1.c.stringColumn();
|
|
26
|
+
this.colB = schema_definition_1.c.stringColumn();
|
|
27
|
+
this.colC = schema_definition_1.c.stringColumn();
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
Foo = __decorate([
|
|
31
|
+
schema_definition_1.c.Unique('colA', 'colB'),
|
|
32
|
+
schema_definition_1.c.Unique('manyHasOneBar', 'colB')
|
|
33
|
+
], Foo);
|
|
34
|
+
UniqueModel.Foo = Foo;
|
|
35
|
+
class Bar {
|
|
36
|
+
}
|
|
37
|
+
UniqueModel.Bar = Bar;
|
|
38
|
+
})(UniqueModel || (UniqueModel = {}));
|
|
39
|
+
(0, vitest_1.test)('unique fix test', async () => {
|
|
40
|
+
const builder = (0, database_migrations_1.createMigrationBuilder)();
|
|
41
|
+
const connection = (0, database_tester_1.createConnectionMock)([{
|
|
42
|
+
sql: 'select schema from stage',
|
|
43
|
+
response: { rows: [{ schema: 'stage_live' }] },
|
|
44
|
+
}]);
|
|
45
|
+
await (0, _2023_10_19_173000_fix_unique_1.default)(builder, {
|
|
46
|
+
connection: connection,
|
|
47
|
+
databaseMetadataResolver: () => Promise.resolve({
|
|
48
|
+
...schema_utils_1.dummySchemaDatabaseMetadata,
|
|
49
|
+
getAllUniqueConstraints: () => [
|
|
50
|
+
{ constraintName: 'valid1', tableName: 'foo', columnNames: ['col_a', 'col_b'] },
|
|
51
|
+
{ constraintName: 'valid2', tableName: 'foo', columnNames: ['col_b', 'many_has_one_bar_id'] },
|
|
52
|
+
{ constraintName: 'valid3', tableName: 'foo', columnNames: ['single_col_unique'] },
|
|
53
|
+
{ constraintName: 'valid4', tableName: 'foo', columnNames: ['has_one_bar_id'] },
|
|
54
|
+
{ constraintName: 'invalid1', tableName: 'foo', columnNames: ['col_a', 'col_c'] },
|
|
55
|
+
{ constraintName: 'invalid2', tableName: 'foo', columnNames: ['col_c', 'many_has_one_bar_id'] },
|
|
56
|
+
],
|
|
57
|
+
}),
|
|
58
|
+
schemaResolver: () => Promise.resolve((0, schema_definition_1.createSchema)(UniqueModel)),
|
|
59
|
+
project: {
|
|
60
|
+
slug: 'test',
|
|
61
|
+
stages: [
|
|
62
|
+
{
|
|
63
|
+
slug: 'prod',
|
|
64
|
+
name: 'prod',
|
|
65
|
+
},
|
|
66
|
+
],
|
|
67
|
+
},
|
|
68
|
+
});
|
|
69
|
+
vitest_1.assert.equal(builder.getSql(), `ALTER TABLE "stage_live"."foo" DROP CONSTRAINT "invalid1";
|
|
70
|
+
ALTER TABLE "stage_live"."foo" DROP CONSTRAINT "invalid2";
|
|
71
|
+
`);
|
|
72
|
+
});
|
|
73
|
+
//# sourceMappingURL=2023-10-19-173000-fix-unique.test.js.map
|
|
@@ -0,0 +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,0DAAqE;AACrE,gEAAiE;AAEjE,IAAU,WAAW,CAiBpB;AAjBD,WAAU,WAAW;IAIpB,IAAa,GAAG,GAAhB,MAAa,GAAG;QAAhB;YACC,cAAS,GAAG,qBAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;YAC5B,kBAAa,GAAG,qBAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;YACjC,oBAAe,GAAG,qBAAC,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,CAAA;YAE3C,SAAI,GAAG,qBAAC,CAAC,YAAY,EAAE,CAAA;YACvB,SAAI,GAAG,qBAAC,CAAC,YAAY,EAAE,CAAA;YACvB,SAAI,GAAG,qBAAC,CAAC,YAAY,EAAE,CAAA;QACxB,CAAC;KAAA,CAAA;IARY,GAAG;QAFf,qBAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,qBAAC,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC;OACrB,GAAG,CAQf;IARY,eAAG,MAQf,CAAA;IAED,MAAa,GAAG;KAEf;IAFY,eAAG,MAEf,CAAA;AACF,CAAC,EAjBS,WAAW,KAAX,WAAW,QAiBpB;AAED,IAAA,aAAI,EAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;IAClC,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,uCAAS,EAAC,OAAO,EAAE;QACxB,UAAU,EAAE,UAAU;QACtB,wBAAwB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;YAC/C,GAAG,0CAA2B;YAC9B,uBAAuB,EAAE,GAAG,EAAE,CAAC;gBAC9B,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;gBAC/E,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,OAAO,EAAE,qBAAqB,CAAC,EAAE;gBAC7F,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,mBAAmB,CAAC,EAAE;gBAClF,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,gBAAgB,CAAC,EAAE;gBAE/E,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;gBACjF,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,OAAO,EAAE,qBAAqB,CAAC,EAAE;aAE/F;SACD,CAAC;QACF,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAA,gCAAY,EAAC,WAAW,CAAC,CAAC;QAChE,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;;CAED,CACC,CAAA;AACF,CAAC,CAAC,CAAA"}
|