@contember/engine-system-api 1.2.0 → 1.3.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 +1 -12
- package/dist/src/SystemContainer.d.ts.map +1 -1
- package/dist/src/SystemContainer.js +1 -6
- 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 +31 -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 +1 -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 +56 -0
- package/dist/src/migrations/2022-10-03-110000-table-on-delete.js.map +1 -0
- package/dist/src/migrations/runner.d.ts +16 -3
- package/dist/src/migrations/runner.d.ts.map +1 -1
- package/dist/src/migrations/runner.js +64 -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/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/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/migrations/ProjectMigrator.js +1 -1
- package/dist/src/model/migrations/ProjectMigrator.js.map +1 -1
- package/dist/src/model/migrations/SchemaVersionBuilder.d.ts +18 -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/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 +40 -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 +13 -14
- package/src/SystemContainer.ts +0 -15
- package/src/bin/runMigrations.ts +35 -0
- package/src/index.ts +0 -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 +66 -0
- package/src/migrations/runner.ts +79 -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/model/ProjectInitializer.ts +15 -50
- 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/migrations/ProjectMigrator.ts +1 -1
- 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/2022-10-03-110000-table-on-delete.test.ts +42 -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 @@
|
|
|
1
|
+
{"version":3,"file":"2021-03-23-110000-timestamp-fix.d.ts","sourceRoot":"","sources":["../../../src/migrations/2021-03-23-110000-timestamp-fix.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAWjE,yBAA+B,OAAO,EAAE,gBAAgB,iBAEvD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const sql = `
|
|
4
|
+
ALTER TABLE "schema_migration"
|
|
5
|
+
ALTER "executed_at" TYPE TIMESTAMPTZ,
|
|
6
|
+
ALTER "executed_at" SET DEFAULT now();
|
|
7
|
+
|
|
8
|
+
ALTER TABLE "event"
|
|
9
|
+
ALTER "created_at" TYPE TIMESTAMPTZ;
|
|
10
|
+
`;
|
|
11
|
+
async function default_1(builder) {
|
|
12
|
+
builder.sql(sql);
|
|
13
|
+
}
|
|
14
|
+
exports.default = default_1;
|
|
15
|
+
//# sourceMappingURL=2021-03-23-110000-timestamp-fix.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2021-03-23-110000-timestamp-fix.js","sourceRoot":"","sources":["../../../src/migrations/2021-03-23-110000-timestamp-fix.ts"],"names":[],"mappings":";;AAEA,MAAM,GAAG,GAAG;;;;;;;CAOX,CAAA;AAEc,KAAK,oBAAW,OAAyB;IACvD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AACjB,CAAC;AAFD,4BAEC"}
|
|
@@ -39,7 +39,7 @@ async function default_1(builder, args) {
|
|
|
39
39
|
identity_id UUID NOT NULL,
|
|
40
40
|
transaction_id UUID DEFAULT COALESCE(
|
|
41
41
|
(NULLIF(CURRENT_SETTING('system.transaction_id'::TEXT, TRUE), ''::TEXT))::UUID,
|
|
42
|
-
(SET_CONFIG('system.transaction_id'::TEXT, (uuid_generate_v4())::TEXT, TRUE))::UUID) NOT NULL
|
|
42
|
+
(SET_CONFIG('system.transaction_id'::TEXT, ("uuid_generate_v4"())::TEXT, TRUE))::UUID) NOT NULL
|
|
43
43
|
)
|
|
44
44
|
`);
|
|
45
45
|
builder.sql(`
|
|
@@ -207,7 +207,7 @@ async function default_1(builder, args) {
|
|
|
207
207
|
|
|
208
208
|
INSERT INTO "event_data" ("id", "type", "table_name", "row_ids", "values", "created_at", schema_id, identity_id)
|
|
209
209
|
VALUES (
|
|
210
|
-
uuid_generate_v4(),
|
|
210
|
+
"uuid_generate_v4"(),
|
|
211
211
|
new_event_type,
|
|
212
212
|
table_name,
|
|
213
213
|
primary_values,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2021-12-21-155500-events-up.d.ts","sourceRoot":"","sources":["../../../src/migrations/2021-12-21-155500-events-up.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAWjE,yBAA+B,OAAO,EAAE,gBAAgB,iBAEvD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const sql = `
|
|
4
|
+
CREATE INDEX event_data_created ON event_data (created_at);
|
|
5
|
+
CREATE INDEX transaction_applied ON stage_transaction (applied_at);
|
|
6
|
+
|
|
7
|
+
ALTER TABLE stage
|
|
8
|
+
DROP event_id;
|
|
9
|
+
DROP TABLE event_bak;
|
|
10
|
+
`;
|
|
11
|
+
async function default_1(builder) {
|
|
12
|
+
builder.sql(sql);
|
|
13
|
+
}
|
|
14
|
+
exports.default = default_1;
|
|
15
|
+
//# sourceMappingURL=2021-12-21-155500-events-up.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2021-12-21-155500-events-up.js","sourceRoot":"","sources":["../../../src/migrations/2021-12-21-155500-events-up.ts"],"names":[],"mappings":";;AAEA,MAAM,GAAG,GAAG;;;;;;;CAOX,CAAA;AAEc,KAAK,oBAAW,OAAyB;IACvD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AACjB,CAAC;AAFD,4BAEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2022-02-08-132600-fn-search-path.d.ts","sourceRoot":"","sources":["../../../src/migrations/2022-02-08-132600-fn-search-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAYjE,yBAA+B,OAAO,EAAE,gBAAgB,iBAEvD"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const sql = `
|
|
4
|
+
DO LANGUAGE plpgsql
|
|
5
|
+
$$
|
|
6
|
+
BEGIN
|
|
7
|
+
EXECUTE FORMAT('ALTER FUNCTION trigger_event_commit() SET SEARCH_PATH = %s', QUOTE_IDENT(CURRENT_SCHEMA()));
|
|
8
|
+
EXECUTE FORMAT('ALTER FUNCTION trigger_event() SET SEARCH_PATH = %s', QUOTE_IDENT(CURRENT_SCHEMA()));
|
|
9
|
+
END
|
|
10
|
+
$$
|
|
11
|
+
`;
|
|
12
|
+
async function default_1(builder) {
|
|
13
|
+
builder.sql(sql);
|
|
14
|
+
}
|
|
15
|
+
exports.default = default_1;
|
|
16
|
+
//# sourceMappingURL=2022-02-08-132600-fn-search-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2022-02-08-132600-fn-search-path.js","sourceRoot":"","sources":["../../../src/migrations/2022-02-08-132600-fn-search-path.ts"],"names":[],"mappings":";;AAEA,MAAM,GAAG,GAAG;;;;;;;;CAQX,CAAA;AAEc,KAAK,oBAAW,OAAyB;IACvD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AACjB,CAAC;AAFD,4BAEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2022-02-08-140500-drop-deadcode.d.ts","sourceRoot":"","sources":["../../../src/migrations/2022-02-08-140500-drop-deadcode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAOjE,yBAA+B,OAAO,EAAE,gBAAgB,iBAEvD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const sql = `
|
|
4
|
+
DROP FUNCTION rebase_events_unsafe(head UUID, oldbase UUID, newbase UUID, appliedevents UUID[]);
|
|
5
|
+
DROP FUNCTION statement_trigger_event();
|
|
6
|
+
`;
|
|
7
|
+
async function default_1(builder) {
|
|
8
|
+
builder.sql(sql);
|
|
9
|
+
}
|
|
10
|
+
exports.default = default_1;
|
|
11
|
+
//# sourceMappingURL=2022-02-08-140500-drop-deadcode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2022-02-08-140500-drop-deadcode.js","sourceRoot":"","sources":["../../../src/migrations/2022-02-08-140500-drop-deadcode.ts"],"names":[],"mappings":";;AAEA,MAAM,GAAG,GAAG;;;CAGX,CAAA;AAEc,KAAK,oBAAW,OAAyB;IACvD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AACjB,CAAC;AAFD,4BAEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2022-02-08-144400-dynamic-stage-schema.d.ts","sourceRoot":"","sources":["../../../src/migrations/2022-02-08-144400-dynamic-stage-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AA8CjE,yBAA+B,OAAO,EAAE,gBAAgB,iBAEvD"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const sql = `
|
|
4
|
+
ALTER TABLE stage
|
|
5
|
+
ADD COLUMN schema TEXT UNIQUE;
|
|
6
|
+
UPDATE stage
|
|
7
|
+
SET schema = 'stage_' || slug;
|
|
8
|
+
ALTER TABLE stage
|
|
9
|
+
ALTER schema SET NOT NULL;
|
|
10
|
+
|
|
11
|
+
CREATE OR REPLACE FUNCTION trigger_event_commit() RETURNS TRIGGER AS
|
|
12
|
+
$$
|
|
13
|
+
BEGIN
|
|
14
|
+
PERFORM PG_ADVISORY_XACT_LOCK(5218230332970456493); -- well-known random number
|
|
15
|
+
|
|
16
|
+
CASE WHEN
|
|
17
|
+
NULLIF(CURRENT_SETTING('system.transaction_id', TRUE), '') IS NOT NULL
|
|
18
|
+
AND NULLIF(CURRENT_SETTING('system.transaction_inserted', TRUE), '') IS NULL
|
|
19
|
+
THEN
|
|
20
|
+
INSERT INTO stage_transaction(transaction_id, stage_id, applied_at)
|
|
21
|
+
VALUES (CURRENT_SETTING('system.transaction_id')::UUID,
|
|
22
|
+
(
|
|
23
|
+
SELECT id
|
|
24
|
+
FROM stage
|
|
25
|
+
WHERE schema = TG_TABLE_SCHEMA
|
|
26
|
+
),
|
|
27
|
+
CLOCK_TIMESTAMP())
|
|
28
|
+
ON CONFLICT DO NOTHING;
|
|
29
|
+
|
|
30
|
+
PERFORM SET_CONFIG('system.transaction_inserted', '1', TRUE);
|
|
31
|
+
ELSE
|
|
32
|
+
-- do nothing
|
|
33
|
+
END CASE;
|
|
34
|
+
|
|
35
|
+
RETURN NULL;
|
|
36
|
+
END
|
|
37
|
+
$$ LANGUAGE plpgsql;
|
|
38
|
+
|
|
39
|
+
DO LANGUAGE plpgsql
|
|
40
|
+
$$
|
|
41
|
+
BEGIN
|
|
42
|
+
EXECUTE FORMAT('ALTER FUNCTION trigger_event_commit() SET SEARCH_PATH = %s', QUOTE_IDENT(CURRENT_SCHEMA()));
|
|
43
|
+
END
|
|
44
|
+
$$
|
|
45
|
+
`;
|
|
46
|
+
async function default_1(builder) {
|
|
47
|
+
builder.sql(sql);
|
|
48
|
+
}
|
|
49
|
+
exports.default = default_1;
|
|
50
|
+
//# sourceMappingURL=2022-02-08-144400-dynamic-stage-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2022-02-08-144400-dynamic-stage-schema.js","sourceRoot":"","sources":["../../../src/migrations/2022-02-08-144400-dynamic-stage-schema.ts"],"names":[],"mappings":";;AAEA,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CX,CAAA;AAEc,KAAK,oBAAW,OAAyB;IACvD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AACjB,CAAC;AAFD,4BAEC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { MigrationArgs, MigrationBuilder } from '@contember/database-migrations';
|
|
2
|
+
import { SystemMigrationArgs } from './types';
|
|
3
|
+
export default function (builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=2022-10-03-110000-table-on-delete.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2022-10-03-110000-table-on-delete.d.ts","sourceRoot":"","sources":["../../../src/migrations/2022-10-03-110000-table-on-delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAEhF,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAI7C,yBAA+B,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa,CAAC,mBAAmB,CAAC,iBA2DjG"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const database_1 = require("@contember/database");
|
|
4
|
+
const schema_utils_1 = require("@contember/schema-utils");
|
|
5
|
+
const schema_1 = require("@contember/schema");
|
|
6
|
+
async function default_1(builder, args) {
|
|
7
|
+
const schema = await args.schemaResolver(args.connection);
|
|
8
|
+
const stages = (await args.connection.query('SELECT schema FROM stage')).rows;
|
|
9
|
+
for (const entity of Object.values(schema.model.entities)) {
|
|
10
|
+
for (const field of Object.values(entity.fields)) {
|
|
11
|
+
const result = (0, schema_utils_1.acceptFieldVisitor)(schema.model, entity, field, {
|
|
12
|
+
visitManyHasOne: ({ entity, relation, targetEntity }) => {
|
|
13
|
+
return { relation, entity, targetEntity };
|
|
14
|
+
},
|
|
15
|
+
visitOneHasOneOwning: ({ entity, relation, targetEntity }) => {
|
|
16
|
+
return { relation, entity, targetEntity };
|
|
17
|
+
},
|
|
18
|
+
visitOneHasOneInverse: () => null,
|
|
19
|
+
visitManyHasManyInverse: () => null,
|
|
20
|
+
visitManyHasManyOwning: () => null,
|
|
21
|
+
visitOneHasMany: () => null,
|
|
22
|
+
visitColumn: () => null,
|
|
23
|
+
});
|
|
24
|
+
if (!result) {
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
const { targetEntity, relation } = result;
|
|
28
|
+
if (entity.view || targetEntity.view) {
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
if (relation.joiningColumn.onDelete === schema_1.Model.OnDelete.restrict) {
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
for (const stage of stages) {
|
|
35
|
+
const fkName = schema_utils_1.NamingHelper.createForeignKeyName(entity.tableName, relation.joiningColumn.columnName, targetEntity.tableName, targetEntity.primaryColumn);
|
|
36
|
+
const tableName = { name: entity.tableName, schema: stage.schema };
|
|
37
|
+
builder.dropConstraint(tableName, fkName);
|
|
38
|
+
const onDelete = {
|
|
39
|
+
[schema_1.Model.OnDelete.setNull]: 'SET NULL',
|
|
40
|
+
[schema_1.Model.OnDelete.cascade]: 'CASCADE',
|
|
41
|
+
}[relation.joiningColumn.onDelete];
|
|
42
|
+
builder.addConstraint(tableName, fkName, {
|
|
43
|
+
foreignKeys: {
|
|
44
|
+
columns: relation.joiningColumn.columnName,
|
|
45
|
+
references: `${(0, database_1.wrapIdentifier)(stage.schema)}.${(0, database_1.wrapIdentifier)(targetEntity.tableName)}(${(0, database_1.wrapIdentifier)(targetEntity.primaryColumn)})`,
|
|
46
|
+
onDelete: onDelete,
|
|
47
|
+
},
|
|
48
|
+
deferrable: true,
|
|
49
|
+
deferred: false,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.default = default_1;
|
|
56
|
+
//# sourceMappingURL=2022-10-03-110000-table-on-delete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2022-10-03-110000-table-on-delete.js","sourceRoot":"","sources":["../../../src/migrations/2022-10-03-110000-table-on-delete.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { MigrationGroup } from '@contember/database-migrations';
|
|
2
|
+
import { DatabaseConfig } from '@contember/database';
|
|
3
|
+
import { DatabaseContextFactory, SchemaVersionBuilder } from '../model';
|
|
4
|
+
import { ProjectConfig } from '../types';
|
|
5
|
+
import { Logger } from '@contember/logger';
|
|
6
|
+
export declare class SystemMigrationsRunner {
|
|
7
|
+
private readonly databaseContextFactory;
|
|
8
|
+
private readonly project;
|
|
9
|
+
private readonly schema;
|
|
10
|
+
private readonly schemaVersionBuilder;
|
|
11
|
+
private readonly migrationGroups;
|
|
12
|
+
constructor(databaseContextFactory: DatabaseContextFactory, project: ProjectConfig & {
|
|
13
|
+
db: DatabaseConfig;
|
|
14
|
+
}, schema: string, schemaVersionBuilder: SchemaVersionBuilder, migrationGroups: Record<string, MigrationGroup<unknown>>);
|
|
15
|
+
run(logger: Logger): Promise<void>;
|
|
16
|
+
}
|
|
4
17
|
//# sourceMappingURL=runner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/migrations/runner.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/migrations/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA0C,MAAM,gCAAgC,CAAA;AAqBvG,OAAO,EAAiD,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACnG,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AA0B1C,qBAAa,sBAAsB;IAEjC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAJf,sBAAsB,EAAE,sBAAsB,EAC9C,OAAO,EAAE,aAAa,GAAG;QAAE,EAAE,EAAE,cAAc,CAAA;KAAE,EAC/C,MAAM,EAAE,MAAM,EACd,oBAAoB,EAAE,oBAAoB,EAC1C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAGpE,GAAG,CAAC,MAAM,EAAE,MAAM;CAqBxB"}
|
|
@@ -3,21 +3,75 @@ 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
|
-
exports.
|
|
6
|
+
exports.SystemMigrationsRunner = void 0;
|
|
7
7
|
const database_migrations_1 = require("@contember/database-migrations");
|
|
8
|
+
const _2018_08_04_102200_init_1 = __importDefault(require("./2018-08-04-102200-init"));
|
|
9
|
+
const _2018_08_05_130501_trigger_event_function_1 = __importDefault(require("./2018-08-05-130501-trigger-event-function"));
|
|
10
|
+
const _2019_01_14_143432_event_trx_id_1 = __importDefault(require("./2019-01-14-143432-event-trx-id"));
|
|
11
|
+
const _2019_02_04_154500_event_rebase_1 = __importDefault(require("./2019-02-04-154500-event-rebase"));
|
|
12
|
+
const _2019_03_18_104147_event_run_migration_struct_1 = __importDefault(require("./2019-03-18-104147-event-run-migration-struct"));
|
|
13
|
+
const _2019_07_29_103000_trigger_event_function_fix_1 = __importDefault(require("./2019-07-29-103000-trigger-event-function-fix"));
|
|
14
|
+
const _2019_11_28_100000_missing_setting_fallback_1 = __importDefault(require("./2019-11-28-100000-missing-setting-fallback"));
|
|
8
15
|
const _2020_03_27_130000_project_migrations_1 = __importDefault(require("./2020-03-27-130000-project-migrations"));
|
|
9
16
|
const _2020_05_06_150000_composed_primary_1 = __importDefault(require("./2020-05-06-150000-composed-primary"));
|
|
10
17
|
const _2020_06_01_103000_event_trigger_perf_1 = __importDefault(require("./2020-06-01-103000-event-trigger-perf"));
|
|
18
|
+
const _2021_03_23_110000_timestamp_fix_1 = __importDefault(require("./2021-03-23-110000-timestamp-fix"));
|
|
11
19
|
const _2021_05_07_155800_event_log_rework_1 = __importDefault(require("./2021-05-07-155800-event-log-rework"));
|
|
12
20
|
const _2021_05_19_1232000_event_log_fix_constraint_1 = __importDefault(require("./2021-05-19-1232000-event-log-fix-constraint"));
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
+
const _2021_12_21_155500_events_up_1 = __importDefault(require("./2021-12-21-155500-events-up"));
|
|
22
|
+
const _2022_02_08_132600_fn_search_path_1 = __importDefault(require("./2022-02-08-132600-fn-search-path"));
|
|
23
|
+
const _2022_02_08_140500_drop_deadcode_1 = __importDefault(require("./2022-02-08-140500-drop-deadcode"));
|
|
24
|
+
const _2022_02_08_144400_dynamic_stage_schema_1 = __importDefault(require("./2022-02-08-144400-dynamic-stage-schema"));
|
|
25
|
+
const _2022_10_03_110000_table_on_delete_1 = __importDefault(require("./2022-10-03-110000-table-on-delete"));
|
|
26
|
+
const snapshot_1 = __importDefault(require("./snapshot"));
|
|
27
|
+
const database_1 = require("@contember/database");
|
|
28
|
+
const database_migrations_2 = require("@contember/database-migrations");
|
|
29
|
+
const database_migrations_3 = require("@contember/database-migrations");
|
|
30
|
+
const migrations = {
|
|
31
|
+
'2018-08-04-102200-init': _2018_08_04_102200_init_1.default,
|
|
32
|
+
'2018-08-05-130501-trigger-event-function': _2018_08_05_130501_trigger_event_function_1.default,
|
|
33
|
+
'2019-01-14-143432-event-trx-id': _2019_01_14_143432_event_trx_id_1.default,
|
|
34
|
+
'2019-02-04-154500-event-rebase': _2019_02_04_154500_event_rebase_1.default,
|
|
35
|
+
'2019-03-18-104147-event-run-migration-struct': _2019_03_18_104147_event_run_migration_struct_1.default,
|
|
36
|
+
'2019-07-29-103000-trigger-event-function-fix': _2019_07_29_103000_trigger_event_function_fix_1.default,
|
|
37
|
+
'2019-11-28-100000-missing-setting-fallback': _2019_11_28_100000_missing_setting_fallback_1.default,
|
|
38
|
+
'2020-03-27-130000-project-migrations': _2020_03_27_130000_project_migrations_1.default,
|
|
39
|
+
'2020-05-06-150000-composed-primary': _2020_05_06_150000_composed_primary_1.default,
|
|
40
|
+
'2020-06-01-103000-event-trigger-perf': _2020_06_01_103000_event_trigger_perf_1.default,
|
|
41
|
+
'2021-03-23-110000-timestamp-fix': _2021_03_23_110000_timestamp_fix_1.default,
|
|
42
|
+
'2021-05-07-155800-event-log-rework': _2021_05_07_155800_event_log_rework_1.default,
|
|
43
|
+
'2021-05-19-1232000-event-log-fix-constraint': _2021_05_19_1232000_event_log_fix_constraint_1.default,
|
|
44
|
+
'2021-12-21-155500-events-up': _2021_12_21_155500_events_up_1.default,
|
|
45
|
+
'2022-02-08-132600-fn-search-path': _2022_02_08_132600_fn_search_path_1.default,
|
|
46
|
+
'2022-02-08-140500-drop-deadcode': _2022_02_08_140500_drop_deadcode_1.default,
|
|
47
|
+
'2022-02-08-144400-dynamic-stage-schema': _2022_02_08_144400_dynamic_stage_schema_1.default,
|
|
48
|
+
'2022-10-03-110000-table-on-delete': _2022_10_03_110000_table_on_delete_1.default,
|
|
21
49
|
};
|
|
22
|
-
|
|
50
|
+
class SystemMigrationsRunner {
|
|
51
|
+
constructor(databaseContextFactory, project, schema, schemaVersionBuilder, migrationGroups) {
|
|
52
|
+
this.databaseContextFactory = databaseContextFactory;
|
|
53
|
+
this.project = project;
|
|
54
|
+
this.schema = schema;
|
|
55
|
+
this.schemaVersionBuilder = schemaVersionBuilder;
|
|
56
|
+
this.migrationGroups = migrationGroups;
|
|
57
|
+
}
|
|
58
|
+
async run(logger) {
|
|
59
|
+
await (0, database_1.createDatabaseIfNotExists)(this.project.db, message => typeof message === 'string' ? logger.warn(message) : logger.error(message));
|
|
60
|
+
const singleConnection = database_1.Connection.createSingle(this.project.db, err => logger.error(err));
|
|
61
|
+
await singleConnection.scope(async (connection) => {
|
|
62
|
+
const schemaResolver = (connection) => {
|
|
63
|
+
const dbContextMigrations = this.databaseContextFactory.create(connection);
|
|
64
|
+
return this.schemaVersionBuilder.buildSchema(dbContextMigrations);
|
|
65
|
+
};
|
|
66
|
+
const migrationResolver = new database_migrations_2.GroupMigrationsResolver(new database_migrations_3.SnapshotMigrationResolver(snapshot_1.default, migrations), Object.fromEntries(Object.entries(this.migrationGroups).map(([group, it]) => [group, new database_migrations_3.SnapshotMigrationResolver(it.snapshot, it.migrations, group.replace(/[^-_\w]+/g, '-'))])));
|
|
67
|
+
const migrationsRunner = new database_migrations_1.MigrationsRunner(connection, this.schema, migrationResolver);
|
|
68
|
+
await migrationsRunner.migrate(message => logger.warn(message), {
|
|
69
|
+
project: this.project,
|
|
70
|
+
schemaResolver,
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
await singleConnection.end();
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
exports.SystemMigrationsRunner = SystemMigrationsRunner;
|
|
23
77
|
//# sourceMappingURL=runner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/migrations/runner.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/migrations/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { MigrationArgs, MigrationBuilder } from '@contember/database-migrations';
|
|
2
|
+
import { SystemMigrationArgs } from './types';
|
|
3
|
+
export declare const snapshotMigration: (sqlFactory: (args: {
|
|
4
|
+
randomUuidFn: string;
|
|
5
|
+
}) => string) => (builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>) => Promise<void>;
|
|
6
|
+
//# sourceMappingURL=snapshot-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot-factory.d.ts","sourceRoot":"","sources":["../../../src/migrations/snapshot-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAE7C,eAAO,MAAM,iBAAiB,sBAAuB;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,KAAK,MAAM,eAChE,gBAAgB,QAAQ,cAAc,mBAAmB,CAAC,kBAwCjF,CAAA"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.snapshotMigration = void 0;
|
|
4
|
+
const snapshotMigration = (sqlFactory) => {
|
|
5
|
+
return async (builder, args) => {
|
|
6
|
+
const hasGenRandomUuid = await args.connection.query(`
|
|
7
|
+
SELECT 1
|
|
8
|
+
FROM pg_proc
|
|
9
|
+
JOIN pg_namespace ON pg_proc.pronamespace = pg_namespace.oid
|
|
10
|
+
WHERE pg_namespace.nspname = 'pg_catalog' AND pg_proc.proname = 'gen_random_uuid'
|
|
11
|
+
`);
|
|
12
|
+
let randomUuidFn = 'uuid_generate_v4';
|
|
13
|
+
if (hasGenRandomUuid.rowCount > 0) {
|
|
14
|
+
randomUuidFn = 'gen_random_uuid';
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
const hasUuidGenV4 = await args.connection.query(`
|
|
18
|
+
SELECT 1
|
|
19
|
+
FROM pg_proc
|
|
20
|
+
JOIN pg_namespace ON pg_proc.pronamespace = pg_namespace.oid
|
|
21
|
+
WHERE pg_namespace.nspname = 'pg_catalog' AND pg_proc.proname = 'uuid_generate_v4'
|
|
22
|
+
`);
|
|
23
|
+
if (hasUuidGenV4.rowCount === 0) {
|
|
24
|
+
builder.sql(`
|
|
25
|
+
CREATE FUNCTION "uuid_generate_v4"() RETURNS "uuid"
|
|
26
|
+
LANGUAGE "sql"
|
|
27
|
+
AS $$
|
|
28
|
+
SELECT OVERLAY(OVERLAY(md5(random()::TEXT || ':' || clock_timestamp()::TEXT) PLACING '4' FROM 13) PLACING
|
|
29
|
+
to_hex(floor(random() * (11 - 8 + 1) + 8)::INT)::TEXT FROM 17)::UUID;
|
|
30
|
+
$$;
|
|
31
|
+
`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
const sql = sqlFactory({ randomUuidFn });
|
|
35
|
+
builder.sql(sql);
|
|
36
|
+
builder.sql(`DO LANGUAGE plpgsql
|
|
37
|
+
$$
|
|
38
|
+
BEGIN
|
|
39
|
+
EXECUTE FORMAT('ALTER FUNCTION trigger_event_commit() SET SEARCH_PATH = %s', QUOTE_IDENT(CURRENT_SCHEMA()));
|
|
40
|
+
EXECUTE FORMAT('ALTER FUNCTION trigger_event() SET SEARCH_PATH = %s', QUOTE_IDENT(CURRENT_SCHEMA()));
|
|
41
|
+
END
|
|
42
|
+
$$`);
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
exports.snapshotMigration = snapshotMigration;
|
|
46
|
+
//# sourceMappingURL=snapshot-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot-factory.js","sourceRoot":"","sources":["../../../src/migrations/snapshot-factory.ts"],"names":[],"mappings":";;;AAGO,MAAM,iBAAiB,GAAG,CAAC,UAAsD,EAAE,EAAE;IAC3F,OAAO,KAAK,EAAE,OAAyB,EAAE,IAAwC,EAAE,EAAE;QACpF,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;;;;;GAKpD,CAAC,CAAA;QACF,IAAI,YAAY,GAAW,kBAAkB,CAAA;QAC7C,IAAI,gBAAgB,CAAC,QAAQ,GAAG,CAAC,EAAE;YAClC,YAAY,GAAG,iBAAiB,CAAA;SAChC;aAAM;YACN,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;;;;;IAKhD,CAAC,CAAA;YACF,IAAI,YAAY,CAAC,QAAQ,KAAK,CAAC,EAAE;gBAChC,OAAO,CAAC,GAAG,CAAC;;;;;;;aAOH,CAAC,CAAA;aACV;SACD;QACD,MAAM,GAAG,GAAG,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC,CAAA;QACxC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAEhB,OAAO,CAAC,GAAG,CAAC;;;;;;GAMX,CAAC,CAAA;IAEH,CAAC,CAAA;AACF,CAAC,CAAA;AAzCY,QAAA,iBAAiB,qBAyC7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../src/migrations/snapshot.ts"],"names":[],"mappings":";AACA,wBAuKE"}
|