@contember/engine-system-api 1.2.1 → 1.3.0-alpha.13
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 +5 -12
- package/dist/src/SystemContainer.d.ts.map +1 -1
- package/dist/src/SystemContainer.js +4 -7
- package/dist/src/SystemContainer.js.map +1 -1
- package/dist/src/bin/runMigrations.d.ts +2 -0
- package/dist/src/bin/runMigrations.d.ts.map +1 -0
- package/dist/src/bin/runMigrations.js +34 -0
- package/dist/src/bin/runMigrations.js.map +1 -0
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/migrations/2018-08-04-102200-init.d.ts +3 -0
- package/dist/src/migrations/2018-08-04-102200-init.d.ts.map +1 -0
- package/dist/src/migrations/2018-08-04-102200-init.js +37 -0
- package/dist/src/migrations/2018-08-04-102200-init.js.map +1 -0
- package/dist/src/migrations/2018-08-05-130501-trigger-event-function.d.ts +3 -0
- package/dist/src/migrations/2018-08-05-130501-trigger-event-function.d.ts.map +1 -0
- package/dist/src/migrations/2018-08-05-130501-trigger-event-function.js +99 -0
- package/dist/src/migrations/2018-08-05-130501-trigger-event-function.js.map +1 -0
- package/dist/src/migrations/2019-01-14-143432-event-trx-id.d.ts +3 -0
- package/dist/src/migrations/2019-01-14-143432-event-trx-id.d.ts.map +1 -0
- package/dist/src/migrations/2019-01-14-143432-event-trx-id.js +17 -0
- package/dist/src/migrations/2019-01-14-143432-event-trx-id.js.map +1 -0
- package/dist/src/migrations/2019-02-04-154500-event-rebase.d.ts +3 -0
- package/dist/src/migrations/2019-02-04-154500-event-rebase.d.ts.map +1 -0
- package/dist/src/migrations/2019-02-04-154500-event-rebase.js +59 -0
- package/dist/src/migrations/2019-02-04-154500-event-rebase.js.map +1 -0
- package/dist/src/migrations/2019-03-18-104147-event-run-migration-struct.d.ts +3 -0
- package/dist/src/migrations/2019-03-18-104147-event-run-migration-struct.d.ts.map +1 -0
- package/dist/src/migrations/2019-03-18-104147-event-run-migration-struct.js +12 -0
- package/dist/src/migrations/2019-03-18-104147-event-run-migration-struct.js.map +1 -0
- package/dist/src/migrations/2019-07-29-103000-trigger-event-function-fix.d.ts +3 -0
- package/dist/src/migrations/2019-07-29-103000-trigger-event-function-fix.d.ts.map +1 -0
- package/dist/src/migrations/2019-07-29-103000-trigger-event-function-fix.js +66 -0
- package/dist/src/migrations/2019-07-29-103000-trigger-event-function-fix.js.map +1 -0
- package/dist/src/migrations/2019-11-28-100000-missing-setting-fallback.d.ts +3 -0
- package/dist/src/migrations/2019-11-28-100000-missing-setting-fallback.d.ts.map +1 -0
- package/dist/src/migrations/2019-11-28-100000-missing-setting-fallback.js +21 -0
- package/dist/src/migrations/2019-11-28-100000-missing-setting-fallback.js.map +1 -0
- package/dist/src/migrations/2021-03-23-110000-timestamp-fix.d.ts +3 -0
- package/dist/src/migrations/2021-03-23-110000-timestamp-fix.d.ts.map +1 -0
- package/dist/src/migrations/2021-03-23-110000-timestamp-fix.js +15 -0
- package/dist/src/migrations/2021-03-23-110000-timestamp-fix.js.map +1 -0
- package/dist/src/migrations/2021-05-07-155800-event-log-rework.js +2 -2
- package/dist/src/migrations/2021-12-21-155500-events-up.d.ts +3 -0
- package/dist/src/migrations/2021-12-21-155500-events-up.d.ts.map +1 -0
- package/dist/src/migrations/2021-12-21-155500-events-up.js +15 -0
- package/dist/src/migrations/2021-12-21-155500-events-up.js.map +1 -0
- package/dist/src/migrations/2022-02-08-132600-fn-search-path.d.ts +3 -0
- package/dist/src/migrations/2022-02-08-132600-fn-search-path.d.ts.map +1 -0
- package/dist/src/migrations/2022-02-08-132600-fn-search-path.js +16 -0
- package/dist/src/migrations/2022-02-08-132600-fn-search-path.js.map +1 -0
- package/dist/src/migrations/2022-02-08-140500-drop-deadcode.d.ts +3 -0
- package/dist/src/migrations/2022-02-08-140500-drop-deadcode.d.ts.map +1 -0
- package/dist/src/migrations/2022-02-08-140500-drop-deadcode.js +11 -0
- package/dist/src/migrations/2022-02-08-140500-drop-deadcode.js.map +1 -0
- package/dist/src/migrations/2022-02-08-144400-dynamic-stage-schema.d.ts +3 -0
- package/dist/src/migrations/2022-02-08-144400-dynamic-stage-schema.d.ts.map +1 -0
- package/dist/src/migrations/2022-02-08-144400-dynamic-stage-schema.js +50 -0
- package/dist/src/migrations/2022-02-08-144400-dynamic-stage-schema.js.map +1 -0
- package/dist/src/migrations/2022-10-03-110000-table-on-delete.d.ts +4 -0
- package/dist/src/migrations/2022-10-03-110000-table-on-delete.d.ts.map +1 -0
- package/dist/src/migrations/2022-10-03-110000-table-on-delete.js +61 -0
- package/dist/src/migrations/2022-10-03-110000-table-on-delete.js.map +1 -0
- package/dist/src/migrations/runner.d.ts +18 -3
- package/dist/src/migrations/runner.d.ts.map +1 -1
- package/dist/src/migrations/runner.js +69 -10
- package/dist/src/migrations/runner.js.map +1 -1
- package/dist/src/migrations/snapshot-factory.d.ts +6 -0
- package/dist/src/migrations/snapshot-factory.d.ts.map +1 -0
- package/dist/src/migrations/snapshot-factory.js +46 -0
- package/dist/src/migrations/snapshot-factory.js.map +1 -0
- package/dist/src/migrations/snapshot.d.ts +3 -0
- package/dist/src/migrations/snapshot.d.ts.map +1 -0
- package/dist/src/migrations/snapshot.js +172 -0
- package/dist/src/migrations/snapshot.js.map +1 -0
- package/dist/src/migrations/types.d.ts +2 -0
- package/dist/src/migrations/types.d.ts.map +1 -1
- package/dist/src/model/ProjectInitializer.d.ts +6 -10
- package/dist/src/model/ProjectInitializer.d.ts.map +1 -1
- package/dist/src/model/ProjectInitializer.js +11 -29
- package/dist/src/model/ProjectInitializer.js.map +1 -1
- package/dist/src/model/commands/Command.d.ts +1 -5
- package/dist/src/model/commands/Command.d.ts.map +1 -1
- package/dist/src/model/database/DatabaseContext.d.ts +5 -4
- package/dist/src/model/database/DatabaseContext.d.ts.map +1 -1
- package/dist/src/model/database/DatabaseContext.js +7 -7
- package/dist/src/model/database/DatabaseContext.js.map +1 -1
- package/dist/src/model/dtos/ExecutedMigration.d.ts +2 -1
- package/dist/src/model/dtos/ExecutedMigration.d.ts.map +1 -1
- package/dist/src/model/dtos/ExecutedMigration.js +2 -1
- package/dist/src/model/dtos/ExecutedMigration.js.map +1 -1
- package/dist/src/model/events/EventResponseBuilder.d.ts +2 -2
- package/dist/src/model/events/EventResponseBuilder.d.ts.map +1 -1
- package/dist/src/model/events/EventResponseBuilder.js +10 -10
- package/dist/src/model/events/EventResponseBuilder.js.map +1 -1
- package/dist/src/model/events/EventResponseHelper.d.ts +1 -1
- package/dist/src/model/events/EventResponseHelper.d.ts.map +1 -1
- package/dist/src/model/events/index.d.ts +1 -0
- package/dist/src/model/events/index.d.ts.map +1 -1
- package/dist/src/model/events/index.js +1 -0
- package/dist/src/model/events/index.js.map +1 -1
- package/dist/src/model/events/types.d.ts +56 -0
- package/dist/src/model/events/types.d.ts.map +1 -0
- package/dist/src/model/events/types.js +51 -0
- package/dist/src/model/events/types.js.map +1 -0
- package/dist/src/model/helpers/index.d.ts +0 -1
- package/dist/src/model/helpers/index.d.ts.map +1 -1
- package/dist/src/model/helpers/index.js +0 -1
- package/dist/src/model/helpers/index.js.map +1 -1
- package/dist/src/model/index.d.ts +1 -0
- package/dist/src/model/index.d.ts.map +1 -1
- package/dist/src/model/index.js +1 -0
- package/dist/src/model/index.js.map +1 -1
- package/dist/src/model/metadata/ResolvedDatabaseMetadata.d.ts +13 -0
- package/dist/src/model/metadata/ResolvedDatabaseMetadata.d.ts.map +1 -0
- package/dist/src/model/metadata/ResolvedDatabaseMetadata.js +42 -0
- package/dist/src/model/metadata/ResolvedDatabaseMetadata.js.map +1 -0
- package/dist/src/model/metadata/SchemaDatabaseMetadataResolver.d.ts +8 -0
- package/dist/src/model/metadata/SchemaDatabaseMetadataResolver.d.ts.map +1 -0
- package/dist/src/model/metadata/SchemaDatabaseMetadataResolver.js +92 -0
- package/dist/src/model/metadata/SchemaDatabaseMetadataResolver.js.map +1 -0
- package/dist/src/model/metadata/SchemaDatabaseMetadataResolverStore.d.ts +17 -0
- package/dist/src/model/metadata/SchemaDatabaseMetadataResolverStore.d.ts.map +1 -0
- package/dist/src/model/metadata/SchemaDatabaseMetadataResolverStore.js +33 -0
- package/dist/src/model/metadata/SchemaDatabaseMetadataResolverStore.js.map +1 -0
- package/dist/src/model/metadata/index.d.ts +4 -0
- package/dist/src/model/metadata/index.d.ts.map +1 -0
- package/dist/src/model/metadata/index.js +22 -0
- package/dist/src/model/metadata/index.js.map +1 -0
- package/dist/src/model/migrations/ProjectMigrator.d.ts +3 -1
- package/dist/src/model/migrations/ProjectMigrator.d.ts.map +1 -1
- package/dist/src/model/migrations/ProjectMigrator.js +14 -6
- package/dist/src/model/migrations/ProjectMigrator.js.map +1 -1
- package/dist/src/model/migrations/SchemaVersionBuilder.d.ts +20 -0
- package/dist/src/model/migrations/SchemaVersionBuilder.d.ts.map +1 -1
- package/dist/src/model/migrations/SchemaVersionBuilder.js +5 -4
- package/dist/src/model/migrations/SchemaVersionBuilder.js.map +1 -1
- package/dist/src/model/queries/events/EventQueryHelpers.d.ts +2 -2
- package/dist/src/model/queries/events/EventQueryHelpers.d.ts.map +1 -1
- package/dist/src/model/queries/events/EventQueryHelpers.js +7 -7
- package/dist/src/model/queries/events/EventQueryHelpers.js.map +1 -1
- package/dist/src/model/queries/events/EventsQuery.d.ts +2 -2
- package/dist/src/model/queries/events/EventsQuery.d.ts.map +1 -1
- package/dist/src/model/queries/events/EventsQuery.js.map +1 -1
- package/dist/src/model/queries/migrations/ExecutedMigrationsQueryHelper.d.ts +1 -0
- package/dist/src/model/queries/migrations/ExecutedMigrationsQueryHelper.d.ts.map +1 -1
- package/dist/src/model/queries/migrations/ExecutedMigrationsQueryHelper.js +2 -1
- package/dist/src/model/queries/migrations/ExecutedMigrationsQueryHelper.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 -0
- 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 -0
- 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.d.ts +2 -0
- package/dist/tests/cases/migrations/2022-10-03-110000-table-on-delete.test.d.ts.map +1 -0
- package/dist/tests/cases/migrations/2022-10-03-110000-table-on-delete.test.js +43 -0
- package/dist/tests/cases/migrations/2022-10-03-110000-table-on-delete.test.js.map +1 -0
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/package.json +18 -15
- package/src/SystemContainer.ts +8 -18
- package/src/bin/runMigrations.ts +42 -0
- package/src/index.ts +2 -2
- package/src/migrations/{2018-08-04-102200-init.sql → 2018-08-04-102200-init.ts} +8 -0
- package/src/migrations/{2018-08-05-130501-trigger-event-function.sql → 2018-08-05-130501-trigger-event-function.ts} +8 -0
- package/src/migrations/{2019-01-14-143432-event-trx-id.sql → 2019-01-14-143432-event-trx-id.ts} +8 -0
- package/src/migrations/{2019-02-04-154500-event-rebase.sql → 2019-02-04-154500-event-rebase.ts} +9 -0
- package/src/migrations/2019-03-18-104147-event-run-migration-struct.ts +11 -0
- package/src/migrations/{2019-07-29-103000-trigger-event-function-fix.sql → 2019-07-29-103000-trigger-event-function-fix.ts} +8 -0
- package/src/migrations/{2019-11-28-100000-missing-setting-fallback.sql → 2019-11-28-100000-missing-setting-fallback.ts} +8 -0
- package/src/migrations/{2021-03-23-110000-timestamp-fix.sql → 2021-03-23-110000-timestamp-fix.ts} +8 -0
- package/src/migrations/2021-05-07-155800-event-log-rework.ts +2 -2
- package/src/migrations/{2021-12-21-155500-events-up.sql → 2021-12-21-155500-events-up.ts} +8 -0
- package/src/migrations/{2022-02-08-132600-fn-search-path.sql → 2022-02-08-132600-fn-search-path.ts} +8 -0
- package/src/migrations/2022-02-08-140500-drop-deadcode.ts +10 -0
- package/src/migrations/{2022-02-08-144400-dynamic-stage-schema.sql → 2022-02-08-144400-dynamic-stage-schema.ts} +8 -0
- package/src/migrations/2022-10-03-110000-table-on-delete.ts +65 -0
- package/src/migrations/runner.ts +85 -15
- package/src/migrations/snapshot-factory.ts +45 -0
- package/src/migrations/snapshot-template-end.txt +1 -0
- package/src/migrations/snapshot-template-start.txt +2 -0
- package/src/migrations/snapshot.ts +169 -0
- package/src/migrations/types.ts +2 -0
- package/src/model/ProjectInitializer.ts +15 -50
- package/src/model/commands/Command.ts +1 -1
- package/src/model/database/DatabaseContext.ts +12 -8
- package/src/model/dtos/ExecutedMigration.ts +1 -0
- package/src/model/events/EventResponseBuilder.ts +3 -3
- package/src/model/events/EventResponseHelper.ts +1 -1
- package/src/model/events/index.ts +1 -0
- package/src/model/events/types.ts +63 -0
- package/src/model/helpers/index.ts +0 -1
- package/src/model/index.ts +1 -0
- package/src/model/metadata/ResolvedDatabaseMetadata.ts +54 -0
- package/src/model/metadata/SchemaDatabaseMetadataResolver.ts +136 -0
- package/src/model/metadata/SchemaDatabaseMetadataResolverStore.ts +41 -0
- package/src/model/metadata/index.ts +3 -0
- package/src/model/migrations/ProjectMigrator.ts +19 -5
- package/src/model/migrations/SchemaVersionBuilder.ts +3 -2
- package/src/model/queries/events/EventQueryHelpers.ts +2 -2
- package/src/model/queries/events/EventsQuery.ts +2 -2
- package/src/model/queries/migrations/ExecutedMigrationsQueryHelper.ts +3 -1
- package/src/tsconfig.json +10 -33
- package/tests/cases/migrations/2020-05-06-150000-composed-primary.test.ts +2 -0
- package/tests/cases/migrations/2020-06-01-103000-event-trigger-perf.test.ts +2 -0
- package/tests/cases/migrations/2022-10-03-110000-table-on-delete.test.ts +45 -0
- package/tests/tsconfig.json +2 -6
- package/tsconfig.json +2 -6
- package/dist/src/model/helpers/SystemVariablesSetupHelper.d.ts +0 -5
- package/dist/src/model/helpers/SystemVariablesSetupHelper.d.ts.map +0 -1
- package/dist/src/model/helpers/SystemVariablesSetupHelper.js +0 -15
- package/dist/src/model/helpers/SystemVariablesSetupHelper.js.map +0 -1
- package/dist/tests/cases/integration/systemApi/projectInitializer.test.d.ts +0 -2
- package/dist/tests/cases/integration/systemApi/projectInitializer.test.d.ts.map +0 -1
- package/dist/tests/cases/integration/systemApi/projectInitializer.test.js +0 -26
- package/dist/tests/cases/integration/systemApi/projectInitializer.test.js.map +0 -1
- package/src/migrations/2019-03-18-104147-event-run-migration-struct.sql +0 -3
- package/src/migrations/2022-02-08-140500-drop-deadcode.sql +0 -2
- package/src/model/helpers/SystemVariablesSetupHelper.ts +0 -14
- package/tests/cases/integration/systemApi/projectInitializer.test.ts +0 -31
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DeleteEvent = exports.CreateEvent = exports.UpdateEvent = exports.EventType = void 0;
|
|
4
|
+
var EventType;
|
|
5
|
+
(function (EventType) {
|
|
6
|
+
EventType["delete"] = "delete";
|
|
7
|
+
EventType["update"] = "update";
|
|
8
|
+
EventType["create"] = "create";
|
|
9
|
+
})(EventType = exports.EventType || (exports.EventType = {}));
|
|
10
|
+
class UpdateEvent {
|
|
11
|
+
constructor(id, createdAt, appliedAt, identityId, transactionId, rowId, tableName, values) {
|
|
12
|
+
this.id = id;
|
|
13
|
+
this.createdAt = createdAt;
|
|
14
|
+
this.appliedAt = appliedAt;
|
|
15
|
+
this.identityId = identityId;
|
|
16
|
+
this.transactionId = transactionId;
|
|
17
|
+
this.rowId = rowId;
|
|
18
|
+
this.tableName = tableName;
|
|
19
|
+
this.values = values;
|
|
20
|
+
this.type = EventType.update;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.UpdateEvent = UpdateEvent;
|
|
24
|
+
class CreateEvent {
|
|
25
|
+
constructor(id, createdAt, appliedAt, identityId, transactionId, rowId, tableName, values) {
|
|
26
|
+
this.id = id;
|
|
27
|
+
this.createdAt = createdAt;
|
|
28
|
+
this.appliedAt = appliedAt;
|
|
29
|
+
this.identityId = identityId;
|
|
30
|
+
this.transactionId = transactionId;
|
|
31
|
+
this.rowId = rowId;
|
|
32
|
+
this.tableName = tableName;
|
|
33
|
+
this.values = values;
|
|
34
|
+
this.type = EventType.create;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.CreateEvent = CreateEvent;
|
|
38
|
+
class DeleteEvent {
|
|
39
|
+
constructor(id, createdAt, appliedAt, identityId, transactionId, rowId, tableName) {
|
|
40
|
+
this.id = id;
|
|
41
|
+
this.createdAt = createdAt;
|
|
42
|
+
this.appliedAt = appliedAt;
|
|
43
|
+
this.identityId = identityId;
|
|
44
|
+
this.transactionId = transactionId;
|
|
45
|
+
this.rowId = rowId;
|
|
46
|
+
this.tableName = tableName;
|
|
47
|
+
this.type = EventType.delete;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.DeleteEvent = DeleteEvent;
|
|
51
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/model/events/types.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAIX;AAJD,WAAY,SAAS;IACpB,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;AAClB,CAAC,EAJW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAIpB;AAYD,MAAa,WAAW;IAGvB,YACiB,EAAU,EACV,SAAe,EACf,SAAe,EACf,UAAkB,EAClB,aAAqB,EACrB,KAAe,EACf,SAAiB,EACjB,MAAiC;QAPjC,OAAE,GAAF,EAAE,CAAQ;QACV,cAAS,GAAT,SAAS,CAAM;QACf,cAAS,GAAT,SAAS,CAAM;QACf,eAAU,GAAV,UAAU,CAAQ;QAClB,kBAAa,GAAb,aAAa,CAAQ;QACrB,UAAK,GAAL,KAAK,CAAU;QACf,cAAS,GAAT,SAAS,CAAQ;QACjB,WAAM,GAAN,MAAM,CAA2B;QAVlC,SAAI,GAAG,SAAS,CAAC,MAAM,CAAA;IAYvC,CAAC;CACD;AAdD,kCAcC;AAED,MAAa,WAAW;IAGvB,YACiB,EAAU,EACV,SAAe,EACf,SAAe,EACf,UAAkB,EAClB,aAAqB,EACrB,KAAe,EACf,SAAiB,EACjB,MAAiC;QAPjC,OAAE,GAAF,EAAE,CAAQ;QACV,cAAS,GAAT,SAAS,CAAM;QACf,cAAS,GAAT,SAAS,CAAM;QACf,eAAU,GAAV,UAAU,CAAQ;QAClB,kBAAa,GAAb,aAAa,CAAQ;QACrB,UAAK,GAAL,KAAK,CAAU;QACf,cAAS,GAAT,SAAS,CAAQ;QACjB,WAAM,GAAN,MAAM,CAA2B;QAVlC,SAAI,GAAG,SAAS,CAAC,MAAM,CAAA;IAYvC,CAAC;CACD;AAdD,kCAcC;AAED,MAAa,WAAW;IAGvB,YACiB,EAAU,EACV,SAAe,EACf,SAAe,EACf,UAAkB,EAClB,aAAqB,EACrB,KAAe,EACf,SAAiB;QANjB,OAAE,GAAF,EAAE,CAAQ;QACV,cAAS,GAAT,SAAS,CAAM;QACf,cAAS,GAAT,SAAS,CAAM;QACf,eAAU,GAAV,UAAU,CAAQ;QAClB,kBAAa,GAAb,aAAa,CAAQ;QACrB,UAAK,GAAL,KAAK,CAAU;QACf,cAAS,GAAT,SAAS,CAAQ;QATlB,SAAI,GAAG,SAAS,CAAC,MAAM,CAAA;IAWvC,CAAC;CACD;AAbD,kCAaC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/model/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/model/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA"}
|
|
@@ -15,6 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./stageHelpers"), exports);
|
|
18
|
-
__exportStar(require("./SystemVariablesSetupHelper"), exports);
|
|
19
18
|
__exportStar(require("./modelHelpers"), exports);
|
|
20
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/model/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA8B;AAC9B
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/model/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA8B;AAC9B,iDAA8B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA"}
|
package/dist/src/model/index.js
CHANGED
|
@@ -21,6 +21,7 @@ __exportStar(require("./dependencies"), exports);
|
|
|
21
21
|
__exportStar(require("./dtos"), exports);
|
|
22
22
|
__exportStar(require("./events"), exports);
|
|
23
23
|
__exportStar(require("./helpers"), exports);
|
|
24
|
+
__exportStar(require("./metadata"), exports);
|
|
24
25
|
__exportStar(require("./migrations"), exports);
|
|
25
26
|
__exportStar(require("./queries"), exports);
|
|
26
27
|
__exportStar(require("./stages"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/model/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAA+B;AAC/B,6CAA0B;AAC1B,6CAA0B;AAC1B,iDAA8B;AAC9B,yCAAsB;AACtB,2CAAwB;AACxB,4CAAyB;AACzB,+CAA4B;AAC5B,4CAAyB;AACzB,2CAAwB;AACxB,uDAAoC;AACpC,4DAAyC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/model/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAA+B;AAC/B,6CAA0B;AAC1B,6CAA0B;AAC1B,iDAA8B;AAC9B,yCAAsB;AACtB,2CAAwB;AACxB,4CAAyB;AACzB,6CAA0B;AAC1B,+CAA4B;AAC5B,4CAAyB;AACzB,2CAAwB;AACxB,uDAAoC;AACpC,4DAAyC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ForeignKeyConstraintMetadata, GetForeignKeyConstraintNameArgs, GetIndexNameArgs, GetUniqueConstraintNameArgs, IndexMetadata, SchemaDatabaseMetadata, UniqueConstraintMetadata } from '@contember/schema-utils';
|
|
2
|
+
export declare class ResolvedDatabaseMetadata implements SchemaDatabaseMetadata {
|
|
3
|
+
private readonly foreignKeys;
|
|
4
|
+
private readonly uniqueConstraints;
|
|
5
|
+
private readonly indexes;
|
|
6
|
+
constructor(foreignKeys: ForeignKeyConstraintMetadata[], uniqueConstraints: UniqueConstraintMetadata[], indexes: IndexMetadata[]);
|
|
7
|
+
getUniqueConstraint(tableName: string, constraintName: string): UniqueConstraintMetadata | null;
|
|
8
|
+
getForeignKeyConstraint(tableName: string, constraintName: string): ForeignKeyConstraintMetadata | null;
|
|
9
|
+
getForeignKeyConstraintNames({ fromTable, fromColumn, toTable, toColumn }: GetForeignKeyConstraintNameArgs): string[];
|
|
10
|
+
getUniqueConstraintNames({ tableName, columnNames }: GetUniqueConstraintNameArgs): string[];
|
|
11
|
+
getIndexNames({ tableName, columnNames }: GetIndexNameArgs): string[];
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=ResolvedDatabaseMetadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResolvedDatabaseMetadata.d.ts","sourceRoot":"","sources":["../../../../src/model/metadata/ResolvedDatabaseMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,4BAA4B,EAC5B,+BAA+B,EAC/B,gBAAgB,EAChB,2BAA2B,EAC3B,aAAa,EACb,sBAAsB,EACtB,wBAAwB,EACxB,MAAM,yBAAyB,CAAA;AAOhC,qBAAa,wBAAyB,YAAW,sBAAsB;IAErE,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAFP,WAAW,EAAE,4BAA4B,EAAE,EAC3C,iBAAiB,EAAE,wBAAwB,EAAE,EAC7C,OAAO,EAAE,aAAa,EAAE;IAI1C,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,wBAAwB,GAAG,IAAI;IAI/F,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,4BAA4B,GAAG,IAAI;IAIvG,4BAA4B,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,+BAA+B,GAAG,MAAM,EAAE;IAWrH,wBAAwB,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,2BAA2B,GAAG,MAAM,EAAE;IAM3F,aAAa,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,gBAAgB,GAAG,MAAM,EAAE;CAKrE"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ResolvedDatabaseMetadata = void 0;
|
|
4
|
+
const stringArrayEquals = (colA, colB) => {
|
|
5
|
+
return colA.length === colB.length
|
|
6
|
+
&& colA.every((it, index) => it === colB[index]);
|
|
7
|
+
};
|
|
8
|
+
class ResolvedDatabaseMetadata {
|
|
9
|
+
constructor(foreignKeys, uniqueConstraints, indexes) {
|
|
10
|
+
this.foreignKeys = foreignKeys;
|
|
11
|
+
this.uniqueConstraints = uniqueConstraints;
|
|
12
|
+
this.indexes = indexes;
|
|
13
|
+
}
|
|
14
|
+
getUniqueConstraint(tableName, constraintName) {
|
|
15
|
+
var _a;
|
|
16
|
+
return (_a = this.uniqueConstraints.find(it => it.tableName === tableName && it.constraintName === constraintName)) !== null && _a !== void 0 ? _a : null;
|
|
17
|
+
}
|
|
18
|
+
getForeignKeyConstraint(tableName, constraintName) {
|
|
19
|
+
var _a;
|
|
20
|
+
return (_a = this.foreignKeys.find(it => it.fromTable === tableName && it.constraintName === constraintName)) !== null && _a !== void 0 ? _a : null;
|
|
21
|
+
}
|
|
22
|
+
getForeignKeyConstraintNames({ fromTable, fromColumn, toTable, toColumn }) {
|
|
23
|
+
return this.foreignKeys
|
|
24
|
+
.filter(it => it.fromTable === fromTable
|
|
25
|
+
&& it.toTable === toTable
|
|
26
|
+
&& it.fromColumn === fromColumn
|
|
27
|
+
&& it.toColumn === toColumn)
|
|
28
|
+
.map(it => it.constraintName);
|
|
29
|
+
}
|
|
30
|
+
getUniqueConstraintNames({ tableName, columnNames }) {
|
|
31
|
+
return this.uniqueConstraints
|
|
32
|
+
.filter(it => it.tableName === tableName && stringArrayEquals(columnNames, it.columnNames))
|
|
33
|
+
.map(it => it.constraintName);
|
|
34
|
+
}
|
|
35
|
+
getIndexNames({ tableName, columnNames }) {
|
|
36
|
+
return this.indexes
|
|
37
|
+
.filter(it => it.tableName === tableName && stringArrayEquals(columnNames, it.columnNames))
|
|
38
|
+
.map(it => it.indexName);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.ResolvedDatabaseMetadata = ResolvedDatabaseMetadata;
|
|
42
|
+
//# sourceMappingURL=ResolvedDatabaseMetadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResolvedDatabaseMetadata.js","sourceRoot":"","sources":["../../../../src/model/metadata/ResolvedDatabaseMetadata.ts"],"names":[],"mappings":";;;AAUA,MAAM,iBAAiB,GAAG,CAAC,IAAc,EAAE,IAAc,EAAE,EAAE;IAC5D,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;WAC9B,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;AAClD,CAAC,CAAA;AAED,MAAa,wBAAwB;IACpC,YACkB,WAA2C,EAC3C,iBAA6C,EAC7C,OAAwB;QAFxB,gBAAW,GAAX,WAAW,CAAgC;QAC3C,sBAAiB,GAAjB,iBAAiB,CAA4B;QAC7C,YAAO,GAAP,OAAO,CAAiB;IAE1C,CAAC;IAED,mBAAmB,CAAC,SAAiB,EAAE,cAAsB;;QAC5D,OAAO,MAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,CAAC,cAAc,KAAK,cAAc,CAAC,mCAAI,IAAI,CAAA;IACrH,CAAC;IAED,uBAAuB,CAAC,SAAiB,EAAE,cAAsB;;QAChE,OAAO,MAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,CAAC,cAAc,KAAK,cAAc,CAAC,mCAAI,IAAI,CAAA;IAC/G,CAAC;IAED,4BAA4B,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAmC;QACzG,OAAO,IAAI,CAAC,WAAW;aACrB,MAAM,CAAC,EAAE,CAAC,EAAE,CACZ,EAAE,CAAC,SAAS,KAAK,SAAS;eACvB,EAAE,CAAC,OAAO,KAAK,OAAO;eACtB,EAAE,CAAC,UAAU,KAAK,UAAU;eAC5B,EAAE,CAAC,QAAQ,KAAK,QAAQ,CAC3B;aACA,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IAC/B,CAAC;IAED,wBAAwB,CAAC,EAAE,SAAS,EAAE,WAAW,EAA+B;QAC/E,OAAO,IAAI,CAAC,iBAAiB;aAC3B,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,SAAS,IAAI,iBAAiB,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;aAC1F,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IAC/B,CAAC;IAED,aAAa,CAAC,EAAE,SAAS,EAAE,WAAW,EAAoB;QACzD,OAAO,IAAI,CAAC,OAAO;aACjB,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,SAAS,IAAI,iBAAiB,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;aAC1F,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;IAC1B,CAAC;CACD;AAtCD,4DAsCC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { SchemaDatabaseMetadata } from '@contember/schema-utils';
|
|
2
|
+
import { DatabaseContext } from '../database';
|
|
3
|
+
export declare class SchemaDatabaseMetadataResolver {
|
|
4
|
+
resolveMetadata(db: DatabaseContext, contentSchema: string): Promise<SchemaDatabaseMetadata>;
|
|
5
|
+
private fetchConstraints;
|
|
6
|
+
private fetchIndexes;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=SchemaDatabaseMetadataResolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaDatabaseMetadataResolver.d.ts","sourceRoot":"","sources":["../../../../src/model/metadata/SchemaDatabaseMetadataResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,sBAAsB,EAEtB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAI7C,qBAAa,8BAA8B;IACpC,eAAe,CAAC,EAAE,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;YAkCpF,gBAAgB;YA+BhB,YAAY;CAsB1B"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SchemaDatabaseMetadataResolver = void 0;
|
|
4
|
+
const ResolvedDatabaseMetadata_1 = require("./ResolvedDatabaseMetadata");
|
|
5
|
+
class SchemaDatabaseMetadataResolver {
|
|
6
|
+
async resolveMetadata(db, contentSchema) {
|
|
7
|
+
const constraintRows = await this.fetchConstraints(db.client, contentSchema);
|
|
8
|
+
const indexRows = await this.fetchIndexes(db.client, contentSchema);
|
|
9
|
+
const fkConstraints = constraintRows
|
|
10
|
+
.filter((it) => it.type === ConstraintTypes.foreignKey)
|
|
11
|
+
.map((it) => ({
|
|
12
|
+
constraintName: it.constraint_name,
|
|
13
|
+
fromColumn: it.columns[0],
|
|
14
|
+
toColumn: it.target_columns[0],
|
|
15
|
+
fromTable: it.table_name,
|
|
16
|
+
toTable: it.target_table,
|
|
17
|
+
}));
|
|
18
|
+
const uniqueConstraints = constraintRows
|
|
19
|
+
.filter((it) => it.type === ConstraintTypes.unique)
|
|
20
|
+
.map((it) => ({
|
|
21
|
+
constraintName: it.constraint_name,
|
|
22
|
+
tableName: it.table_name,
|
|
23
|
+
columnNames: it.columns,
|
|
24
|
+
}));
|
|
25
|
+
const indexes = indexRows
|
|
26
|
+
.map((it) => ({
|
|
27
|
+
indexName: it.index_name,
|
|
28
|
+
tableName: it.table_name,
|
|
29
|
+
columnNames: it.columns,
|
|
30
|
+
}));
|
|
31
|
+
return new ResolvedDatabaseMetadata_1.ResolvedDatabaseMetadata(fkConstraints, uniqueConstraints, indexes);
|
|
32
|
+
}
|
|
33
|
+
async fetchConstraints(connection, schema) {
|
|
34
|
+
return (await connection.query(`
|
|
35
|
+
SELECT
|
|
36
|
+
MAX(pg_constraint.conname) AS constraint_name,
|
|
37
|
+
MAX(pg_class.relname) AS table_name,
|
|
38
|
+
JSONB_AGG(DISTINCT pg_attribute.attname) AS columns,
|
|
39
|
+
MAX(pg_constraint.contype) AS type,
|
|
40
|
+
MAX(pg_constraint_table.relname) AS target_table,
|
|
41
|
+
JSONB_AGG(DISTINCT pg_attribute_target.attname)
|
|
42
|
+
FILTER ( WHERE pg_attribute_target.attname IS NOT NULL) AS target_columns,
|
|
43
|
+
BOOL_OR(condeferrable),
|
|
44
|
+
BOOL_OR(condeferred)
|
|
45
|
+
FROM pg_constraint
|
|
46
|
+
JOIN pg_class
|
|
47
|
+
ON pg_constraint.conrelid = pg_class.oid
|
|
48
|
+
JOIN pg_namespace
|
|
49
|
+
ON pg_class.relnamespace = pg_namespace.oid
|
|
50
|
+
JOIN pg_attribute
|
|
51
|
+
ON pg_attribute.attrelid = pg_class.oid AND pg_attribute.attnum = ANY (pg_constraint.conkey)
|
|
52
|
+
LEFT JOIN pg_attribute pg_attribute_target
|
|
53
|
+
ON pg_constraint.confrelid = pg_attribute_target.attrelid AND
|
|
54
|
+
pg_attribute_target.attnum = ANY (pg_constraint.confkey)
|
|
55
|
+
LEFT JOIN pg_class pg_constraint_table
|
|
56
|
+
ON pg_constraint_table.oid = pg_constraint.confrelid
|
|
57
|
+
WHERE pg_namespace.nspname = ?
|
|
58
|
+
AND pg_constraint.contype = ANY (ARRAY ['f', 'u'])
|
|
59
|
+
GROUP BY pg_constraint.oid
|
|
60
|
+
`, [schema]))
|
|
61
|
+
.rows;
|
|
62
|
+
}
|
|
63
|
+
async fetchIndexes(connection, schema) {
|
|
64
|
+
return (await connection.query(`
|
|
65
|
+
SELECT
|
|
66
|
+
MAX(idx_class.relname) AS index_name,
|
|
67
|
+
MAX(table_class.relname) AS table_name,
|
|
68
|
+
JSONB_AGG(DISTINCT pg_attribute.attname) AS columns
|
|
69
|
+
FROM pg_index
|
|
70
|
+
JOIN pg_class AS table_class
|
|
71
|
+
ON pg_index.indrelid = table_class.oid
|
|
72
|
+
JOIN pg_class AS idx_class
|
|
73
|
+
ON pg_index.indexrelid = idx_class.oid
|
|
74
|
+
JOIN pg_namespace
|
|
75
|
+
ON table_class.relnamespace = pg_namespace.oid
|
|
76
|
+
JOIN pg_attribute
|
|
77
|
+
ON pg_attribute.attrelid = table_class.oid AND pg_attribute.attnum = ANY (pg_index.indkey)
|
|
78
|
+
WHERE pg_namespace.nspname = ?
|
|
79
|
+
AND indisprimary = FALSE
|
|
80
|
+
AND indisunique = FALSE
|
|
81
|
+
GROUP BY pg_index.indexrelid
|
|
82
|
+
`, [schema]))
|
|
83
|
+
.rows;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
exports.SchemaDatabaseMetadataResolver = SchemaDatabaseMetadataResolver;
|
|
87
|
+
var ConstraintTypes;
|
|
88
|
+
(function (ConstraintTypes) {
|
|
89
|
+
ConstraintTypes["foreignKey"] = "f";
|
|
90
|
+
ConstraintTypes["unique"] = "u";
|
|
91
|
+
})(ConstraintTypes || (ConstraintTypes = {}));
|
|
92
|
+
//# sourceMappingURL=SchemaDatabaseMetadataResolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaDatabaseMetadataResolver.js","sourceRoot":"","sources":["../../../../src/model/metadata/SchemaDatabaseMetadataResolver.ts"],"names":[],"mappings":";;;AAQA,yEAAqE;AAErE,MAAa,8BAA8B;IAC1C,KAAK,CAAC,eAAe,CAAC,EAAmB,EAAE,aAAqB;QAC/D,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;QAC5E,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;QAEnE,MAAM,aAAa,GAAG,cAAc;aAClC,MAAM,CAAC,CAAC,EAAE,EAAkC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,eAAe,CAAC,UAAU,CAAC;aACtF,GAAG,CAAC,CAAC,EAAE,EAAgC,EAAE,CAAC,CAAC;YAC3C,cAAc,EAAE,EAAE,CAAC,eAAe;YAClC,UAAU,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YACzB,QAAQ,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;YAC9B,SAAS,EAAE,EAAE,CAAC,UAAU;YACxB,OAAO,EAAE,EAAE,CAAC,YAAY;SACxB,CAAC,CAAC,CAAA;QACJ,MAAM,iBAAiB,GAAG,cAAc;aACtC,MAAM,CAAC,CAAC,EAAE,EAA8B,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,eAAe,CAAC,MAAM,CAAC;aAC9E,GAAG,CAAC,CAAC,EAAE,EAA4B,EAAE,CAAC,CAAC;YACvC,cAAc,EAAE,EAAE,CAAC,eAAe;YAClC,SAAS,EAAE,EAAE,CAAC,UAAU;YACxB,WAAW,EAAE,EAAE,CAAC,OAAO;SACvB,CAAC,CAAC,CAAA;QACJ,MAAM,OAAO,GAAG,SAAS;aACvB,GAAG,CAAC,CAAC,EAAE,EAAiB,EAAE,CAAC,CAAC;YAC5B,SAAS,EAAE,EAAE,CAAC,UAAU;YACxB,SAAS,EAAE,EAAE,CAAC,UAAU;YACxB,WAAW,EAAE,EAAE,CAAC,OAAO;SACvB,CAAC,CAAC,CAAA;QAEJ,OAAO,IAAI,mDAAwB,CAClC,aAAa,EACb,iBAAiB,EACjB,OAAO,CACP,CAAA;IACF,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,UAAgC,EAAE,MAAc;QAC9E,OAAO,CAAC,MAAM,UAAU,CAAC,KAAK,CAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0B9C,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;aACX,IAAI,CAAA;IACP,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,UAAgC,EAAE,MAAc;QAC1E,OAAO,CAAC,MAAM,UAAU,CAAC,KAAK,CAAW;;;;;;;;;;;;;;;;;;GAkBxC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;aACX,IAAI,CAAA;IACP,CAAC;CACD;AAxFD,wEAwFC;AAED,IAAK,eAGJ;AAHD,WAAK,eAAe;IACnB,mCAAgB,CAAA;IAChB,+BAAY,CAAA;AACb,CAAC,EAHI,eAAe,KAAf,eAAe,QAGnB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { SchemaDatabaseMetadata } from '@contember/schema-utils';
|
|
2
|
+
import { SchemaDatabaseMetadataResolver } from './SchemaDatabaseMetadataResolver';
|
|
3
|
+
import { DatabaseContext } from '../database';
|
|
4
|
+
export declare class SchemaDatabaseMetadataResolverStore {
|
|
5
|
+
private resolver;
|
|
6
|
+
private db;
|
|
7
|
+
private cache;
|
|
8
|
+
constructor(resolver: SchemaDatabaseMetadataResolver, db: DatabaseContext);
|
|
9
|
+
getMetadata(schema: string): Promise<SchemaDatabaseMetadata>;
|
|
10
|
+
invalidate(schema: string): void;
|
|
11
|
+
}
|
|
12
|
+
export declare class MigrationsDatabaseMetadataResolverStoreFactory {
|
|
13
|
+
private resolver;
|
|
14
|
+
constructor(resolver: SchemaDatabaseMetadataResolver);
|
|
15
|
+
create(db: DatabaseContext): SchemaDatabaseMetadataResolverStore;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=SchemaDatabaseMetadataResolverStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaDatabaseMetadataResolverStore.d.ts","sourceRoot":"","sources":["../../../../src/model/metadata/SchemaDatabaseMetadataResolverStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE7C,qBAAa,mCAAmC;IAK9C,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,EAAE;IAJX,OAAO,CAAC,KAAK,CAAiD;gBAGrD,QAAQ,EAAE,8BAA8B,EACxC,EAAE,EAAE,eAAe;IAIf,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAWlE,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAGvC;AAGD,qBAAa,8CAA8C;IAEzD,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,8BAA8B;IAI1C,MAAM,CAAC,EAAE,EAAE,eAAe;CAGjC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MigrationsDatabaseMetadataResolverStoreFactory = exports.SchemaDatabaseMetadataResolverStore = void 0;
|
|
4
|
+
class SchemaDatabaseMetadataResolverStore {
|
|
5
|
+
constructor(resolver, db) {
|
|
6
|
+
this.resolver = resolver;
|
|
7
|
+
this.db = db;
|
|
8
|
+
this.cache = new Map();
|
|
9
|
+
}
|
|
10
|
+
async getMetadata(schema) {
|
|
11
|
+
const cached = this.cache.get(schema);
|
|
12
|
+
if (cached) {
|
|
13
|
+
return cached;
|
|
14
|
+
}
|
|
15
|
+
const newValue = await this.resolver.resolveMetadata(this.db, schema);
|
|
16
|
+
this.cache.set(schema, newValue);
|
|
17
|
+
return newValue;
|
|
18
|
+
}
|
|
19
|
+
invalidate(schema) {
|
|
20
|
+
this.cache.delete(schema);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.SchemaDatabaseMetadataResolverStore = SchemaDatabaseMetadataResolverStore;
|
|
24
|
+
class MigrationsDatabaseMetadataResolverStoreFactory {
|
|
25
|
+
constructor(resolver) {
|
|
26
|
+
this.resolver = resolver;
|
|
27
|
+
}
|
|
28
|
+
create(db) {
|
|
29
|
+
return new SchemaDatabaseMetadataResolverStore(this.resolver, db);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.MigrationsDatabaseMetadataResolverStoreFactory = MigrationsDatabaseMetadataResolverStoreFactory;
|
|
33
|
+
//# sourceMappingURL=SchemaDatabaseMetadataResolverStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaDatabaseMetadataResolverStore.js","sourceRoot":"","sources":["../../../../src/model/metadata/SchemaDatabaseMetadataResolverStore.ts"],"names":[],"mappings":";;;AAIA,MAAa,mCAAmC;IAI/C,YACS,QAAwC,EACxC,EAAmB;QADnB,aAAQ,GAAR,QAAQ,CAAgC;QACxC,OAAE,GAAF,EAAE,CAAiB;QAJpB,UAAK,GAAwC,IAAI,GAAG,EAAE,CAAA;IAM9D,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,MAAc;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACrC,IAAI,MAAM,EAAE;YACX,OAAO,MAAM,CAAA;SACb;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QACrE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAChC,OAAO,QAAQ,CAAA;IAChB,CAAC;IAEM,UAAU,CAAC,MAAc;QAC/B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC1B,CAAC;CACD;AAxBD,kFAwBC;AAGD,MAAa,8CAA8C;IAC1D,YACS,QAAwC;QAAxC,aAAQ,GAAR,QAAQ,CAAgC;IAEjD,CAAC;IAEM,MAAM,CAAC,EAAmB;QAChC,OAAO,IAAI,mCAAmC,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IAClE,CAAC;CACD;AATD,wGASC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/model/metadata/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAA;AAChD,cAAc,uCAAuC,CAAA;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.ResolvedDatabaseMetadata = void 0;
|
|
18
|
+
__exportStar(require("./SchemaDatabaseMetadataResolver"), exports);
|
|
19
|
+
__exportStar(require("./SchemaDatabaseMetadataResolverStore"), exports);
|
|
20
|
+
var ResolvedDatabaseMetadata_1 = require("./ResolvedDatabaseMetadata");
|
|
21
|
+
Object.defineProperty(exports, "ResolvedDatabaseMetadata", { enumerable: true, get: function () { return ResolvedDatabaseMetadata_1.ResolvedDatabaseMetadata; } });
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/model/metadata/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mEAAgD;AAChD,wEAAqD;AACrD,uEAAqE;AAA5D,oIAAA,wBAAwB,OAAA"}
|
|
@@ -4,11 +4,13 @@ import { DatabaseContext } from '../database';
|
|
|
4
4
|
import { ExecutedMigrationsResolver } from './ExecutedMigrationsResolver';
|
|
5
5
|
import { MigrateErrorCode } from '../../schema';
|
|
6
6
|
import { SchemaVersionBuilder } from './SchemaVersionBuilder';
|
|
7
|
+
import { MigrationsDatabaseMetadataResolverStoreFactory } from '../metadata/SchemaDatabaseMetadataResolverStore';
|
|
7
8
|
export declare class ProjectMigrator {
|
|
8
9
|
private readonly migrationDescriber;
|
|
9
10
|
private readonly schemaVersionBuilder;
|
|
10
11
|
private readonly executedMigrationsResolver;
|
|
11
|
-
|
|
12
|
+
private readonly migrationsDatabaseMetadataResolverStoreFactory;
|
|
13
|
+
constructor(migrationDescriber: MigrationDescriber, schemaVersionBuilder: SchemaVersionBuilder, executedMigrationsResolver: ExecutedMigrationsResolver, migrationsDatabaseMetadataResolverStoreFactory: MigrationsDatabaseMetadataResolverStoreFactory);
|
|
12
14
|
migrate(db: DatabaseContext, stages: Stage[], migrationsToExecute: readonly Migration[], { ignoreOrder, skipExecuted }: {
|
|
13
15
|
ignoreOrder?: boolean;
|
|
14
16
|
skipExecuted?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectMigrator.d.ts","sourceRoot":"","sources":["../../../../src/model/migrations/ProjectMigrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,SAAS,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAIxG,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"ProjectMigrator.d.ts","sourceRoot":"","sources":["../../../../src/model/migrations/ProjectMigrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,SAAS,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAIxG,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAG7D,OAAO,EAEN,8CAA8C,EAC9C,MAAM,iDAAiD,CAAA;AAExD,qBAAa,eAAe;IAE1B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,0BAA0B;IAC3C,OAAO,CAAC,QAAQ,CAAC,8CAA8C;gBAH9C,kBAAkB,EAAE,kBAAkB,EACtC,oBAAoB,EAAE,oBAAoB,EAC1C,0BAA0B,EAAE,0BAA0B,EACtD,8CAA8C,EAAE,8CAA8C;IAGnG,OAAO,CACnB,EAAE,EAAE,eAAe,EACnB,MAAM,EAAE,KAAK,EAAE,EACf,mBAAmB,EAAE,SAAS,SAAS,EAAE,EACzC,EAAE,WAAmB,EAAE,YAAoB,EAAE,EAAE;QAC9C,WAAW,CAAC,EAAE,OAAO,CAAA;QACrB,YAAY,CAAC,EAAE,OAAO,CAAA;KACtB;YA+BY,kBAAkB;YAoDlB,iBAAiB;YA0BjB,cAAc;CAY5B;AAED,8BAAsB,cAAe,SAAQ,KAAK;aAGrB,OAAO,EAAE,MAAM;aAAkB,cAAc,EAAE,MAAM;IAFnF,SAAgB,IAAI,EAAE,gBAAgB,CAAA;gBAEV,OAAO,EAAE,MAAM,EAAkB,cAAc,EAAE,MAAM;CAGnF;AAED,qBAAa,8BAA+B,SAAQ,cAAc;IACjE,IAAI,mBAAoC;CACxC;AAED,qBAAa,6BAA8B,SAAQ,cAAc;IAChE,IAAI,mBAAmC;CACvC;AAED,qBAAa,oBAAqB,SAAQ,cAAc;IACvD,IAAI,mBAAmC;CACvC;AAED,qBAAa,kBAAmB,SAAQ,cAAc;IACrD,IAAI,mBAAiC;CACrC"}
|
|
@@ -8,22 +8,24 @@ const schema_1 = require("../../schema");
|
|
|
8
8
|
const schema_utils_1 = require("@contember/schema-utils");
|
|
9
9
|
const logger_1 = require("@contember/logger");
|
|
10
10
|
class ProjectMigrator {
|
|
11
|
-
constructor(migrationDescriber, schemaVersionBuilder, executedMigrationsResolver) {
|
|
11
|
+
constructor(migrationDescriber, schemaVersionBuilder, executedMigrationsResolver, migrationsDatabaseMetadataResolverStoreFactory) {
|
|
12
12
|
this.migrationDescriber = migrationDescriber;
|
|
13
13
|
this.schemaVersionBuilder = schemaVersionBuilder;
|
|
14
14
|
this.executedMigrationsResolver = executedMigrationsResolver;
|
|
15
|
+
this.migrationsDatabaseMetadataResolverStoreFactory = migrationsDatabaseMetadataResolverStoreFactory;
|
|
15
16
|
}
|
|
16
17
|
async migrate(db, stages, migrationsToExecute, { ignoreOrder = false, skipExecuted = false }) {
|
|
17
18
|
if (migrationsToExecute.length === 0) {
|
|
18
19
|
return;
|
|
19
20
|
}
|
|
20
|
-
let { version, notNormalized, ...schema } = await this.schemaVersionBuilder.buildSchema(db);
|
|
21
|
+
let { version, notNormalized, id, ...schema } = await this.schemaVersionBuilder.buildSchema(db);
|
|
21
22
|
const validated = await this.validateMigrations(db, schema, version, migrationsToExecute, { ignoreOrder, skipExecuted });
|
|
22
23
|
const sorted = [...validated].sort((a, b) => a.version.localeCompare(b.version));
|
|
24
|
+
const metadataStore = this.migrationsDatabaseMetadataResolverStoreFactory.create(db);
|
|
23
25
|
for (const migration of sorted) {
|
|
24
26
|
const formatVersion = migration.formatVersion;
|
|
25
27
|
for (const modification of migration.modifications) {
|
|
26
|
-
[schema] = await this.applyModification(db.client, stages, schema, modification, formatVersion, migration.version, db.client.schema);
|
|
28
|
+
[schema] = await this.applyModification(db.client, stages, schema, modification, formatVersion, migration.version, db.client.schema, metadataStore);
|
|
27
29
|
}
|
|
28
30
|
await db.commandBus.execute(new commands_1.SaveMigrationCommand(migration));
|
|
29
31
|
}
|
|
@@ -44,7 +46,7 @@ class ProjectMigrator {
|
|
|
44
46
|
if (migration.version < version && !ignoreOrder) {
|
|
45
47
|
throw new MustFollowLatestMigrationError(migration.version, `Must follow latest executed migration ${version}`);
|
|
46
48
|
}
|
|
47
|
-
const described =
|
|
49
|
+
const described = this.migrationDescriber.describeModifications(schema, migration);
|
|
48
50
|
if (described.length === 0) {
|
|
49
51
|
continue;
|
|
50
52
|
}
|
|
@@ -65,9 +67,15 @@ class ProjectMigrator {
|
|
|
65
67
|
}
|
|
66
68
|
return toExecute;
|
|
67
69
|
}
|
|
68
|
-
async applyModification(db, stages, schema, modification, formatVersion, migrationVersion, systemSchema) {
|
|
69
|
-
const {
|
|
70
|
+
async applyModification(db, stages, schema, modification, formatVersion, migrationVersion, systemSchema, metadataStore) {
|
|
71
|
+
const { getSql, schema: newSchema, } = this.migrationDescriber.describeModification(schema, modification, { formatVersion });
|
|
70
72
|
for (const stage of stages) {
|
|
73
|
+
const databaseMetadata = await metadataStore.getMetadata(stage.schema);
|
|
74
|
+
const sql = getSql({
|
|
75
|
+
systemSchema,
|
|
76
|
+
databaseMetadata,
|
|
77
|
+
invalidateDatabaseMetadata: () => metadataStore.invalidate(stage.schema),
|
|
78
|
+
});
|
|
71
79
|
await this.executeOnStage(db, stage, sql, migrationVersion);
|
|
72
80
|
}
|
|
73
81
|
return [newSchema];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectMigrator.js","sourceRoot":"","sources":["../../../../src/model/migrations/ProjectMigrator.ts"],"names":[],"mappings":";;;AAAA,oEAAwG;AACxG,kDAAwE;AAExE,0CAAkD;AAIlD,yCAA+C;AAE/C,0DAAyD;AACzD,8CAA0C;
|
|
1
|
+
{"version":3,"file":"ProjectMigrator.js","sourceRoot":"","sources":["../../../../src/model/migrations/ProjectMigrator.ts"],"names":[],"mappings":";;;AAAA,oEAAwG;AACxG,kDAAwE;AAExE,0CAAkD;AAIlD,yCAA+C;AAE/C,0DAAyD;AACzD,8CAA0C;AAM1C,MAAa,eAAe;IAC3B,YACkB,kBAAsC,EACtC,oBAA0C,EAC1C,0BAAsD,EACtD,8CAA8F;QAH9F,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,+BAA0B,GAA1B,0BAA0B,CAA4B;QACtD,mDAA8C,GAA9C,8CAA8C,CAAgD;IAC7G,CAAC;IAEG,KAAK,CAAC,OAAO,CACnB,EAAmB,EACnB,MAAe,EACf,mBAAyC,EACzC,EAAE,WAAW,GAAG,KAAK,EAAE,YAAY,GAAG,KAAK,EAG1C;QAED,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE;YACrC,OAAM;SACN;QACD,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,GAAI,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QAChG,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAA;QAExH,MAAM,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;QAEhF,MAAM,aAAa,GAAG,IAAI,CAAC,8CAA8C,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAEpF,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE;YAC/B,MAAM,aAAa,GAAG,SAAS,CAAC,aAAa,CAAA;YAE7C,KAAK,MAAM,YAAY,IAAI,SAAS,CAAC,aAAa,EAAE;gBACnD,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACtC,EAAE,CAAC,MAAM,EACT,MAAM,EACN,MAAM,EACN,YAAY,EACZ,aAAa,EACb,SAAS,CAAC,OAAO,EACjB,EAAE,CAAC,MAAM,CAAC,MAAM,EAChB,aAAa,CACb,CAAA;aACD;YACD,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,+BAAoB,CAAC,SAAS,CAAC,CAAC,CAAA;SAChE;IACF,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC/B,EAAmB,EACnB,MAAc,EACd,OAAe,EACf,mBAAyC,EACzC,EAAE,WAAW,EAAE,YAAY,EAG1B;QAED,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;QAClF,MAAM,SAAS,GAAG,EAAE,CAAA;QACpB,KAAK,MAAM,SAAS,IAAI,mBAAmB,EAAE;YAC5C,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,KAAK,SAAS,CAAC,OAAO,CAAC,CAAA;YACzF,IAAI,iBAAiB,EAAE;gBACtB,IAAI,YAAY,IAAI,iBAAiB,CAAC,QAAQ,KAAK,IAAA,8CAA0B,EAAC,SAAS,CAAC,EAAE;oBACzF,SAAQ;iBACR;qBAAM;oBACN,MAAM,IAAI,6BAA6B,CAAC,SAAS,CAAC,OAAO,EAAE,+BAA+B,CAAC,CAAA;iBAC3F;aACD;YACD,IAAI,SAAS,CAAC,OAAO,GAAG,OAAO,IAAI,CAAC,WAAW,EAAE;gBAChD,MAAM,IAAI,8BAA8B,CAAC,SAAS,CAAC,OAAO,EAAE,yCAAyC,OAAO,EAAE,CAAC,CAAA;aAC/G;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;YAClF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC3B,SAAQ;aACR;YACD,MAAM,kBAAkB,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YAC1D,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAA;YAClC,MAAM,MAAM,GAAG,8BAAe,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,aAAa,CAAC,CAAA;YACxE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtB,MAAM,IAAI,kBAAkB,CAC3B,SAAS,CAAC,OAAO,EACjB,wCAAwC;oBACxC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAC/E,CAAA;aACD;YACD,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;SACzB;QACD,6CAA6C;QAC7C,MAAM,MAAM,GAAG,8BAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC/C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACtB,MAAM,IAAI,kBAAkB,CAC3B,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,EACvC,wCAAwC;gBACxC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAClE,CAAA;SACD;QACD,OAAO,SAAS,CAAA;IACjB,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC9B,EAAU,EACV,MAAe,EACf,MAAc,EACd,YAAoC,EACpC,aAAqB,EACrB,gBAAwB,EACxB,YAAoB,EACpB,aAAkD;QAElD,MAAM,EACL,MAAM,EACN,MAAM,EAAE,SAAS,GACjB,GAAG,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,aAAa,EAAE,CAAC,CAAA;QACzF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC3B,MAAM,gBAAgB,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YACtE,MAAM,GAAG,GAAG,MAAM,CAAC;gBAClB,YAAY;gBACZ,gBAAgB;gBAChB,0BAA0B,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;aACxE,CAAC,CAAA;YACF,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAA;SAC3D;QACD,OAAO,CAAC,SAAS,CAAC,CAAA;IACnB,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,EAAU,EAAE,KAAY,EAAE,GAAW,EAAE,gBAAwB;QAC3F,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,GAAG,IAAA,yBAAc,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;QACpE,IAAI;YACH,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;SACnB;QAAC,OAAO,CAAC,EAAE;YACX,IAAI,CAAC,YAAY,qBAAU,EAAE;gBAC5B,eAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAA;gBAChD,MAAM,IAAI,oBAAoB,CAAC,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,CAAA;aAC3D;YACD,MAAM,CAAC,CAAA;SACP;IACF,CAAC;CACD;AAxID,0CAwIC;AAED,MAAsB,cAAe,SAAQ,KAAK;IAGjD,YAA4B,OAAe,EAAkB,cAAsB;QAClF,KAAK,CAAC,GAAG,OAAO,KAAK,cAAc,EAAE,CAAC,CAAA;QADX,YAAO,GAAP,OAAO,CAAQ;QAAkB,mBAAc,GAAd,cAAc,CAAQ;IAEnF,CAAC;CACD;AAND,wCAMC;AAED,MAAa,8BAA+B,SAAQ,cAAc;IAAlE;;QACC,SAAI,GAAG,yBAAgB,CAAC,gBAAgB,CAAA;IACzC,CAAC;CAAA;AAFD,wEAEC;AAED,MAAa,6BAA8B,SAAQ,cAAc;IAAjE;;QACC,SAAI,GAAG,yBAAgB,CAAC,eAAe,CAAA;IACxC,CAAC;CAAA;AAFD,sEAEC;AAED,MAAa,oBAAqB,SAAQ,cAAc;IAAxD;;QACC,SAAI,GAAG,yBAAgB,CAAC,eAAe,CAAA;IACxC,CAAC;CAAA;AAFD,oDAEC;AAED,MAAa,kBAAmB,SAAQ,cAAc;IAAtD;;QACC,SAAI,GAAG,yBAAgB,CAAC,aAAa,CAAA;IACtC,CAAC;CAAA;AAFD,gDAEC"}
|
|
@@ -4,10 +4,30 @@ import { ExecutedMigrationsResolver } from './ExecutedMigrationsResolver';
|
|
|
4
4
|
import { DatabaseContext } from '../database';
|
|
5
5
|
export declare type VersionedSchema = Schema & {
|
|
6
6
|
version: string;
|
|
7
|
+
id: number;
|
|
7
8
|
notNormalized: Schema & {
|
|
8
9
|
version: string;
|
|
10
|
+
id: number;
|
|
9
11
|
};
|
|
10
12
|
};
|
|
13
|
+
export declare const emptyVersionedSchema: {
|
|
14
|
+
version: string;
|
|
15
|
+
id: number;
|
|
16
|
+
notNormalized: {
|
|
17
|
+
version: string;
|
|
18
|
+
id: number;
|
|
19
|
+
model: import("@contember/schema").Model.Schema;
|
|
20
|
+
acl: import("@contember/schema").Acl.Schema;
|
|
21
|
+
validation: import("@contember/schema").Validation.Schema;
|
|
22
|
+
actions: import("@contember/schema").Actions.Schema;
|
|
23
|
+
settings: import("@contember/schema").Settings.Schema;
|
|
24
|
+
};
|
|
25
|
+
model: import("@contember/schema").Model.Schema;
|
|
26
|
+
acl: import("@contember/schema").Acl.Schema;
|
|
27
|
+
validation: import("@contember/schema").Validation.Schema;
|
|
28
|
+
actions: import("@contember/schema").Actions.Schema;
|
|
29
|
+
settings: import("@contember/schema").Settings.Schema;
|
|
30
|
+
};
|
|
11
31
|
export declare class SchemaVersionBuilder {
|
|
12
32
|
private readonly executedMigrationsResolver;
|
|
13
33
|
private readonly schemaMigrator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaVersionBuilder.d.ts","sourceRoot":"","sources":["../../../../src/model/migrations/SchemaVersionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAG7C,oBAAY,eAAe,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"SchemaVersionBuilder.d.ts","sourceRoot":"","sources":["../../../../src/model/migrations/SchemaVersionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAG7C,oBAAY,eAAe,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAA;AAE/H,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;CAAmH,CAAA;AAEpJ,qBAAa,oBAAoB;IAE/B,OAAO,CAAC,QAAQ,CAAC,0BAA0B;IAC3C,OAAO,CAAC,QAAQ,CAAC,cAAc;gBADd,0BAA0B,EAAE,0BAA0B,EACtD,cAAc,EAAE,cAAc;IAG1C,WAAW,CAAC,EAAE,EAAE,eAAe,EAAE,KAAK,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;CAoBzF"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SchemaVersionBuilder = void 0;
|
|
3
|
+
exports.SchemaVersionBuilder = exports.emptyVersionedSchema = void 0;
|
|
4
4
|
const schema_utils_1 = require("@contember/schema-utils");
|
|
5
5
|
const schema_utils_2 = require("@contember/schema-utils");
|
|
6
|
-
|
|
6
|
+
exports.emptyVersionedSchema = { ...(0, schema_utils_2.normalizeSchema)(schema_utils_1.emptySchema), version: '', id: -1, notNormalized: { ...schema_utils_1.emptySchema, version: '', id: -1 } };
|
|
7
7
|
class SchemaVersionBuilder {
|
|
8
8
|
constructor(executedMigrationsResolver, schemaMigrator) {
|
|
9
9
|
this.executedMigrationsResolver = executedMigrationsResolver;
|
|
@@ -13,12 +13,13 @@ class SchemaVersionBuilder {
|
|
|
13
13
|
var _a;
|
|
14
14
|
const newMigrations = (await this.executedMigrationsResolver.getMigrations(db, after === null || after === void 0 ? void 0 : after.version));
|
|
15
15
|
if (newMigrations.length === 0) {
|
|
16
|
-
return after !== null && after !== void 0 ? after : emptyVersionedSchema;
|
|
16
|
+
return after !== null && after !== void 0 ? after : exports.emptyVersionedSchema;
|
|
17
17
|
}
|
|
18
18
|
const schema = newMigrations.reduce((schema, migration) => ({
|
|
19
19
|
...this.schemaMigrator.applyModifications(schema, migration.modifications, migration.formatVersion),
|
|
20
20
|
version: migration.version,
|
|
21
|
-
|
|
21
|
+
id: migration.id,
|
|
22
|
+
}), (_a = after === null || after === void 0 ? void 0 : after.notNormalized) !== null && _a !== void 0 ? _a : exports.emptyVersionedSchema.notNormalized);
|
|
22
23
|
const normalized = (0, schema_utils_2.normalizeSchema)(schema);
|
|
23
24
|
return {
|
|
24
25
|
...normalized,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaVersionBuilder.js","sourceRoot":"","sources":["../../../../src/model/migrations/SchemaVersionBuilder.ts"],"names":[],"mappings":";;;AAEA,0DAAqD;AAGrD,0DAAyD;
|
|
1
|
+
{"version":3,"file":"SchemaVersionBuilder.js","sourceRoot":"","sources":["../../../../src/model/migrations/SchemaVersionBuilder.ts"],"names":[],"mappings":";;;AAEA,0DAAqD;AAGrD,0DAAyD;AAI5C,QAAA,oBAAoB,GAAG,EAAE,GAAG,IAAA,8BAAe,EAAC,0BAAW,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,GAAG,0BAAW,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAA;AAEpJ,MAAa,oBAAoB;IAChC,YACkB,0BAAsD,EACtD,cAA8B;QAD9B,+BAA0B,GAA1B,0BAA0B,CAA4B;QACtD,mBAAc,GAAd,cAAc,CAAgB;IAC7C,CAAC;IAEJ,KAAK,CAAC,WAAW,CAAC,EAAmB,EAAE,KAAuB;;QAC7D,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,0BAA0B,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,CAAC,CAAC,CAAA;QAC/F,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,OAAO,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,4BAAoB,CAAA;SACpC;QAED,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAClC,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;YACvB,GAAG,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,aAAa,EAAE,SAAS,CAAC,aAAa,CAAC;YACnG,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,EAAE,EAAE,SAAS,CAAC,EAAE;SAChB,CAAC,EACF,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,aAAa,mCAAI,4BAAoB,CAAC,aAAa,CAC1D,CAAA;QACD,MAAM,UAAU,GAAG,IAAA,8BAAe,EAAC,MAAM,CAAC,CAAA;QAC1C,OAAO;YACN,GAAG,UAAU;YACb,aAAa,EAAE,MAAM;SACrB,CAAA;IACF,CAAC;CACD;AA1BD,oDA0BC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ContentEvent, EventType } from '../../events';
|
|
2
2
|
export declare type EventRow = {
|
|
3
3
|
id: string;
|
|
4
4
|
type: EventType;
|
|
@@ -10,5 +10,5 @@ export declare type EventRow = {
|
|
|
10
10
|
identity_id: string;
|
|
11
11
|
transaction_id: string;
|
|
12
12
|
};
|
|
13
|
-
export declare const createEventsFromRows: (rows: EventRow[]) =>
|
|
13
|
+
export declare const createEventsFromRows: (rows: EventRow[]) => ContentEvent[];
|
|
14
14
|
//# sourceMappingURL=EventQueryHelpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventQueryHelpers.d.ts","sourceRoot":"","sources":["../../../../../src/model/queries/events/EventQueryHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"EventQueryHelpers.d.ts","sourceRoot":"","sources":["../../../../../src/model/queries/events/EventQueryHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA4B,SAAS,EAAe,MAAM,cAAc,CAAA;AAG7F,oBAAY,QAAQ,GAAG;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,SAAS,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,UAAU,EAAE,IAAI,CAAA;IAChB,UAAU,EAAE,IAAI,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,oBAAoB,SAAU,QAAQ,EAAE,KAAG,YAAY,EAuCnE,CAAA"}
|