@contember/engine-system-api 1.3.2 → 1.3.4

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 (31) hide show
  1. package/dist/src/migrations/2023-09-11-174000-fix-on-delete.d.ts +4 -0
  2. package/dist/src/migrations/2023-09-11-174000-fix-on-delete.d.ts.map +1 -0
  3. package/dist/src/migrations/2023-09-11-174000-fix-on-delete.js +70 -0
  4. package/dist/src/migrations/2023-09-11-174000-fix-on-delete.js.map +1 -0
  5. package/dist/src/migrations/2023-10-19-173000-fix-unique.d.ts +4 -0
  6. package/dist/src/migrations/2023-10-19-173000-fix-unique.d.ts.map +1 -0
  7. package/dist/src/migrations/2023-10-19-173000-fix-unique.js +45 -0
  8. package/dist/src/migrations/2023-10-19-173000-fix-unique.js.map +1 -0
  9. package/dist/src/migrations/runner.d.ts.map +1 -1
  10. package/dist/src/migrations/runner.js +4 -0
  11. package/dist/src/migrations/runner.js.map +1 -1
  12. package/dist/src/model/metadata/ResolvedDatabaseMetadata.d.ts +1 -0
  13. package/dist/src/model/metadata/ResolvedDatabaseMetadata.d.ts.map +1 -1
  14. package/dist/src/model/metadata/ResolvedDatabaseMetadata.js +9 -2
  15. package/dist/src/model/metadata/ResolvedDatabaseMetadata.js.map +1 -1
  16. package/dist/src/model/metadata/SchemaDatabaseMetadataResolver.d.ts.map +1 -1
  17. package/dist/src/model/metadata/SchemaDatabaseMetadataResolver.js +14 -8
  18. package/dist/src/model/metadata/SchemaDatabaseMetadataResolver.js.map +1 -1
  19. package/dist/src/tsconfig.tsbuildinfo +1 -1
  20. package/dist/tests/cases/migrations/2023-10-19-173000-fix-unique.test.d.ts +2 -0
  21. package/dist/tests/cases/migrations/2023-10-19-173000-fix-unique.test.d.ts.map +1 -0
  22. package/dist/tests/cases/migrations/2023-10-19-173000-fix-unique.test.js +73 -0
  23. package/dist/tests/cases/migrations/2023-10-19-173000-fix-unique.test.js.map +1 -0
  24. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  25. package/package.json +13 -13
  26. package/src/migrations/2023-09-11-174000-fix-on-delete.ts +77 -0
  27. package/src/migrations/2023-10-19-173000-fix-unique.ts +49 -0
  28. package/src/migrations/runner.ts +4 -0
  29. package/src/model/metadata/ResolvedDatabaseMetadata.ts +10 -2
  30. package/src/model/metadata/SchemaDatabaseMetadataResolver.ts +5 -1
  31. package/tests/cases/migrations/2023-10-19-173000-fix-unique.test.ts +66 -0
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=2023-10-19-173000-fix-unique.test.d.ts.map
@@ -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"}