@contember/engine-system-api 1.2.0-alpha.2 → 1.2.0-alpha.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +10 -9
- package/dist/src/index.js.map +1 -1
- package/dist/src/migrations/2020-05-06-150000-composed-primary.d.ts +2 -1
- package/dist/src/migrations/2020-05-06-150000-composed-primary.d.ts.map +1 -1
- package/dist/src/migrations/2020-05-06-150000-composed-primary.js +1 -1
- package/dist/src/migrations/2020-05-06-150000-composed-primary.js.map +1 -1
- package/dist/src/migrations/2020-06-01-103000-event-trigger-perf.d.ts +2 -1
- package/dist/src/migrations/2020-06-01-103000-event-trigger-perf.d.ts.map +1 -1
- package/dist/src/migrations/2020-06-01-103000-event-trigger-perf.js +1 -1
- package/dist/src/migrations/2020-06-01-103000-event-trigger-perf.js.map +1 -1
- package/dist/src/migrations/2021-05-07-155800-event-log-rework.d.ts +2 -1
- package/dist/src/migrations/2021-05-07-155800-event-log-rework.d.ts.map +1 -1
- package/dist/src/migrations/2021-05-07-155800-event-log-rework.js +1 -1
- package/dist/src/migrations/2021-05-07-155800-event-log-rework.js.map +1 -1
- package/dist/src/migrations/2021-05-19-1232000-event-log-fix-constraint.d.ts +2 -1
- package/dist/src/migrations/2021-05-19-1232000-event-log-fix-constraint.d.ts.map +1 -1
- package/dist/src/migrations/2021-05-19-1232000-event-log-fix-constraint.js +1 -1
- package/dist/src/migrations/2021-05-19-1232000-event-log-fix-constraint.js.map +1 -1
- package/dist/src/migrations/runner.d.ts +2 -1
- package/dist/src/migrations/runner.d.ts.map +1 -1
- package/dist/src/migrations/runner.js.map +1 -1
- package/dist/src/migrations/types.d.ts +2 -1
- package/dist/src/migrations/types.d.ts.map +1 -1
- package/dist/src/model/ProjectInitializer.d.ts +1 -2
- package/dist/src/model/ProjectInitializer.d.ts.map +1 -1
- package/dist/src/model/ProjectInitializer.js +17 -21
- package/dist/src/model/ProjectInitializer.js.map +1 -1
- package/dist/src/model/database/DatabaseContext.d.ts +1 -0
- package/dist/src/model/database/DatabaseContext.d.ts.map +1 -1
- package/dist/src/model/database/DatabaseContext.js +1 -0
- package/dist/src/model/database/DatabaseContext.js.map +1 -1
- package/dist/src/model/migrations/ProjectMigrator.d.ts +4 -1
- package/dist/src/model/migrations/ProjectMigrator.d.ts.map +1 -1
- package/dist/src/model/migrations/ProjectMigrator.js +16 -9
- package/dist/src/model/migrations/ProjectMigrator.js.map +1 -1
- package/dist/src/resolvers/ResolverFactory.d.ts +1 -1
- package/dist/src/resolvers/ResolverFactory.d.ts.map +1 -1
- package/dist/src/resolvers/mutation/MigrateMutationResolver.d.ts.map +1 -1
- package/dist/src/resolvers/mutation/MigrateMutationResolver.js +7 -3
- package/dist/src/resolvers/mutation/MigrateMutationResolver.js.map +1 -1
- package/dist/src/schema/types.d.ts +126 -141
- package/dist/src/schema/types.d.ts.map +1 -1
- package/dist/src/schema/types.js +6 -6
- package/dist/src/schema/types.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/tests/cases/migrations/2020-05-06-150000-composed-primary.test.js +1 -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 +1 -0
- package/dist/tests/cases/migrations/2020-06-01-103000-event-trigger-perf.test.js.map +1 -1
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/graphql.codegen.yml +0 -2
- package/package.json +20 -20
- package/src/index.ts +11 -10
- package/src/migrations/2020-05-06-150000-composed-primary.ts +3 -2
- package/src/migrations/2020-06-01-103000-event-trigger-perf.ts +3 -2
- package/src/migrations/2021-05-07-155800-event-log-rework.ts +3 -2
- package/src/migrations/2021-05-19-1232000-event-log-fix-constraint.ts +3 -2
- package/src/migrations/runner.ts +2 -1
- package/src/migrations/types.ts +2 -1
- package/src/model/ProjectInitializer.ts +21 -32
- package/src/model/database/DatabaseContext.ts +3 -1
- package/src/model/migrations/ProjectMigrator.ts +22 -14
- package/src/resolvers/mutation/MigrateMutationResolver.ts +8 -3
- package/src/schema/types.ts +126 -148
- package/tests/cases/migrations/2020-05-06-150000-composed-primary.test.ts +1 -0
- package/tests/cases/migrations/2020-06-01-103000-event-trigger-perf.test.ts +1 -0
package/dist/src/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { SchemaMigrator, MigrationsResolver } from '@contember/schema-migrations';
|
|
2
2
|
export { typeDefs, devTypeDefs, Schema } from './schema';
|
|
3
|
-
export {
|
|
3
|
+
export { DatabaseContext, DatabaseContextFactory, formatSchemaName, getJunctionTables, Identity, LatestTransactionIdByStageQuery, ProjectInitializer, ProjectMigrator, SchemaVersionBuilder, setupSystemVariables, Stage, StageBySlugQuery, StageCreator, StagesQuery, unnamedIdentity, VersionedSchema, } from './model';
|
|
4
4
|
export * from './SystemContainer';
|
|
5
5
|
export * from './resolvers';
|
|
6
6
|
export * from './types';
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAEjF,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAExD,OAAO,EACN,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAEjF,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAExD,OAAO,EACN,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,EACR,+BAA+B,EAC/B,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,EACL,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,eAAe,EACf,eAAe,GACf,MAAM,SAAS,CAAA;AAChB,cAAc,mBAAmB,CAAA;AACjC,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA"}
|
package/dist/src/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.
|
|
17
|
+
exports.unnamedIdentity = exports.StagesQuery = exports.StageCreator = exports.StageBySlugQuery = exports.setupSystemVariables = exports.SchemaVersionBuilder = exports.ProjectMigrator = exports.ProjectInitializer = exports.LatestTransactionIdByStageQuery = exports.Identity = exports.getJunctionTables = exports.formatSchemaName = exports.DatabaseContextFactory = exports.Schema = exports.devTypeDefs = exports.typeDefs = exports.MigrationsResolver = exports.SchemaMigrator = void 0;
|
|
18
18
|
var schema_migrations_1 = require("@contember/schema-migrations");
|
|
19
19
|
Object.defineProperty(exports, "SchemaMigrator", { enumerable: true, get: function () { return schema_migrations_1.SchemaMigrator; } });
|
|
20
20
|
Object.defineProperty(exports, "MigrationsResolver", { enumerable: true, get: function () { return schema_migrations_1.MigrationsResolver; } });
|
|
@@ -23,18 +23,19 @@ Object.defineProperty(exports, "typeDefs", { enumerable: true, get: function ()
|
|
|
23
23
|
Object.defineProperty(exports, "devTypeDefs", { enumerable: true, get: function () { return schema_1.devTypeDefs; } });
|
|
24
24
|
Object.defineProperty(exports, "Schema", { enumerable: true, get: function () { return schema_1.Schema; } });
|
|
25
25
|
var model_1 = require("./model");
|
|
26
|
-
Object.defineProperty(exports, "
|
|
27
|
-
Object.defineProperty(exports, "setupSystemVariables", { enumerable: true, get: function () { return model_1.setupSystemVariables; } });
|
|
28
|
-
Object.defineProperty(exports, "StageBySlugQuery", { enumerable: true, get: function () { return model_1.StageBySlugQuery; } });
|
|
29
|
-
Object.defineProperty(exports, "unnamedIdentity", { enumerable: true, get: function () { return model_1.unnamedIdentity; } });
|
|
30
|
-
Object.defineProperty(exports, "SchemaVersionBuilder", { enumerable: true, get: function () { return model_1.SchemaVersionBuilder; } });
|
|
26
|
+
Object.defineProperty(exports, "DatabaseContextFactory", { enumerable: true, get: function () { return model_1.DatabaseContextFactory; } });
|
|
31
27
|
Object.defineProperty(exports, "formatSchemaName", { enumerable: true, get: function () { return model_1.formatSchemaName; } });
|
|
32
|
-
Object.defineProperty(exports, "
|
|
28
|
+
Object.defineProperty(exports, "getJunctionTables", { enumerable: true, get: function () { return model_1.getJunctionTables; } });
|
|
29
|
+
Object.defineProperty(exports, "Identity", { enumerable: true, get: function () { return model_1.Identity; } });
|
|
33
30
|
Object.defineProperty(exports, "LatestTransactionIdByStageQuery", { enumerable: true, get: function () { return model_1.LatestTransactionIdByStageQuery; } });
|
|
34
|
-
Object.defineProperty(exports, "
|
|
31
|
+
Object.defineProperty(exports, "ProjectInitializer", { enumerable: true, get: function () { return model_1.ProjectInitializer; } });
|
|
35
32
|
Object.defineProperty(exports, "ProjectMigrator", { enumerable: true, get: function () { return model_1.ProjectMigrator; } });
|
|
33
|
+
Object.defineProperty(exports, "SchemaVersionBuilder", { enumerable: true, get: function () { return model_1.SchemaVersionBuilder; } });
|
|
34
|
+
Object.defineProperty(exports, "setupSystemVariables", { enumerable: true, get: function () { return model_1.setupSystemVariables; } });
|
|
35
|
+
Object.defineProperty(exports, "StageBySlugQuery", { enumerable: true, get: function () { return model_1.StageBySlugQuery; } });
|
|
36
36
|
Object.defineProperty(exports, "StageCreator", { enumerable: true, get: function () { return model_1.StageCreator; } });
|
|
37
|
-
Object.defineProperty(exports, "
|
|
37
|
+
Object.defineProperty(exports, "StagesQuery", { enumerable: true, get: function () { return model_1.StagesQuery; } });
|
|
38
|
+
Object.defineProperty(exports, "unnamedIdentity", { enumerable: true, get: function () { return model_1.unnamedIdentity; } });
|
|
38
39
|
__exportStar(require("./SystemContainer"), exports);
|
|
39
40
|
__exportStar(require("./resolvers"), exports);
|
|
40
41
|
__exportStar(require("./types"), exports);
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kEAAiF;AAAxE,mHAAA,cAAc,OAAA;AAAE,uHAAA,kBAAkB,OAAA;AAE3C,mCAAwD;AAA/C,kGAAA,QAAQ,OAAA;AAAE,qGAAA,WAAW,OAAA;AAAE,gGAAA,MAAM,OAAA;AAEtC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kEAAiF;AAAxE,mHAAA,cAAc,OAAA;AAAE,uHAAA,kBAAkB,OAAA;AAE3C,mCAAwD;AAA/C,kGAAA,QAAQ,OAAA;AAAE,qGAAA,WAAW,OAAA;AAAE,gGAAA,MAAM,OAAA;AAEtC,iCAiBgB;AAff,+GAAA,sBAAsB,OAAA;AACtB,yGAAA,gBAAgB,OAAA;AAChB,0GAAA,iBAAiB,OAAA;AACjB,iGAAA,QAAQ,OAAA;AACR,wHAAA,+BAA+B,OAAA;AAC/B,2GAAA,kBAAkB,OAAA;AAClB,wGAAA,eAAe,OAAA;AACf,6GAAA,oBAAoB,OAAA;AACpB,6GAAA,oBAAoB,OAAA;AAEpB,yGAAA,gBAAgB,OAAA;AAChB,qGAAA,YAAY,OAAA;AACZ,oGAAA,WAAW,OAAA;AACX,wGAAA,eAAe,OAAA;AAGhB,oDAAiC;AACjC,8CAA2B;AAC3B,0CAAuB;AACvB,0CAAuB;AACvB,+CAA4B"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { MigrationBuilder } from '@contember/database-migrations';
|
|
2
2
|
import { SystemMigrationArgs } from './types';
|
|
3
|
-
|
|
3
|
+
import { MigrationArgs } from '@contember/database-migrations/dist/src/Migration';
|
|
4
|
+
export default function (builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>): Promise<void>;
|
|
4
5
|
//# sourceMappingURL=2020-05-06-150000-composed-primary.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"2020-05-06-150000-composed-primary.d.ts","sourceRoot":"","sources":["../../../src/migrations/2020-05-06-150000-composed-primary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,gBAAgB,EAAQ,MAAM,gCAAgC,CAAA;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"2020-05-06-150000-composed-primary.d.ts","sourceRoot":"","sources":["../../../src/migrations/2020-05-06-150000-composed-primary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,gBAAgB,EAAQ,MAAM,gCAAgC,CAAA;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,mDAAmD,CAAA;AAwDjF,yBAA+B,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa,CAAC,mBAAmB,CAAC,iBAyHjG"}
|
|
@@ -55,7 +55,7 @@ const migrateEvents = (builder, tableName, primaryKeys) => {
|
|
|
55
55
|
`);
|
|
56
56
|
};
|
|
57
57
|
async function default_1(builder, args) {
|
|
58
|
-
const schema = await args.schemaResolver();
|
|
58
|
+
const schema = await args.schemaResolver(args.connection);
|
|
59
59
|
const tablesToMigrate = (0, model_1.getJunctionTables)(schema.model);
|
|
60
60
|
const schemas = args.project.stages.map(it => `stage_${it.slug}`);
|
|
61
61
|
for (const table of tablesToMigrate) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"2020-05-06-150000-composed-primary.js","sourceRoot":"","sources":["../../../src/migrations/2020-05-06-150000-composed-primary.ts"],"names":[],"mappings":";;AAAA,wEAAoF;AAEpF,oCAA4C;
|
|
1
|
+
{"version":3,"file":"2020-05-06-150000-composed-primary.js","sourceRoot":"","sources":["../../../src/migrations/2020-05-06-150000-composed-primary.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { MigrationBuilder } from '@contember/database-migrations';
|
|
2
2
|
import { SystemMigrationArgs } from './types';
|
|
3
|
-
|
|
3
|
+
import { MigrationArgs } from '@contember/database-migrations/dist/src/Migration';
|
|
4
|
+
export default function (builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>): Promise<void>;
|
|
4
5
|
//# sourceMappingURL=2020-06-01-103000-event-trigger-perf.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"2020-06-01-103000-event-trigger-perf.d.ts","sourceRoot":"","sources":["../../../src/migrations/2020-06-01-103000-event-trigger-perf.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAQ,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"2020-06-01-103000-event-trigger-perf.d.ts","sourceRoot":"","sources":["../../../src/migrations/2020-06-01-103000-event-trigger-perf.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAQ,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,mDAAmD,CAAA;AAcjF,yBAA+B,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa,CAAC,mBAAmB,CAAC,iBAuGjG"}
|
|
@@ -13,7 +13,7 @@ const createEventStatementTrigger = (builder, tableName) => {
|
|
|
13
13
|
});
|
|
14
14
|
};
|
|
15
15
|
async function default_1(builder, args) {
|
|
16
|
-
const schema = await args.schemaResolver();
|
|
16
|
+
const schema = await args.schemaResolver(args.connection);
|
|
17
17
|
const junctionTables = (0, model_1.getJunctionTables)(schema.model);
|
|
18
18
|
const schemas = args.project.stages.map(it => `stage_${it.slug}`);
|
|
19
19
|
builder.sql(`CREATE OR REPLACE FUNCTION "trigger_event"() RETURNS TRIGGER AS $$
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"2020-06-01-103000-event-trigger-perf.js","sourceRoot":"","sources":["../../../src/migrations/2020-06-01-103000-event-trigger-perf.ts"],"names":[],"mappings":";;AAEA,oCAA4C;
|
|
1
|
+
{"version":3,"file":"2020-06-01-103000-event-trigger-perf.js","sourceRoot":"","sources":["../../../src/migrations/2020-06-01-103000-event-trigger-perf.ts"],"names":[],"mappings":";;AAEA,oCAA4C;AAG5C,MAAM,2BAA2B,GAAG,CAAC,OAAyB,EAAE,SAAe,EAAE,EAAE;IAClF,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,qBAAqB,EAAE;QACvD,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;QACzC,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE;YACT,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,yBAAyB;SAC/B;KACD,CAAC,CAAA;AACH,CAAC,CAAA;AAEc,KAAK,oBAAW,OAAyB,EAAE,IAAwC;IACjG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACzD,MAAM,cAAc,GAAG,IAAA,yBAAiB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACtD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;IACjE,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBA2EO,CAAC,CAAA;IACpB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;qBAYQ,CAAC,CAAA;IACrB,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE;QACnC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,2BAA2B,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAA;SACvE;KACD;IACD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;QAC1D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,2BAA2B,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAA;SACxE;KACD;AACF,CAAC;AAvGD,4BAuGC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { MigrationBuilder } from '@contember/database-migrations';
|
|
2
2
|
import { SystemMigrationArgs } from './types';
|
|
3
|
-
|
|
3
|
+
import { MigrationArgs } from '@contember/database-migrations/dist/src/Migration';
|
|
4
|
+
export default function (builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>): Promise<void>;
|
|
4
5
|
//# sourceMappingURL=2021-05-07-155800-event-log-rework.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"2021-05-07-155800-event-log-rework.d.ts","sourceRoot":"","sources":["../../../src/migrations/2021-05-07-155800-event-log-rework.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAQ,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"2021-05-07-155800-event-log-rework.d.ts","sourceRoot":"","sources":["../../../src/migrations/2021-05-07-155800-event-log-rework.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAQ,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,mDAAmD,CAAA;AAgBjF,yBAA+B,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa,CAAC,mBAAmB,CAAC,iBAoQjG"}
|
|
@@ -15,7 +15,7 @@ const createTrxEvent = (builder, tableName) => {
|
|
|
15
15
|
});
|
|
16
16
|
};
|
|
17
17
|
async function default_1(builder, args) {
|
|
18
|
-
const schema = await args.schemaResolver();
|
|
18
|
+
const schema = await args.schemaResolver(args.connection);
|
|
19
19
|
const junctionTables = (0, model_1.getJunctionTables)(schema.model);
|
|
20
20
|
const schemas = args.project.stages.map(it => `stage_${it.slug}`);
|
|
21
21
|
builder.sql(`LOCK TABLE event`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"2021-05-07-155800-event-log-rework.js","sourceRoot":"","sources":["../../../src/migrations/2021-05-07-155800-event-log-rework.ts"],"names":[],"mappings":";;AAEA,oCAA4C;
|
|
1
|
+
{"version":3,"file":"2021-05-07-155800-event-log-rework.js","sourceRoot":"","sources":["../../../src/migrations/2021-05-07-155800-event-log-rework.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { MigrationBuilder } from '@contember/database-migrations';
|
|
2
2
|
import { SystemMigrationArgs } from './types';
|
|
3
|
-
|
|
3
|
+
import { MigrationArgs } from '@contember/database-migrations';
|
|
4
|
+
export default function (builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>): Promise<void>;
|
|
4
5
|
//# sourceMappingURL=2021-05-19-1232000-event-log-fix-constraint.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"2021-05-19-1232000-event-log-fix-constraint.d.ts","sourceRoot":"","sources":["../../../src/migrations/2021-05-19-1232000-event-log-fix-constraint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAQ,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"2021-05-19-1232000-event-log-fix-constraint.d.ts","sourceRoot":"","sources":["../../../src/migrations/2021-05-19-1232000-event-log-fix-constraint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAQ,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAmB9D,yBAA+B,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa,CAAC,mBAAmB,CAAC,iBAejG"}
|
|
@@ -18,7 +18,7 @@ const recreateTrigger = (builder, tableName) => {
|
|
|
18
18
|
});
|
|
19
19
|
};
|
|
20
20
|
async function default_1(builder, args) {
|
|
21
|
-
const schema = await args.schemaResolver();
|
|
21
|
+
const schema = await args.schemaResolver(args.connection);
|
|
22
22
|
const junctionTables = (0, model_1.getJunctionTables)(schema.model);
|
|
23
23
|
const schemas = args.project.stages.map(it => `stage_${it.slug}`);
|
|
24
24
|
for (const table of junctionTables) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"2021-05-19-1232000-event-log-fix-constraint.js","sourceRoot":"","sources":["../../../src/migrations/2021-05-19-1232000-event-log-fix-constraint.ts"],"names":[],"mappings":";;AAEA,oCAA4C;
|
|
1
|
+
{"version":3,"file":"2021-05-19-1232000-event-log-fix-constraint.js","sourceRoot":"","sources":["../../../src/migrations/2021-05-19-1232000-event-log-fix-constraint.ts"],"names":[],"mappings":";;AAEA,oCAA4C;AAG5C,MAAM,eAAe,GAAG,CAAC,OAAyB,EAAE,SAAe,EAAE,EAAE;IACtE,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACnE,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,qBAAqB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACzE,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,eAAe,EAAE;QACjD,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;QACzC,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE;YACT,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,sBAAsB;SAC5B;KACD,CAAC,CAAA;AACH,CAAC,CAAA;AAEc,KAAK,oBAAW,OAAyB,EAAE,IAAwC;IACjG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACzD,MAAM,cAAc,GAAG,IAAA,yBAAiB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACtD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;IAEjE,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE;QACnC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,eAAe,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAA;SAC3D;KACD;IACD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;QAC1D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,eAAe,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAA;SAC5D;KACD;AACF,CAAC;AAfD,4BAeC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { Migration } from '@contember/database-migrations';
|
|
2
|
-
|
|
2
|
+
import { SystemMigrationArgs } from './types';
|
|
3
|
+
export declare const getSystemMigrations: () => Promise<Migration<SystemMigrationArgs>[]>;
|
|
3
4
|
//# sourceMappingURL=runner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/migrations/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,SAAS,EAAE,MAAM,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/migrations/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAM1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAE7C,eAAO,MAAM,mBAAmB,QAAO,QAAQ,UAAU,mBAAmB,CAAC,EAAE,CAQ9E,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/migrations/runner.ts"],"names":[],"mappings":";;;;;;AAAA,wEAA0E;AAC1E,mHAAsE;AACtE,+GAAkE;AAClE,mHAAqE;AACrE,+GAAiE;AACjE,iIAAiF;
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/migrations/runner.ts"],"names":[],"mappings":";;;;;;AAAA,wEAA0E;AAC1E,mHAAsE;AACtE,+GAAkE;AAClE,mHAAqE;AACrE,+GAAiE;AACjE,iIAAiF;AAG1E,MAAM,mBAAmB,GAAG,GAA8C,EAAE;IAClF,OAAO,IAAA,oCAAc,EAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,SAAS,EAAE;QAC/E,IAAI,+BAAS,CAAC,sCAAsC,EAAE,+CAAiB,CAAC;QACxE,IAAI,+BAAS,CAAC,oCAAoC,EAAE,6CAAe,CAAC;QACpE,IAAI,+BAAS,CAAC,sCAAsC,EAAE,+CAAgB,CAAC;QACvE,IAAI,+BAAS,CAAC,oCAAoC,EAAE,6CAAc,CAAC;QACnE,IAAI,+BAAS,CAAC,6CAA6C,EAAE,sDAAqB,CAAC;KACnF,CAAC,CAAA;AACH,CAAC,CAAA;AARY,QAAA,mBAAmB,uBAQ/B"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Schema } from '@contember/schema';
|
|
2
2
|
import { ProjectConfig } from '../types';
|
|
3
|
+
import { Connection } from '@contember/database';
|
|
3
4
|
export interface SystemMigrationArgs {
|
|
4
|
-
schemaResolver: () => Promise<Schema>;
|
|
5
|
+
schemaResolver: (connection: Connection.ConnectionLike) => Promise<Schema>;
|
|
5
6
|
project: ProjectConfig;
|
|
6
7
|
}
|
|
7
8
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/migrations/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/migrations/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAEhD,MAAM,WAAW,mBAAmB;IACnC,cAAc,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,cAAc,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IAC1E,OAAO,EAAE,aAAa,CAAA;CACtB"}
|
|
@@ -5,7 +5,6 @@ import { DatabaseContextFactory } from './database';
|
|
|
5
5
|
import { SystemDbMigrationsRunnerFactory } from '../SystemContainer';
|
|
6
6
|
import { DatabaseConfig } from '@contember/database';
|
|
7
7
|
import { Logger } from '@contember/engine-common';
|
|
8
|
-
import { Migration } from '@contember/schema-migrations';
|
|
9
8
|
export declare class ProjectInitializer {
|
|
10
9
|
private readonly projectMigrator;
|
|
11
10
|
private readonly stageCreator;
|
|
@@ -14,7 +13,7 @@ export declare class ProjectInitializer {
|
|
|
14
13
|
constructor(projectMigrator: ProjectMigrator, stageCreator: StageCreator, systemDbMigrationsRunnerFactory: SystemDbMigrationsRunnerFactory, schemaVersionBuilder: SchemaVersionBuilder);
|
|
15
14
|
initialize(databaseContextFactory: DatabaseContextFactory, project: ProjectConfig & {
|
|
16
15
|
db?: DatabaseConfig;
|
|
17
|
-
}, logger: Logger
|
|
16
|
+
}, logger: Logger): Promise<void>;
|
|
18
17
|
private initStages;
|
|
19
18
|
}
|
|
20
19
|
//# sourceMappingURL=ProjectInitializer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectInitializer.d.ts","sourceRoot":"","sources":["../../../src/model/ProjectInitializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAmB,sBAAsB,EAAE,MAAM,YAAY,CAAA;AACpE,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAA;AACpE,OAAO,
|
|
1
|
+
{"version":3,"file":"ProjectInitializer.d.ts","sourceRoot":"","sources":["../../../src/model/ProjectInitializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAmB,sBAAsB,EAAE,MAAM,YAAY,CAAA;AACpE,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAA;AACpE,OAAO,EAIN,cAAc,EAEd,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AAEjD,qBAAa,kBAAkB;IAE7B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,+BAA+B;IAChD,OAAO,CAAC,QAAQ,CAAC,oBAAoB;gBAHpB,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,YAAY,EAC1B,+BAA+B,EAAE,+BAA+B,EAChE,oBAAoB,EAAE,oBAAoB;IAG/C,UAAU,CACtB,sBAAsB,EAAE,sBAAsB,EAC9C,OAAO,EAAE,aAAa,GAAG;QAAE,EAAE,CAAC,EAAE,cAAc,CAAA;KAAE,EAChD,MAAM,EAAE,MAAM;YAsCD,UAAU;CAexB"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ProjectInitializer = void 0;
|
|
4
4
|
const database_1 = require("@contember/database");
|
|
5
|
-
const queries_1 = require("./queries");
|
|
6
5
|
class ProjectInitializer {
|
|
7
6
|
constructor(projectMigrator, stageCreator, systemDbMigrationsRunnerFactory, schemaVersionBuilder) {
|
|
8
7
|
this.projectMigrator = projectMigrator;
|
|
@@ -10,34 +9,37 @@ class ProjectInitializer {
|
|
|
10
9
|
this.systemDbMigrationsRunnerFactory = systemDbMigrationsRunnerFactory;
|
|
11
10
|
this.schemaVersionBuilder = schemaVersionBuilder;
|
|
12
11
|
}
|
|
13
|
-
async initialize(databaseContextFactory, project, logger
|
|
12
|
+
async initialize(databaseContextFactory, project, logger) {
|
|
14
13
|
const dbContext = databaseContextFactory.create();
|
|
15
14
|
if (project.db) {
|
|
16
15
|
// todo: use dbContext
|
|
17
16
|
logger.group(`Executing system schema migration`);
|
|
18
17
|
await (0, database_1.createDatabaseIfNotExists)(project.db, logger.write.bind(logger));
|
|
19
|
-
const singleConnection =
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
18
|
+
const singleConnection = database_1.Connection.createSingle(project.db);
|
|
19
|
+
await singleConnection.scope(async (connection) => {
|
|
20
|
+
const systemSchema = dbContext.client.schema;
|
|
21
|
+
const schemaResolver = (connection) => {
|
|
22
|
+
const dbContextMigrations = databaseContextFactory
|
|
23
|
+
.withClient(new database_1.Client(connection, systemSchema, { module: 'system' }))
|
|
24
|
+
.create();
|
|
25
|
+
return this.schemaVersionBuilder.buildSchema(dbContextMigrations);
|
|
26
|
+
};
|
|
27
|
+
await this.systemDbMigrationsRunnerFactory(connection, systemSchema).migrate(logger.write.bind(logger), {
|
|
28
|
+
schemaResolver,
|
|
29
|
+
project,
|
|
30
|
+
});
|
|
28
31
|
});
|
|
29
32
|
await singleConnection.end();
|
|
30
33
|
logger.groupEnd();
|
|
31
34
|
}
|
|
32
|
-
|
|
33
|
-
await this.initStages(trx, project, logger
|
|
35
|
+
await (0, database_1.retryTransaction)(() => dbContext.transaction(async (trx) => {
|
|
36
|
+
await this.initStages(trx, project, logger);
|
|
34
37
|
}));
|
|
35
38
|
if (dbContext.client.connection instanceof database_1.Connection) {
|
|
36
39
|
await dbContext.client.connection.clearPool();
|
|
37
40
|
}
|
|
38
|
-
return result;
|
|
39
41
|
}
|
|
40
|
-
async initStages(db, project, logger
|
|
42
|
+
async initStages(db, project, logger) {
|
|
41
43
|
logger.group(`Creating stages`);
|
|
42
44
|
for (const stage of project.stages) {
|
|
43
45
|
const created = await this.stageCreator.createStage(db, stage);
|
|
@@ -49,12 +51,6 @@ class ProjectInitializer {
|
|
|
49
51
|
}
|
|
50
52
|
}
|
|
51
53
|
logger.groupEnd();
|
|
52
|
-
if (migrations) {
|
|
53
|
-
logger.group(`Executing project migrations`);
|
|
54
|
-
const stages = await db.queryHandler.fetch(new queries_1.StagesQuery());
|
|
55
|
-
await this.projectMigrator.migrate(db, stages, migrations, logger.write.bind(logger));
|
|
56
|
-
logger.groupEnd();
|
|
57
|
-
}
|
|
58
54
|
}
|
|
59
55
|
}
|
|
60
56
|
exports.ProjectInitializer = ProjectInitializer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectInitializer.js","sourceRoot":"","sources":["../../../src/model/ProjectInitializer.ts"],"names":[],"mappings":";;;AAKA,kDAM4B;AAG5B,
|
|
1
|
+
{"version":3,"file":"ProjectInitializer.js","sourceRoot":"","sources":["../../../src/model/ProjectInitializer.ts"],"names":[],"mappings":";;;AAKA,kDAM4B;AAG5B,MAAa,kBAAkB;IAC9B,YACkB,eAAgC,EAChC,YAA0B,EAC1B,+BAAgE,EAChE,oBAA0C;QAH1C,oBAAe,GAAf,eAAe,CAAiB;QAChC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,oCAA+B,GAA/B,+BAA+B,CAAiC;QAChE,yBAAoB,GAApB,oBAAoB,CAAsB;IACzD,CAAC;IAEG,KAAK,CAAC,UAAU,CACtB,sBAA8C,EAC9C,OAAgD,EAChD,MAAc;QAEd,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,EAAE,CAAA;QACjD,IAAI,OAAO,CAAC,EAAE,EAAE;YACf,sBAAsB;YACtB,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAA;YACjD,MAAM,IAAA,oCAAyB,EAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;YACtE,MAAM,gBAAgB,GAAG,qBAAU,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YAC5D,MAAM,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAC,UAAU,EAAC,EAAE;gBAC/C,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAA;gBAE5C,MAAM,cAAc,GAAG,CAAC,UAAqC,EAAE,EAAE;oBAChE,MAAM,mBAAmB,GAAG,sBAAsB;yBAChD,UAAU,CAAC,IAAI,iBAAM,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;yBACtE,MAAM,EAAE,CAAA;oBACV,OAAO,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAA;gBAClE,CAAC,CAAA;gBACD,MAAM,IAAI,CAAC,+BAA+B,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,OAAO,CAC3E,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EACzB;oBACC,cAAc;oBACd,OAAO;iBACP,CACD,CAAA;YACF,CAAC,CAAC,CAAA;YACF,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAA;YAC5B,MAAM,CAAC,QAAQ,EAAE,CAAA;SACjB;QACD,MAAM,IAAA,2BAAgB,EAAC,GAAG,EAAE,CAC3B,SAAS,CAAC,WAAW,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;YACjC,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;QAC5C,CAAC,CAAC,CACF,CAAA;QACD,IAAI,SAAS,CAAC,MAAM,CAAC,UAAU,YAAY,qBAAU,EAAE;YACtD,MAAM,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,CAAA;SAC7C;IACF,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,EAA+C,EAAE,OAAsB,EAAE,MAAc;QAE/G,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;QAE/B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE;YACnC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;YAC9D,IAAI,OAAO,EAAE;gBACZ,MAAM,CAAC,KAAK,CAAC,iBAAiB,KAAK,CAAC,IAAI,GAAG,CAAC,CAAA;aAC5C;iBAAM;gBACN,MAAM,CAAC,UAAU,CAAC,iBAAiB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;aAChD;SACD;QAED,MAAM,CAAC,QAAQ,EAAE,CAAA;IAClB,CAAC;CACD;AAhED,gDAgEC"}
|
|
@@ -6,6 +6,7 @@ export interface DatabaseContext<ConnectionType extends Connection.ConnectionLik
|
|
|
6
6
|
client: Client<ConnectionType>;
|
|
7
7
|
queryHandler: QueryHandler<DatabaseQueryable>;
|
|
8
8
|
transaction: <T>(cb: (db: DatabaseContext<Connection.TransactionLike>) => Promise<T> | T) => Promise<T>;
|
|
9
|
+
locked: <T>(lock: number, cb: (db: DatabaseContext<Connection.ConnectionLike>) => Promise<T> | T) => Promise<T>;
|
|
9
10
|
commandBus: CommandBus;
|
|
10
11
|
}
|
|
11
12
|
export declare class DatabaseContextFactory {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatabaseContext.d.ts","sourceRoot":"","sources":["../../../../src/model/database/DatabaseContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"DatabaseContext.d.ts","sourceRoot":"","sources":["../../../../src/model/database/DatabaseContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAA4B,MAAM,qBAAqB,CAAA;AACrG,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,MAAM,WAAW,eAAe,CAAC,cAAc,SAAS,UAAU,CAAC,cAAc,GAAG,UAAU,CAAC,cAAc;IAC5G,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,CAAA;IAC9B,YAAY,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAA;IAC7C,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;IACvG,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,eAAe,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;IAC/G,UAAU,EAAE,UAAU,CAAA;CACtB;AAED,qBAAa,sBAAsB;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAU,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAA1C,MAAM,EAAE,MAAM,EAAmB,SAAS,EAAE,YAAY;IAE9E,MAAM,IAAI,eAAe;IAIzB,UAAU,CAAC,MAAM,EAAE,MAAM;CAGhC"}
|
|
@@ -24,5 +24,6 @@ const createDatabaseContext = (client, providers) => ({
|
|
|
24
24
|
return cb(createDatabaseContext(client, providers));
|
|
25
25
|
}),
|
|
26
26
|
commandBus: new commands_1.CommandBus(client, providers),
|
|
27
|
+
locked: (lock, cb) => client.locked(lock, client => cb(createDatabaseContext(client, providers))),
|
|
27
28
|
});
|
|
28
29
|
//# sourceMappingURL=DatabaseContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatabaseContext.js","sourceRoot":"","sources":["../../../../src/model/database/DatabaseContext.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"DatabaseContext.js","sourceRoot":"","sources":["../../../../src/model/database/DatabaseContext.ts"],"names":[],"mappings":";;;AAAA,kDAAqG;AAGrG,0CAAwC;AAUxC,MAAa,sBAAsB;IAClC,YAA6B,MAAc,EAAmB,SAAuB;QAAxD,WAAM,GAAN,MAAM,CAAQ;QAAmB,cAAS,GAAT,SAAS,CAAc;IAAG,CAAC;IAElF,MAAM;QACZ,OAAO,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;IAC1D,CAAC;IAEM,UAAU,CAAC,MAAc;QAC/B,OAAO,IAAI,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;IAC1D,CAAC;CACD;AAVD,wDAUC;AAED,MAAM,qBAAqB,GAAG,CAC7B,MAA8B,EAC9B,SAAuB,EACW,EAAE,CAAC,CAAC;IACtC,MAAM;IACN,YAAY,EAAE,MAAM,CAAC,kBAAkB,EAAE;IACzC,WAAW,EAAE,EAAE,CAAC,EAAE,CACjB,MAAM,CAAC,WAAW,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE;QACjC,MAAM,MAAM,CAAC,KAAK,CAAC,qBAAU,CAAC,eAAe,CAAC,CAAA;QAC9C,OAAO,EAAE,CAAC,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAA;IACpD,CAAC,CAAC;IACH,UAAU,EAAE,IAAI,qBAAU,CAAC,MAAM,EAAE,SAAS,CAAC;IAC7C,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;CACjG,CAAC,CAAA"}
|
|
@@ -9,7 +9,10 @@ export declare class ProjectMigrator {
|
|
|
9
9
|
private readonly schemaVersionBuilder;
|
|
10
10
|
private readonly executedMigrationsResolver;
|
|
11
11
|
constructor(migrationDescriber: MigrationDescriber, schemaVersionBuilder: SchemaVersionBuilder, executedMigrationsResolver: ExecutedMigrationsResolver);
|
|
12
|
-
migrate(db: DatabaseContext, stages: Stage[], migrationsToExecute: readonly Migration[],
|
|
12
|
+
migrate(db: DatabaseContext, stages: Stage[], migrationsToExecute: readonly Migration[], { ignoreOrder, skipExecuted }: {
|
|
13
|
+
ignoreOrder?: boolean;
|
|
14
|
+
skipExecuted?: boolean;
|
|
15
|
+
}): Promise<void>;
|
|
13
16
|
private validateMigrations;
|
|
14
17
|
private applyModification;
|
|
15
18
|
private executeOnStage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectMigrator.d.ts","sourceRoot":"","sources":["../../../../src/model/migrations/ProjectMigrator.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
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,qBAAa,eAAe;IAE1B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,0BAA0B;gBAF1B,kBAAkB,EAAE,kBAAkB,EACtC,oBAAoB,EAAE,oBAAoB,EAC1C,0BAA0B,EAAE,0BAA0B;IAG3D,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;YA4BY,kBAAkB;YA2ClB,iBAAiB;YAoBjB,cAAc;CAa5B;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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.InvalidSchemaError = exports.MigrationFailedError = exports.AlreadyExecutedMigrationError = exports.MustFollowLatestMigrationError = exports.MigrationError = exports.ProjectMigrator = void 0;
|
|
4
|
+
const schema_migrations_1 = require("@contember/schema-migrations");
|
|
4
5
|
const database_1 = require("@contember/database");
|
|
5
6
|
const commands_1 = require("../commands");
|
|
6
7
|
const schema_1 = require("../../schema");
|
|
@@ -11,29 +12,33 @@ class ProjectMigrator {
|
|
|
11
12
|
this.schemaVersionBuilder = schemaVersionBuilder;
|
|
12
13
|
this.executedMigrationsResolver = executedMigrationsResolver;
|
|
13
14
|
}
|
|
14
|
-
async migrate(db, stages, migrationsToExecute,
|
|
15
|
+
async migrate(db, stages, migrationsToExecute, { ignoreOrder = false, skipExecuted = false }) {
|
|
15
16
|
if (migrationsToExecute.length === 0) {
|
|
16
17
|
return;
|
|
17
18
|
}
|
|
18
19
|
let { version, notNormalized, ...schema } = await this.schemaVersionBuilder.buildSchema(db);
|
|
19
|
-
await this.validateMigrations(db, schema, version, migrationsToExecute, ignoreOrder);
|
|
20
|
-
const sorted = [...
|
|
20
|
+
const validated = await this.validateMigrations(db, schema, version, migrationsToExecute, { ignoreOrder, skipExecuted });
|
|
21
|
+
const sorted = [...validated].sort((a, b) => a.version.localeCompare(b.version));
|
|
21
22
|
for (const migration of sorted) {
|
|
22
|
-
logger(`Executing migration ${migration.name}...`);
|
|
23
23
|
const formatVersion = migration.formatVersion;
|
|
24
24
|
for (const modification of migration.modifications) {
|
|
25
25
|
[schema] = await this.applyModification(db.client, stages, schema, modification, formatVersion, migration.version, db.client.schema);
|
|
26
26
|
}
|
|
27
27
|
await db.commandBus.execute(new commands_1.SaveMigrationCommand(migration));
|
|
28
|
-
logger(`Done`);
|
|
29
28
|
}
|
|
30
|
-
logger(`Done`);
|
|
31
29
|
}
|
|
32
|
-
async validateMigrations(db, schema, version, migrationsToExecute, ignoreOrder
|
|
30
|
+
async validateMigrations(db, schema, version, migrationsToExecute, { ignoreOrder, skipExecuted }) {
|
|
33
31
|
const executedMigrations = await this.executedMigrationsResolver.getMigrations(db);
|
|
32
|
+
const toExecute = [];
|
|
34
33
|
for (const migration of migrationsToExecute) {
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
const executedMigration = executedMigrations.find(it => it.version === migration.version);
|
|
35
|
+
if (executedMigration) {
|
|
36
|
+
if (skipExecuted && executedMigration.checksum === (0, schema_migrations_1.calculateMigrationChecksum)(migration)) {
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
throw new AlreadyExecutedMigrationError(migration.version, `Migration is already executed`);
|
|
41
|
+
}
|
|
37
42
|
}
|
|
38
43
|
if (migration.version < version && !ignoreOrder) {
|
|
39
44
|
throw new MustFollowLatestMigrationError(migration.version, `Must follow latest executed migration ${version}`);
|
|
@@ -49,7 +54,9 @@ class ProjectMigrator {
|
|
|
49
54
|
throw new InvalidSchemaError(migration.version, 'Migration generates invalid schema: \n' +
|
|
50
55
|
errors.map(it => it.path.join('.') + ': ' + it.message).join('\n'));
|
|
51
56
|
}
|
|
57
|
+
toExecute.push(migration);
|
|
52
58
|
}
|
|
59
|
+
return toExecute;
|
|
53
60
|
}
|
|
54
61
|
async applyModification(db, stages, schema, modification, formatVersion, migrationVersion, systemSchema) {
|
|
55
62
|
const { sql, schema: newSchema, handler, } = await this.migrationDescriber.describeModification(schema, modification, { systemSchema, formatVersion });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectMigrator.js","sourceRoot":"","sources":["../../../../src/model/migrations/ProjectMigrator.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ProjectMigrator.js","sourceRoot":"","sources":["../../../../src/model/migrations/ProjectMigrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,5 +14,5 @@ export declare class ResolverFactory {
|
|
|
14
14
|
constructor(stagesQueryResolver: StagesQueryResolver, executedMigrationsQueryResolver: ExecutedMigrationsQueryResolver, migrateMutationResolver: MigrateMutationResolver, truncateMutationResolver: TruncateMutationResolver, migrationAlterMutationResolver: MigrationAlterMutationResolver, eventsQueryResolver: EventsQueryResolver, eventOldValuesResolver: EventOldValuesResolver);
|
|
15
15
|
create(debugMode: boolean): Resolvers;
|
|
16
16
|
}
|
|
17
|
-
export declare const PrimaryKeyType: GraphQLScalarType
|
|
17
|
+
export declare const PrimaryKeyType: GraphQLScalarType<string | number | null, string | number>;
|
|
18
18
|
//# sourceMappingURL=ResolverFactory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResolverFactory.d.ts","sourceRoot":"","sources":["../../../src/resolvers/ResolverFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,+BAA+B,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AACnG,OAAO,EAAoB,SAAS,EAAE,MAAM,WAAW,CAAA;AAEvD,OAAO,EAAE,uBAAuB,EAAE,8BAA8B,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAE9G,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,EAAgB,iBAAiB,EAAQ,MAAM,SAAS,CAAA;AAE/D,qBAAa,eAAe;IAE1B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,+BAA+B;IAChD,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,wBAAwB;IACzC,OAAO,CAAC,QAAQ,CAAC,8BAA8B;IAC/C,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;gBANtB,mBAAmB,EAAE,mBAAmB,EACxC,+BAA+B,EAAE,+BAA+B,EAChE,uBAAuB,EAAE,uBAAuB,EAChD,wBAAwB,EAAE,wBAAwB,EAClD,8BAA8B,EAAE,8BAA8B,EAC9D,mBAAmB,EAAE,mBAAmB,EACxC,sBAAsB,EAAE,sBAAsB;IAGhE,MAAM,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS;CA6CrC;AAQD,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"ResolverFactory.d.ts","sourceRoot":"","sources":["../../../src/resolvers/ResolverFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,+BAA+B,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AACnG,OAAO,EAAoB,SAAS,EAAE,MAAM,WAAW,CAAA;AAEvD,OAAO,EAAE,uBAAuB,EAAE,8BAA8B,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAE9G,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,EAAgB,iBAAiB,EAAQ,MAAM,SAAS,CAAA;AAE/D,qBAAa,eAAe;IAE1B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,+BAA+B;IAChD,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,wBAAwB;IACzC,OAAO,CAAC,QAAQ,CAAC,8BAA8B;IAC/C,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;gBANtB,mBAAmB,EAAE,mBAAmB,EACxC,+BAA+B,EAAE,+BAA+B,EAChE,uBAAuB,EAAE,uBAAuB,EAChD,wBAAwB,EAAE,wBAAwB,EAClD,8BAA8B,EAAE,8BAA8B,EAC9D,mBAAmB,EAAE,mBAAmB,EACxC,sBAAsB,EAAE,sBAAsB;IAGhE,MAAM,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS;CA6CrC;AAQD,eAAO,MAAM,cAAc,4DAczB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MigrateMutationResolver.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/mutation/MigrateMutationResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAEnE,OAAO,EAAwC,eAAe,EAAe,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"MigrateMutationResolver.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/mutation/MigrateMutationResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAEnE,OAAO,EAAwC,eAAe,EAAe,MAAM,aAAa,CAAA;AAIhG,qBAAa,uBAAwB,YAAW,gBAAgB,CAAC,SAAS,CAAC;IAC9D,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAAf,eAAe,EAAE,eAAe;IAEvD,YAAY,CACjB,MAAM,EAAE,GAAG,EACX,IAAI,EAAE,mBAAmB,EACzB,OAAO,EAAE,qBAAqB,EAC9B,IAAI,EAAE,kBAAkB,GACtB,OAAO,CAAC,eAAe,CAAC;IAIrB,OAAO,CACZ,MAAM,EAAE,GAAG,EACX,IAAI,EAAE,mBAAmB,EACzB,OAAO,EAAE,qBAAqB,EAC9B,IAAI,EAAE,kBAAkB,EACxB,KAAK,UAAQ,GACX,OAAO,CAAC,eAAe,CAAC;CAoC3B"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MigrateMutationResolver = void 0;
|
|
4
4
|
const model_1 = require("../../model");
|
|
5
|
+
const pg_lock_id = 1597474138739147;
|
|
5
6
|
class MigrateMutationResolver {
|
|
6
7
|
constructor(projectMigrator) {
|
|
7
8
|
this.projectMigrator = projectMigrator;
|
|
@@ -11,13 +12,16 @@ class MigrateMutationResolver {
|
|
|
11
12
|
}
|
|
12
13
|
async migrate(parent, args, context, info, force = false) {
|
|
13
14
|
const migrations = args.migrations;
|
|
14
|
-
return context.db.transaction(async (trx) => {
|
|
15
|
+
return context.db.locked(pg_lock_id, db => db.transaction(async (trx) => {
|
|
15
16
|
const stages = await trx.queryHandler.fetch(new model_1.StagesQuery());
|
|
16
17
|
for (const stage of stages) {
|
|
17
18
|
await context.requireAccess(model_1.AuthorizationActions.PROJECT_MIGRATE, stage.slug);
|
|
18
19
|
}
|
|
19
20
|
try {
|
|
20
|
-
await this.projectMigrator.migrate(trx, stages, migrations,
|
|
21
|
+
await this.projectMigrator.migrate(trx, stages, migrations, {
|
|
22
|
+
ignoreOrder: force,
|
|
23
|
+
skipExecuted: true,
|
|
24
|
+
});
|
|
21
25
|
}
|
|
22
26
|
catch (e) {
|
|
23
27
|
if (e instanceof model_1.MigrationError) {
|
|
@@ -41,7 +45,7 @@ class MigrateMutationResolver {
|
|
|
41
45
|
ok: true,
|
|
42
46
|
errors: [],
|
|
43
47
|
};
|
|
44
|
-
});
|
|
48
|
+
}));
|
|
45
49
|
}
|
|
46
50
|
}
|
|
47
51
|
exports.MigrateMutationResolver = MigrateMutationResolver;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MigrateMutationResolver.js","sourceRoot":"","sources":["../../../../src/resolvers/mutation/MigrateMutationResolver.ts"],"names":[],"mappings":";;;AAKA,uCAAgG;AAEhG,MAAa,uBAAuB;IACnC,YAA6B,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;IAAG,CAAC;IAEjE,KAAK,CAAC,YAAY,CACjB,MAAW,EACX,IAAyB,EACzB,OAA8B,EAC9B,IAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IACvD,CAAC;IAED,KAAK,CAAC,OAAO,CACZ,MAAW,EACX,IAAyB,EACzB,OAA8B,EAC9B,IAAwB,EACxB,KAAK,GAAG,KAAK;QAEb,MAAM,UAAU,GAAG,IAAI,CAAC,UAAkC,CAAA;QAE1D,OAAO,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"MigrateMutationResolver.js","sourceRoot":"","sources":["../../../../src/resolvers/mutation/MigrateMutationResolver.ts"],"names":[],"mappings":";;;AAKA,uCAAgG;AAEhG,MAAM,UAAU,GAAG,gBAAgB,CAAA;AAEnC,MAAa,uBAAuB;IACnC,YAA6B,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;IAAG,CAAC;IAEjE,KAAK,CAAC,YAAY,CACjB,MAAW,EACX,IAAyB,EACzB,OAA8B,EAC9B,IAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IACvD,CAAC;IAED,KAAK,CAAC,OAAO,CACZ,MAAW,EACX,IAAyB,EACzB,OAA8B,EAC9B,IAAwB,EACxB,KAAK,GAAG,KAAK;QAEb,MAAM,UAAU,GAAG,IAAI,CAAC,UAAkC,CAAA;QAE1D,OAAO,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;YACrE,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,mBAAW,EAAE,CAAC,CAAA;YAC9D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;gBAC3B,MAAM,OAAO,CAAC,aAAa,CAAC,4BAAoB,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;aAC7E;YACD,IAAI;gBACH,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE;oBAC3D,WAAW,EAAE,KAAK;oBAClB,YAAY,EAAE,IAAI;iBAClB,CAAC,CAAA;aACF;YAAC,OAAO,CAAC,EAAE;gBACX,IAAI,CAAC,YAAY,sBAAc,EAAE;oBAChC,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAA;oBACtC,MAAM,KAAK,GAAG;wBACb,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,SAAS,EAAE,CAAC,CAAC,OAAO;wBACpB,gBAAgB,EAAE,CAAC,CAAC,OAAO;qBAC3B,CAAA;oBACD,OAAO;wBACN,EAAE,EAAE,KAAK;wBACT,MAAM,EAAE,CAAC,KAAK,CAAC;wBACf,KAAK;qBACL,CAAA;iBACD;qBAAM;oBACN,MAAM,CAAC,CAAA;iBACP;aACD;YACD,OAAO;gBACN,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,EAAE;aACV,CAAA;QACF,CAAC,CAAC,CAAC,CAAA;IACJ,CAAC;CACD;AAtDD,0DAsDC"}
|