@contember/schema-migrations 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/MigrationCreator.js +2 -2
- package/dist/src/MigrationCreator.js.map +1 -1
- package/dist/src/MigrationDescriber.d.ts +4 -4
- package/dist/src/MigrationDescriber.d.ts.map +1 -1
- package/dist/src/MigrationDescriber.js +8 -7
- package/dist/src/MigrationDescriber.js.map +1 -1
- package/dist/src/MigrationFilesManager.js +2 -2
- package/dist/src/MigrationFilesManager.js.map +1 -1
- package/dist/src/MigrationsResolver.js +3 -3
- package/dist/src/MigrationsResolver.js.map +1 -1
- package/dist/src/SchemaDiffer.d.ts.map +1 -1
- package/dist/src/SchemaDiffer.js +21 -2
- package/dist/src/SchemaDiffer.js.map +1 -1
- package/dist/src/SchemaMigrator.d.ts +1 -2
- package/dist/src/SchemaMigrator.d.ts.map +1 -1
- package/dist/src/SchemaMigrator.js +0 -1
- package/dist/src/SchemaMigrator.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/modifications/ModificationHandler.d.ts +9 -5
- package/dist/src/modifications/ModificationHandler.d.ts.map +1 -1
- package/dist/src/modifications/ModificationHandler.js.map +1 -1
- package/dist/src/modifications/ModificationHandlerFactory.d.ts +2 -2
- package/dist/src/modifications/ModificationHandlerFactory.d.ts.map +1 -1
- package/dist/src/modifications/ModificationHandlerFactory.js +14 -0
- package/dist/src/modifications/ModificationHandlerFactory.js.map +1 -1
- package/dist/src/modifications/ModificationVersions.d.ts +4 -2
- package/dist/src/modifications/ModificationVersions.d.ts.map +1 -1
- package/dist/src/modifications/ModificationVersions.js +5 -3
- package/dist/src/modifications/ModificationVersions.js.map +1 -1
- package/dist/src/modifications/actions/CreateTargetModification.d.ts +21 -0
- package/dist/src/modifications/actions/CreateTargetModification.d.ts.map +1 -0
- package/dist/src/modifications/actions/CreateTargetModification.js +40 -0
- package/dist/src/modifications/actions/CreateTargetModification.js.map +1 -0
- package/dist/src/modifications/actions/CreateTriggerModification.d.ts +21 -0
- package/dist/src/modifications/actions/CreateTriggerModification.d.ts.map +1 -0
- package/dist/src/modifications/actions/CreateTriggerModification.js +40 -0
- package/dist/src/modifications/actions/CreateTriggerModification.js.map +1 -0
- package/dist/src/modifications/actions/RemoveTargetModification.d.ts +21 -0
- package/dist/src/modifications/actions/RemoveTargetModification.d.ts.map +1 -0
- package/dist/src/modifications/actions/RemoveTargetModification.js +40 -0
- package/dist/src/modifications/actions/RemoveTargetModification.js.map +1 -0
- package/dist/src/modifications/actions/RemoveTriggerModification.d.ts +21 -0
- package/dist/src/modifications/actions/RemoveTriggerModification.d.ts.map +1 -0
- package/dist/src/modifications/actions/RemoveTriggerModification.js +40 -0
- package/dist/src/modifications/actions/RemoveTriggerModification.js.map +1 -0
- package/dist/src/modifications/actions/UpdateTargetModification.d.ts +22 -0
- package/dist/src/modifications/actions/UpdateTargetModification.d.ts.map +1 -0
- package/dist/src/modifications/actions/UpdateTargetModification.js +46 -0
- package/dist/src/modifications/actions/UpdateTargetModification.js.map +1 -0
- package/dist/src/modifications/actions/UpdateTriggerModification.d.ts +21 -0
- package/dist/src/modifications/actions/UpdateTriggerModification.d.ts.map +1 -0
- package/dist/src/modifications/actions/UpdateTriggerModification.js +46 -0
- package/dist/src/modifications/actions/UpdateTriggerModification.js.map +1 -0
- package/dist/src/modifications/actions/index.d.ts +4 -0
- package/dist/src/modifications/actions/index.d.ts.map +1 -0
- package/dist/src/modifications/actions/index.js +20 -0
- package/dist/src/modifications/actions/index.js.map +1 -0
- package/dist/src/modifications/columns/UpdateColumnDefinitionModification.d.ts.map +1 -1
- package/dist/src/modifications/columns/UpdateColumnDefinitionModification.js +3 -3
- package/dist/src/modifications/columns/UpdateColumnDefinitionModification.js.map +1 -1
- package/dist/src/modifications/constraints/CreateUniqueConstraintModification.d.ts +3 -3
- package/dist/src/modifications/constraints/CreateUniqueConstraintModification.d.ts.map +1 -1
- package/dist/src/modifications/constraints/CreateUniqueConstraintModification.js +20 -32
- package/dist/src/modifications/constraints/CreateUniqueConstraintModification.js.map +1 -1
- package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.d.ts +11 -5
- package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.d.ts.map +1 -1
- package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.js +37 -9
- package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.js.map +1 -1
- package/dist/src/modifications/constraints/utils.d.ts +7 -0
- package/dist/src/modifications/constraints/utils.d.ts.map +1 -0
- package/dist/src/modifications/constraints/utils.js +33 -0
- package/dist/src/modifications/constraints/utils.js.map +1 -0
- package/dist/src/modifications/entities/CreateEntityModification.d.ts +4 -4
- package/dist/src/modifications/entities/CreateEntityModification.d.ts.map +1 -1
- package/dist/src/modifications/entities/CreateEntityModification.js +18 -14
- package/dist/src/modifications/entities/CreateEntityModification.js.map +1 -1
- package/dist/src/modifications/entities/CreateViewModification.d.ts +2 -2
- package/dist/src/modifications/entities/CreateViewModification.d.ts.map +1 -1
- package/dist/src/modifications/entities/CreateViewModification.js +14 -10
- package/dist/src/modifications/entities/CreateViewModification.js.map +1 -1
- package/dist/src/modifications/entities/RemoveEntityModification.d.ts +3 -4
- package/dist/src/modifications/entities/RemoveEntityModification.d.ts.map +1 -1
- package/dist/src/modifications/entities/RemoveEntityModification.js +3 -2
- package/dist/src/modifications/entities/RemoveEntityModification.js.map +1 -1
- package/dist/src/modifications/entities/ToggleEventLogModification.d.ts +2 -2
- package/dist/src/modifications/entities/ToggleEventLogModification.d.ts.map +1 -1
- package/dist/src/modifications/entities/ToggleEventLogModification.js +3 -3
- package/dist/src/modifications/entities/ToggleEventLogModification.js.map +1 -1
- package/dist/src/modifications/entities/UpdateEntityNameModification.d.ts +4 -5
- package/dist/src/modifications/entities/UpdateEntityNameModification.d.ts.map +1 -1
- package/dist/src/modifications/entities/UpdateEntityNameModification.js +3 -19
- package/dist/src/modifications/entities/UpdateEntityNameModification.js.map +1 -1
- package/dist/src/modifications/entities/UpdateEntityOrderByModification.d.ts +23 -0
- package/dist/src/modifications/entities/UpdateEntityOrderByModification.d.ts.map +1 -0
- package/dist/src/modifications/entities/UpdateEntityOrderByModification.js +63 -0
- package/dist/src/modifications/entities/UpdateEntityOrderByModification.js.map +1 -0
- package/dist/src/modifications/entities/index.d.ts +1 -0
- package/dist/src/modifications/entities/index.d.ts.map +1 -1
- package/dist/src/modifications/entities/index.js +1 -0
- package/dist/src/modifications/entities/index.js.map +1 -1
- package/dist/src/modifications/fields/RemoveFieldModification.js.map +1 -1
- package/dist/src/modifications/fields/UpdateFieldNameModification.d.ts +4 -5
- package/dist/src/modifications/fields/UpdateFieldNameModification.d.ts.map +1 -1
- package/dist/src/modifications/fields/UpdateFieldNameModification.js +18 -27
- package/dist/src/modifications/fields/UpdateFieldNameModification.js.map +1 -1
- package/dist/src/modifications/indexes/CreateIndexModification.d.ts +5 -5
- package/dist/src/modifications/indexes/CreateIndexModification.d.ts.map +1 -1
- package/dist/src/modifications/indexes/CreateIndexModification.js +24 -35
- package/dist/src/modifications/indexes/CreateIndexModification.js.map +1 -1
- package/dist/src/modifications/indexes/RemoveIndexModification.d.ts +12 -6
- package/dist/src/modifications/indexes/RemoveIndexModification.d.ts.map +1 -1
- package/dist/src/modifications/indexes/RemoveIndexModification.js +36 -10
- package/dist/src/modifications/indexes/RemoveIndexModification.js.map +1 -1
- package/dist/src/modifications/indexes/utils.d.ts +7 -0
- package/dist/src/modifications/indexes/utils.d.ts.map +1 -0
- package/dist/src/modifications/indexes/utils.js +33 -0
- package/dist/src/modifications/indexes/utils.js.map +1 -0
- package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.d.ts +3 -4
- package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.d.ts.map +1 -1
- package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.js +10 -10
- package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.js.map +1 -1
- package/dist/src/modifications/relations/ConvertOneToManyRelationModification.d.ts +3 -4
- package/dist/src/modifications/relations/ConvertOneToManyRelationModification.d.ts.map +1 -1
- package/dist/src/modifications/relations/ConvertOneToManyRelationModification.js +14 -12
- package/dist/src/modifications/relations/ConvertOneToManyRelationModification.js.map +1 -1
- package/dist/src/modifications/relations/CreateRelationModification.d.ts +3 -4
- package/dist/src/modifications/relations/CreateRelationModification.d.ts.map +1 -1
- package/dist/src/modifications/relations/CreateRelationModification.js +14 -26
- package/dist/src/modifications/relations/CreateRelationModification.js.map +1 -1
- package/dist/src/modifications/relations/ToggleJunctionEventLogModification.d.ts +3 -4
- package/dist/src/modifications/relations/ToggleJunctionEventLogModification.d.ts.map +1 -1
- package/dist/src/modifications/relations/ToggleJunctionEventLogModification.js +4 -5
- package/dist/src/modifications/relations/ToggleJunctionEventLogModification.js.map +1 -1
- package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.d.ts +2 -2
- package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.d.ts.map +1 -1
- package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.js +20 -1
- package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.js.map +1 -1
- package/dist/src/modifications/relations/helpers.d.ts +13 -0
- package/dist/src/modifications/relations/helpers.d.ts.map +1 -0
- package/dist/src/modifications/relations/helpers.js +29 -0
- package/dist/src/modifications/relations/helpers.js.map +1 -0
- package/dist/src/modifications/upgrade/RemoveIndexNamesModification.d.ts +19 -0
- package/dist/src/modifications/upgrade/RemoveIndexNamesModification.d.ts.map +1 -0
- package/dist/src/modifications/upgrade/RemoveIndexNamesModification.js +40 -0
- package/dist/src/modifications/upgrade/RemoveIndexNamesModification.js.map +1 -0
- package/dist/src/modifications/utils/createJunctionTable.d.ts +2 -3
- package/dist/src/modifications/utils/createJunctionTable.d.ts.map +1 -1
- package/dist/src/modifications/utils/createJunctionTable.js +4 -6
- package/dist/src/modifications/utils/createJunctionTable.js.map +1 -1
- package/dist/src/modifications/utils/schemaUpdateUtils.d.ts +2 -4
- package/dist/src/modifications/utils/schemaUpdateUtils.d.ts.map +1 -1
- package/dist/src/modifications/utils/schemaUpdateUtils.js +5 -20
- package/dist/src/modifications/utils/schemaUpdateUtils.js.map +1 -1
- package/dist/src/modifications/utils/stringArrayEquals.d.ts +2 -0
- package/dist/src/modifications/utils/stringArrayEquals.d.ts.map +1 -0
- package/dist/src/modifications/utils/stringArrayEquals.js +9 -0
- package/dist/src/modifications/utils/stringArrayEquals.js.map +1 -0
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/src/utils/PartialEntity.d.ts +5 -3
- package/dist/src/utils/PartialEntity.d.ts.map +1 -1
- package/dist/tests/cases/integration/convertOneHasManyToManyHasManyRelation.test.js +1 -1
- package/dist/tests/cases/integration/convertOneToManyRelation.test.js +5 -5
- package/dist/tests/cases/integration/convertOneToManyRelation.test.js.map +1 -1
- package/dist/tests/cases/integration/createAndDropIndex.test.js +4 -4
- package/dist/tests/cases/integration/createAndDropIndex.test.js.map +1 -1
- package/dist/tests/cases/integration/createEntity.test.js +6 -9
- package/dist/tests/cases/integration/createEntity.test.js.map +1 -1
- package/dist/tests/cases/integration/createManyHasMany.test.js +3 -3
- package/dist/tests/cases/integration/createManyHasOne.test.js +4 -4
- package/dist/tests/cases/integration/createManyHasOne.test.js.map +1 -1
- package/dist/tests/cases/integration/createOneHasMany.test.js +6 -9
- package/dist/tests/cases/integration/createOneHasMany.test.js.map +1 -1
- package/dist/tests/cases/integration/createOneHasOne.test.js +6 -6
- package/dist/tests/cases/integration/createRelationInverseSide.test.js +1 -1
- package/dist/tests/cases/integration/createRelationInverseSide.test.js.map +1 -1
- package/dist/tests/cases/integration/createView.test.js +6 -6
- package/dist/tests/cases/integration/removeField.test.js +6 -6
- package/dist/tests/cases/integration/removeField.test.js.map +1 -1
- package/dist/tests/cases/integration/updateColumnDefinition.test.js +4 -4
- package/dist/tests/cases/integration/updateEntityName.test.js +6 -5
- package/dist/tests/cases/integration/updateEntityName.test.js.map +1 -1
- package/dist/tests/cases/integration/updateEntityOrderBy.test.d.ts +2 -0
- package/dist/tests/cases/integration/updateEntityOrderBy.test.d.ts.map +1 -0
- package/dist/tests/cases/integration/updateEntityOrderBy.test.js +57 -0
- package/dist/tests/cases/integration/updateEntityOrderBy.test.js.map +1 -0
- package/dist/tests/cases/integration/updateFieldName.test.js +8 -7
- package/dist/tests/cases/integration/updateFieldName.test.js.map +1 -1
- package/dist/tests/cases/integration/updateRelationOnDelete.test.js +2 -1
- package/dist/tests/cases/integration/updateRelationOnDelete.test.js.map +1 -1
- package/dist/tests/cases/integration/updateView.test.js +18 -18
- package/dist/tests/scripts/checkCreateConsistentMigrations.js +1 -1
- package/dist/tests/scripts/checkCreateConsistentMigrations.js.map +1 -1
- package/dist/tests/src/tests.d.ts.map +1 -1
- package/dist/tests/src/tests.js +12 -8
- package/dist/tests/src/tests.js.map +1 -1
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/package.json +11 -7
- package/src/MigrationCreator.ts +1 -1
- package/src/MigrationDescriber.ts +11 -9
- package/src/MigrationFilesManager.ts +1 -1
- package/src/MigrationsResolver.ts +1 -1
- package/src/SchemaDiffer.ts +23 -12
- package/src/SchemaMigrator.ts +1 -3
- package/src/index.ts +1 -1
- package/src/modifications/ModificationHandler.ts +10 -5
- package/src/modifications/ModificationHandlerFactory.ts +24 -11
- package/src/modifications/ModificationVersions.ts +4 -2
- package/src/modifications/actions/CreateTargetModification.ts +46 -0
- package/src/modifications/actions/CreateTriggerModification.ts +46 -0
- package/src/modifications/actions/RemoveTargetModification.ts +46 -0
- package/src/modifications/actions/RemoveTriggerModification.ts +46 -0
- package/src/modifications/actions/UpdateTargetModification.ts +51 -0
- package/src/modifications/actions/UpdateTriggerModification.ts +49 -0
- package/src/modifications/actions/index.ts +3 -0
- package/src/modifications/columns/UpdateColumnDefinitionModification.ts +1 -2
- package/src/modifications/constraints/CreateUniqueConstraintModification.ts +31 -40
- package/src/modifications/constraints/RemoveUniqueConstraintModification.ts +60 -15
- package/src/modifications/constraints/utils.ts +36 -0
- package/src/modifications/entities/CreateEntityModification.ts +9 -8
- package/src/modifications/entities/CreateViewModification.ts +4 -3
- package/src/modifications/entities/RemoveEntityModification.ts +5 -5
- package/src/modifications/entities/ToggleEventLogModification.ts +4 -3
- package/src/modifications/entities/UpdateEntityNameModification.ts +10 -25
- package/src/modifications/entities/UpdateEntityOrderByModification.ts +68 -0
- package/src/modifications/entities/index.ts +1 -0
- package/src/modifications/fields/RemoveFieldModification.ts +1 -1
- package/src/modifications/fields/UpdateFieldNameModification.ts +33 -39
- package/src/modifications/indexes/CreateIndexModification.ts +35 -41
- package/src/modifications/indexes/RemoveIndexModification.ts +57 -17
- package/src/modifications/indexes/utils.ts +30 -0
- package/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.ts +7 -19
- package/src/modifications/relations/ConvertOneToManyRelationModification.ts +21 -22
- package/src/modifications/relations/CreateRelationModification.ts +21 -49
- package/src/modifications/relations/ToggleJunctionEventLogModification.ts +4 -5
- package/src/modifications/relations/UpdateRelationOnDeleteModification.ts +30 -3
- package/src/modifications/relations/helpers.ts +39 -0
- package/src/modifications/upgrade/RemoveIndexNamesModification.ts +46 -0
- package/src/modifications/utils/createJunctionTable.ts +8 -8
- package/src/modifications/utils/schemaUpdateUtils.ts +5 -17
- package/src/modifications/utils/stringArrayEquals.ts +4 -0
- package/src/tsconfig.json +4 -12
- package/src/utils/PartialEntity.ts +7 -1
- package/tests/cases/integration/convertOneHasManyToManyHasManyRelation.test.ts +1 -1
- package/tests/cases/integration/convertOneToManyRelation.test.ts +5 -5
- package/tests/cases/integration/createAndDropIndex.test.ts +4 -4
- package/tests/cases/integration/createEntity.test.ts +6 -9
- package/tests/cases/integration/createManyHasMany.test.ts +3 -3
- package/tests/cases/integration/createManyHasOne.test.ts +4 -4
- package/tests/cases/integration/createOneHasMany.test.ts +6 -9
- package/tests/cases/integration/createOneHasOne.test.ts +6 -6
- package/tests/cases/integration/createRelationInverseSide.test.ts +1 -1
- package/tests/cases/integration/createView.test.ts +6 -6
- package/tests/cases/integration/removeField.test.ts +6 -6
- package/tests/cases/integration/updateColumnDefinition.test.ts +4 -4
- package/tests/cases/integration/updateEntityName.test.ts +7 -5
- package/tests/cases/integration/updateEntityOrderBy.test.ts +43 -0
- package/tests/cases/integration/updateFieldName.test.ts +9 -7
- package/tests/cases/integration/updateRelationOnDelete.test.ts +2 -1
- package/tests/cases/integration/updateView.test.ts +18 -18
- package/tests/scripts/checkCreateConsistentMigrations.ts +1 -1
- package/tests/src/tests.ts +18 -15
- package/tests/tsconfig.json +2 -6
- package/dist/src/MigrationVersionHelper.d.ts +0 -9
- package/dist/src/MigrationVersionHelper.d.ts.map +0 -1
- package/dist/src/MigrationVersionHelper.js +0 -45
- package/dist/src/MigrationVersionHelper.js.map +0 -1
- package/dist/src/modifications/utils/renameConstraintsHelper.d.ts +0 -8
- package/dist/src/modifications/utils/renameConstraintsHelper.d.ts.map +0 -1
- package/dist/src/modifications/utils/renameConstraintsHelper.js +0 -31
- package/dist/src/modifications/utils/renameConstraintsHelper.js.map +0 -1
- package/dist/src/modifications/utils/schemaMeta.d.ts +0 -8
- package/dist/src/modifications/utils/schemaMeta.d.ts.map +0 -1
- package/dist/src/modifications/utils/schemaMeta.js +0 -13
- package/dist/src/modifications/utils/schemaMeta.js.map +0 -1
- package/dist/tests/cases/integration/takenIndexName.test.d.ts +0 -2
- package/dist/tests/cases/integration/takenIndexName.test.d.ts.map +0 -1
- package/dist/tests/cases/integration/takenIndexName.test.js +0 -307
- package/dist/tests/cases/integration/takenIndexName.test.js.map +0 -1
- package/src/MigrationVersionHelper.ts +0 -46
- package/src/modifications/utils/renameConstraintsHelper.ts +0 -34
- package/src/modifications/utils/schemaMeta.ts +0 -18
- package/tests/cases/integration/takenIndexName.test.ts +0 -314
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.UpdateEntityOrderByDiffer = exports.updateEntityOrderByModification = exports.UpdateEntityOrderByModificationHandler = void 0;
|
|
7
|
+
const schemaUpdateUtils_1 = require("../utils/schemaUpdateUtils");
|
|
8
|
+
const ModificationHandler_1 = require("../ModificationHandler");
|
|
9
|
+
const fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
|
|
10
|
+
class UpdateEntityOrderByModificationHandler {
|
|
11
|
+
constructor(data, schema) {
|
|
12
|
+
this.data = data;
|
|
13
|
+
this.schema = schema;
|
|
14
|
+
}
|
|
15
|
+
createSql(builder) { }
|
|
16
|
+
getSchemaUpdater() {
|
|
17
|
+
const { entityName, orderBy } = this.data;
|
|
18
|
+
return (0, schemaUpdateUtils_1.updateModel)((0, schemaUpdateUtils_1.updateEntity)(entityName, ({ entity }) => {
|
|
19
|
+
if (orderBy) {
|
|
20
|
+
return {
|
|
21
|
+
...entity,
|
|
22
|
+
orderBy,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
const { orderBy: _, ...rest } = entity;
|
|
26
|
+
return rest;
|
|
27
|
+
}));
|
|
28
|
+
}
|
|
29
|
+
describe() {
|
|
30
|
+
return { message: `Update order-by of entity ${this.data.entityName}` };
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.UpdateEntityOrderByModificationHandler = UpdateEntityOrderByModificationHandler;
|
|
34
|
+
exports.updateEntityOrderByModification = (0, ModificationHandler_1.createModificationType)({
|
|
35
|
+
id: 'updateEntityOrderBy',
|
|
36
|
+
handler: UpdateEntityOrderByModificationHandler,
|
|
37
|
+
});
|
|
38
|
+
class UpdateEntityOrderByDiffer {
|
|
39
|
+
createDiff(originalSchema, updatedSchema) {
|
|
40
|
+
return Object.values(updatedSchema.model.entities)
|
|
41
|
+
.flatMap(updatedEntity => {
|
|
42
|
+
var _a, _b;
|
|
43
|
+
const origEntity = originalSchema.model.entities[updatedEntity.name];
|
|
44
|
+
if (!origEntity) {
|
|
45
|
+
return [];
|
|
46
|
+
}
|
|
47
|
+
if (!(0, fast_deep_equal_1.default)((_a = updatedEntity.orderBy) !== null && _a !== void 0 ? _a : [], (_b = origEntity.orderBy) !== null && _b !== void 0 ? _b : [])) {
|
|
48
|
+
if (updatedEntity.orderBy) {
|
|
49
|
+
return [exports.updateEntityOrderByModification.createModification({
|
|
50
|
+
entityName: updatedEntity.name,
|
|
51
|
+
orderBy: updatedEntity.orderBy,
|
|
52
|
+
})];
|
|
53
|
+
}
|
|
54
|
+
return [exports.updateEntityOrderByModification.createModification({
|
|
55
|
+
entityName: updatedEntity.name,
|
|
56
|
+
})];
|
|
57
|
+
}
|
|
58
|
+
return [];
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.UpdateEntityOrderByDiffer = UpdateEntityOrderByDiffer;
|
|
63
|
+
//# sourceMappingURL=UpdateEntityOrderByModification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UpdateEntityOrderByModification.js","sourceRoot":"","sources":["../../../../src/modifications/entities/UpdateEntityOrderByModification.ts"],"names":[],"mappings":";;;;;;AAEA,kEAAqF;AACrF,gEAA4F;AAC5F,sEAAuC;AAEvC,MAAa,sCAAsC;IAElD,YAA6B,IAAyC,EAAmB,MAAc;QAA1E,SAAI,GAAJ,IAAI,CAAqC;QAAmB,WAAM,GAAN,MAAM,CAAQ;IAAI,CAAC;IAErG,SAAS,CAAC,OAAyB,IAAU,CAAC;IAE9C,gBAAgB;QACtB,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,CAAA;QACzC,OAAO,IAAA,+BAAW,EACjB,IAAA,gCAAY,EAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;YACvC,IAAI,OAAO,EAAE;gBACZ,OAAO;oBACN,GAAG,MAAM;oBACT,OAAO;iBACP,CAAA;aACD;YACD,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAA;YACtC,OAAO,IAAI,CAAA;QACZ,CAAC,CAAC,CACF,CAAA;IACF,CAAC;IAED,QAAQ;QACP,OAAO,EAAE,OAAO,EAAE,6BAA6B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAA;IACxE,CAAC;CACD;AAzBD,wFAyBC;AAOY,QAAA,+BAA+B,GAAG,IAAA,4CAAsB,EAAC;IACrE,EAAE,EAAE,qBAAqB;IACzB,OAAO,EAAE,sCAAsC;CAC/C,CAAC,CAAA;AAEF,MAAa,yBAAyB;IACrC,UAAU,CAAC,cAAsB,EAAE,aAAqB;QACvD,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC;aAChD,OAAO,CAAC,aAAa,CAAC,EAAE;;YACxB,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;YACpE,IAAI,CAAC,UAAU,EAAE;gBAChB,OAAO,EAAE,CAAA;aACT;YAED,IAAI,CAAC,IAAA,yBAAS,EAAC,MAAA,aAAa,CAAC,OAAO,mCAAI,EAAE,EAAE,MAAA,UAAU,CAAC,OAAO,mCAAI,EAAE,CAAC,EAAE;gBACtE,IAAI,aAAa,CAAC,OAAO,EAAE;oBAC1B,OAAO,CAAC,uCAA+B,CAAC,kBAAkB,CAAC;4BAC1D,UAAU,EAAE,aAAa,CAAC,IAAI;4BAC9B,OAAO,EAAE,aAAa,CAAC,OAAO;yBAC9B,CAAC,CAAC,CAAA;iBACH;gBACD,OAAO,CAAC,uCAA+B,CAAC,kBAAkB,CAAC;wBAC1D,UAAU,EAAE,aAAa,CAAC,IAAI;qBAC9B,CAAC,CAAC,CAAA;aACH;YACD,OAAO,EAAE,CAAA;QACV,CAAC,CAAC,CAAA;IAEJ,CAAC;CACD;AAxBD,8DAwBC"}
|
|
@@ -4,4 +4,5 @@ export * from './RemoveEntityModification';
|
|
|
4
4
|
export * from './ToggleEventLogModification';
|
|
5
5
|
export * from './UpdateEntityNameModification';
|
|
6
6
|
export * from './UpdateEntityTableNameModification';
|
|
7
|
+
export * from './UpdateEntityOrderByModification';
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modifications/entities/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,qCAAqC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modifications/entities/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,qCAAqC,CAAA;AACnD,cAAc,mCAAmC,CAAA"}
|
|
@@ -20,4 +20,5 @@ __exportStar(require("./RemoveEntityModification"), exports);
|
|
|
20
20
|
__exportStar(require("./ToggleEventLogModification"), exports);
|
|
21
21
|
__exportStar(require("./UpdateEntityNameModification"), exports);
|
|
22
22
|
__exportStar(require("./UpdateEntityTableNameModification"), exports);
|
|
23
|
+
__exportStar(require("./UpdateEntityOrderByModification"), exports);
|
|
23
24
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modifications/entities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA0C;AAC1C,2DAAwC;AACxC,6DAA0C;AAC1C,+DAA4C;AAC5C,iEAA8C;AAC9C,sEAAmD"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modifications/entities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA0C;AAC1C,2DAAwC;AACxC,6DAA0C;AAC1C,+DAA4C;AAC5C,iEAA8C;AAC9C,sEAAmD;AACnD,oEAAiD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoveFieldModification.js","sourceRoot":"","sources":["../../../../src/modifications/fields/RemoveFieldModification.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"RemoveFieldModification.js","sourceRoot":"","sources":["../../../../src/modifications/fields/RemoveFieldModification.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { MigrationBuilder } from '@contember/database-migrations';
|
|
2
|
+
import { Schema } from '@contember/schema';
|
|
2
3
|
import { SchemaUpdater } from '../utils/schemaUpdateUtils';
|
|
3
|
-
import { ModificationHandler, ModificationHandlerOptions } from '../ModificationHandler';
|
|
4
|
-
import { SchemaWithMeta } from '../utils/schemaMeta';
|
|
4
|
+
import { ModificationHandler, ModificationHandlerCreateSqlOptions, ModificationHandlerOptions } from '../ModificationHandler';
|
|
5
5
|
export declare class UpdateFieldNameModificationHandler implements ModificationHandler<UpdateFieldNameModificationData> {
|
|
6
6
|
private readonly data;
|
|
7
7
|
private readonly schema;
|
|
8
8
|
private readonly options;
|
|
9
9
|
private renameColumnSubModification;
|
|
10
|
-
constructor(data: UpdateFieldNameModificationData, schema:
|
|
11
|
-
createSql(builder: MigrationBuilder): void;
|
|
10
|
+
constructor(data: UpdateFieldNameModificationData, schema: Schema, options: ModificationHandlerOptions);
|
|
11
|
+
createSql(builder: MigrationBuilder, options: ModificationHandlerCreateSqlOptions): void;
|
|
12
12
|
getSchemaUpdater(): SchemaUpdater;
|
|
13
|
-
private getNewConstraintName;
|
|
14
13
|
describe(): {
|
|
15
14
|
message: string;
|
|
16
15
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateFieldNameModification.d.ts","sourceRoot":"","sources":["../../../../src/modifications/fields/UpdateFieldNameModification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"UpdateFieldNameModification.d.ts","sourceRoot":"","sources":["../../../../src/modifications/fields/UpdateFieldNameModification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAgB,MAAM,EAAS,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EACN,aAAa,EAWb,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAEN,mBAAmB,EACnB,mCAAmC,EACnC,0BAA0B,EAC1B,MAAM,wBAAwB,CAAA;AAW/B,qBAAa,kCAAmC,YAAW,mBAAmB,CAAC,+BAA+B,CAAC;IAI7G,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IALzB,OAAO,CAAC,2BAA2B,CAAmD;gBAGpE,IAAI,EAAE,+BAA+B,EACrC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,0BAA0B;IAW9C,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,mCAAmC,GAAG,IAAI;IAQxF,gBAAgB,IAAI,aAAa;IAgIxC,QAAQ;;;CAGR;AAED,MAAM,WAAW,+BAA+B;IAC/C,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,eAAO,MAAM,2BAA2B,uGAGtC,CAAA"}
|
|
@@ -5,7 +5,6 @@ const schemaUpdateUtils_1 = require("../utils/schemaUpdateUtils");
|
|
|
5
5
|
const ModificationHandler_1 = require("../ModificationHandler");
|
|
6
6
|
const schema_utils_1 = require("@contember/schema-utils");
|
|
7
7
|
const ModificationVersions_1 = require("../ModificationVersions");
|
|
8
|
-
const renameConstraintsHelper_1 = require("../utils/renameConstraintsHelper");
|
|
9
8
|
const valueUtils_1 = require("../utils/valueUtils");
|
|
10
9
|
const columns_1 = require("../columns");
|
|
11
10
|
const NoopModification_1 = require("../NoopModification");
|
|
@@ -23,31 +22,33 @@ class UpdateFieldNameModificationHandler {
|
|
|
23
22
|
}, this.schema, this.options);
|
|
24
23
|
}
|
|
25
24
|
}
|
|
26
|
-
createSql(builder) {
|
|
25
|
+
createSql(builder, options) {
|
|
27
26
|
const entity = this.schema.model.entities[this.data.entityName];
|
|
28
27
|
if (entity.view) {
|
|
29
28
|
return;
|
|
30
29
|
}
|
|
31
|
-
|
|
32
|
-
(0, renameConstraintsHelper_1.renameConstraintsSqlBuilder)(builder, entity, this.getNewConstraintName.bind(this));
|
|
33
|
-
}
|
|
34
|
-
this.renameColumnSubModification.createSql(builder);
|
|
30
|
+
this.renameColumnSubModification.createSql(builder, options);
|
|
35
31
|
}
|
|
36
32
|
getSchemaUpdater() {
|
|
37
|
-
const
|
|
38
|
-
? (0, schemaUpdateUtils_1.updateEntity)(this.data.entityName, (
|
|
33
|
+
const updateConstraintFields = this.options.formatVersion >= ModificationVersions_1.VERSION_UPDATE_CONSTRAINT_FIELDS
|
|
34
|
+
? (0, schemaUpdateUtils_1.updateEntity)(this.data.entityName, ({ entity }) => {
|
|
35
|
+
return {
|
|
36
|
+
...entity,
|
|
37
|
+
unique: entity.unique.map(unique => ({
|
|
38
|
+
...unique,
|
|
39
|
+
fields: unique.fields.map((0, valueUtils_1.changeValue)(this.data.fieldName, this.data.newFieldName)),
|
|
40
|
+
})),
|
|
41
|
+
};
|
|
42
|
+
})
|
|
39
43
|
: undefined;
|
|
40
|
-
const
|
|
44
|
+
const updateIndexFields = this.options.formatVersion >= ModificationVersions_1.VERSION_UPDATE_INDEX_FIELDS
|
|
41
45
|
? (0, schemaUpdateUtils_1.updateEntity)(this.data.entityName, ({ entity }) => {
|
|
42
46
|
return {
|
|
43
47
|
...entity,
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
fields: unique.fields.map((0, valueUtils_1.changeValue)(this.data.fieldName, this.data.newFieldName)),
|
|
49
|
-
},
|
|
50
|
-
])),
|
|
48
|
+
indexes: entity.indexes.map(unique => ({
|
|
49
|
+
...unique,
|
|
50
|
+
fields: unique.fields.map((0, valueUtils_1.changeValue)(this.data.fieldName, this.data.newFieldName)),
|
|
51
|
+
})),
|
|
51
52
|
};
|
|
52
53
|
})
|
|
53
54
|
: undefined;
|
|
@@ -125,17 +126,7 @@ class UpdateFieldNameModificationHandler {
|
|
|
125
126
|
});
|
|
126
127
|
}))))
|
|
127
128
|
: undefined;
|
|
128
|
-
return (0, schemaUpdateUtils_1.updateSchema)(updateAclOp, this.renameColumnSubModification.getSchemaUpdater(), (0, schemaUpdateUtils_1.updateModel)(
|
|
129
|
-
}
|
|
130
|
-
getNewConstraintName(constraint) {
|
|
131
|
-
const generatedName = schema_utils_1.NamingHelper.createUniqueConstraintName(this.data.entityName, constraint.fields);
|
|
132
|
-
const isGenerated = constraint.name === generatedName;
|
|
133
|
-
if (!isGenerated) {
|
|
134
|
-
null;
|
|
135
|
-
}
|
|
136
|
-
const newFieldNames = constraint.fields.map((0, valueUtils_1.changeValue)(this.data.fieldName, this.data.newFieldName));
|
|
137
|
-
const newName = schema_utils_1.NamingHelper.createUniqueConstraintName(this.data.entityName, newFieldNames);
|
|
138
|
-
return newName === constraint.name ? null : newName;
|
|
129
|
+
return (0, schemaUpdateUtils_1.updateSchema)(updateAclOp, this.renameColumnSubModification.getSchemaUpdater(), (0, schemaUpdateUtils_1.updateModel)(updateConstraintFields, updateIndexFields, updateRelationReferences, updateFieldName));
|
|
139
130
|
}
|
|
140
131
|
describe() {
|
|
141
132
|
return { message: `Change field name ${this.data.entityName}.${this.data.fieldName} to ${this.data.newFieldName}` };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateFieldNameModification.js","sourceRoot":"","sources":["../../../../src/modifications/fields/UpdateFieldNameModification.ts"],"names":[],"mappings":";;;AAEA,kEAYmC;AACnC,
|
|
1
|
+
{"version":3,"file":"UpdateFieldNameModification.js","sourceRoot":"","sources":["../../../../src/modifications/fields/UpdateFieldNameModification.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { MigrationBuilder } from '@contember/database-migrations';
|
|
2
2
|
import { Model, Schema } from '@contember/schema';
|
|
3
3
|
import { SchemaUpdater } from '../utils/schemaUpdateUtils';
|
|
4
|
-
import { Differ, ModificationHandler } from '../ModificationHandler';
|
|
4
|
+
import { Differ, ModificationHandler, ModificationHandlerCreateSqlOptions } from '../ModificationHandler';
|
|
5
5
|
export declare class CreateIndexModificationHandler implements ModificationHandler<CreateIndexModificationData> {
|
|
6
6
|
private readonly data;
|
|
7
7
|
private readonly schema;
|
|
8
8
|
constructor(data: CreateIndexModificationData, schema: Schema);
|
|
9
|
-
createSql(builder: MigrationBuilder): void;
|
|
9
|
+
createSql(builder: MigrationBuilder, { databaseMetadata, invalidateDatabaseMetadata }: ModificationHandlerCreateSqlOptions): void;
|
|
10
10
|
getSchemaUpdater(): SchemaUpdater;
|
|
11
11
|
describe(): {
|
|
12
12
|
message: string;
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
15
|
export declare const createIndexModification: import("../ModificationHandler").ModificationType<"createIndex", CreateIndexModificationData>;
|
|
16
|
-
export declare class CreateIndexDiffer implements Differ {
|
|
17
|
-
createDiff(originalSchema: Schema, updatedSchema: Schema): import("../../Migration").Migration.Modification<CreateIndexModificationData>[];
|
|
18
|
-
}
|
|
19
16
|
export interface CreateIndexModificationData {
|
|
20
17
|
entityName: string;
|
|
21
18
|
index: Model.Index;
|
|
22
19
|
}
|
|
20
|
+
export declare class CreateIndexDiffer implements Differ {
|
|
21
|
+
createDiff(originalSchema: Schema, updatedSchema: Schema): import("../../Migration").Migration.Modification<CreateIndexModificationData>[];
|
|
22
|
+
}
|
|
23
23
|
//# sourceMappingURL=CreateIndexModification.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateIndexModification.d.ts","sourceRoot":"","sources":["../../../../src/modifications/indexes/CreateIndexModification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,aAAa,EAA6B,MAAM,4BAA4B,CAAA;AACrF,OAAO,
|
|
1
|
+
{"version":3,"file":"CreateIndexModification.d.ts","sourceRoot":"","sources":["../../../../src/modifications/indexes/CreateIndexModification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,aAAa,EAA6B,MAAM,4BAA4B,CAAA;AACrF,OAAO,EAEN,MAAM,EACN,mBAAmB,EACnB,mCAAmC,EACnC,MAAM,wBAAwB,CAAA;AAK/B,qBAAa,8BAA+B,YAAW,mBAAmB,CAAC,2BAA2B,CAAC;IAC1F,OAAO,CAAC,QAAQ,CAAC,IAAI;IAA+B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAA1D,IAAI,EAAE,2BAA2B,EAAmB,MAAM,EAAE,MAAM;IAExF,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,EAAE,mCAAmC,GAAG,IAAI;IAoBjI,gBAAgB,IAAI,aAAa;IAYxC,QAAQ;;;CAKR;AAED,eAAO,MAAM,uBAAuB,+FAGlC,CAAA;AAEF,MAAM,WAAW,2BAA2B;IAC3C,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAA;CAClB;AAED,qBAAa,iBAAkB,YAAW,MAAM;IAC/C,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;CAUxD"}
|
|
@@ -1,56 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.CreateIndexDiffer = exports.createIndexModification = exports.CreateIndexModificationHandler = void 0;
|
|
4
7
|
const schemaUpdateUtils_1 = require("../utils/schemaUpdateUtils");
|
|
5
8
|
const ModificationHandler_1 = require("../ModificationHandler");
|
|
6
|
-
const
|
|
9
|
+
const dbHelpers_1 = require("../../utils/dbHelpers");
|
|
10
|
+
const utils_1 = require("./utils");
|
|
11
|
+
const fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
|
|
7
12
|
class CreateIndexModificationHandler {
|
|
8
13
|
constructor(data, schema) {
|
|
9
14
|
this.data = data;
|
|
10
15
|
this.schema = schema;
|
|
11
16
|
}
|
|
12
|
-
createSql(builder) {
|
|
17
|
+
createSql(builder, { databaseMetadata, invalidateDatabaseMetadata }) {
|
|
13
18
|
const entity = this.schema.model.entities[this.data.entityName];
|
|
14
19
|
if (entity.view) {
|
|
15
20
|
return;
|
|
16
21
|
}
|
|
17
22
|
const fields = this.data.index.fields;
|
|
18
|
-
const columns =
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
},
|
|
23
|
-
visitManyHasOne: ({ relation }) => {
|
|
24
|
-
return relation.joiningColumn.columnName;
|
|
25
|
-
},
|
|
26
|
-
visitOneHasOneOwning: ({ relation }) => {
|
|
27
|
-
return relation.joiningColumn.columnName;
|
|
28
|
-
},
|
|
29
|
-
visitOneHasMany: () => {
|
|
30
|
-
throw new Error(`Cannot create index on 1:m relation in ${entity.name}.${fieldName}`);
|
|
31
|
-
},
|
|
32
|
-
visitOneHasOneInverse: () => {
|
|
33
|
-
throw new Error(`Cannot create index on 1:1 inverse relation in ${entity.name}.${fieldName}`);
|
|
34
|
-
},
|
|
35
|
-
visitManyHasManyOwning: () => {
|
|
36
|
-
throw new Error(`Cannot create index on m:m relation in ${entity.name}.${fieldName}`);
|
|
37
|
-
},
|
|
38
|
-
visitManyHasManyInverse: () => {
|
|
39
|
-
throw new Error(`Cannot create index on m:m inverse relation in ${entity.name}.${fieldName}`);
|
|
40
|
-
},
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
builder.addIndex(entity.tableName, [...columns], {
|
|
44
|
-
name: this.data.index.name,
|
|
23
|
+
const columns = (0, utils_1.getIndexColumns)({
|
|
24
|
+
fields,
|
|
25
|
+
entity,
|
|
26
|
+
model: this.schema.model,
|
|
45
27
|
});
|
|
28
|
+
const tableNameId = (0, dbHelpers_1.wrapIdentifier)(entity.tableName);
|
|
29
|
+
const columnNameIds = columns.map(dbHelpers_1.wrapIdentifier);
|
|
30
|
+
builder.sql(`CREATE INDEX ON ${tableNameId} (${columnNameIds.join(', ')})`);
|
|
31
|
+
invalidateDatabaseMetadata();
|
|
46
32
|
}
|
|
47
33
|
getSchemaUpdater() {
|
|
48
34
|
return (0, schemaUpdateUtils_1.updateModel)((0, schemaUpdateUtils_1.updateEntity)(this.data.entityName, ({ entity }) => ({
|
|
49
35
|
...entity,
|
|
50
|
-
indexes:
|
|
36
|
+
indexes: [
|
|
51
37
|
...entity.indexes,
|
|
52
|
-
|
|
53
|
-
|
|
38
|
+
this.data.index,
|
|
39
|
+
],
|
|
54
40
|
})));
|
|
55
41
|
}
|
|
56
42
|
describe() {
|
|
@@ -66,9 +52,12 @@ exports.createIndexModification = (0, ModificationHandler_1.createModificationTy
|
|
|
66
52
|
});
|
|
67
53
|
class CreateIndexDiffer {
|
|
68
54
|
createDiff(originalSchema, updatedSchema) {
|
|
69
|
-
return Object.values(updatedSchema.model.entities).flatMap(entity =>
|
|
70
|
-
.filter(it => !originalSchema.model.entities[entity.name].indexes
|
|
71
|
-
.map(index => exports.createIndexModification.createModification({
|
|
55
|
+
return Object.values(updatedSchema.model.entities).flatMap(entity => entity.indexes
|
|
56
|
+
.filter(it => !originalSchema.model.entities[entity.name].indexes.find(idx => (0, fast_deep_equal_1.default)(idx.fields, it.fields)))
|
|
57
|
+
.map(index => exports.createIndexModification.createModification({
|
|
58
|
+
entityName: entity.name,
|
|
59
|
+
index,
|
|
60
|
+
})));
|
|
72
61
|
}
|
|
73
62
|
}
|
|
74
63
|
exports.CreateIndexDiffer = CreateIndexDiffer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateIndexModification.js","sourceRoot":"","sources":["../../../../src/modifications/indexes/CreateIndexModification.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CreateIndexModification.js","sourceRoot":"","sources":["../../../../src/modifications/indexes/CreateIndexModification.ts"],"names":[],"mappings":";;;;;;AAEA,kEAAqF;AACrF,gEAK+B;AAC/B,qDAAsD;AACtD,mCAAyC;AACzC,sEAAuC;AAEvC,MAAa,8BAA8B;IAC1C,YAA6B,IAAiC,EAAmB,MAAc;QAAlE,SAAI,GAAJ,IAAI,CAA6B;QAAmB,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE5F,SAAS,CAAC,OAAyB,EAAE,EAAE,gBAAgB,EAAE,0BAA0B,EAAuC;QAChI,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC/D,IAAI,MAAM,CAAC,IAAI,EAAE;YAChB,OAAM;SACN;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;QACrC,MAAM,OAAO,GAAG,IAAA,uBAAe,EAAC;YAC/B,MAAM;YACN,MAAM;YACN,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;SACxB,CAAC,CAAA;QAEF,MAAM,WAAW,GAAG,IAAA,0BAAc,EAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACpD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,0BAAc,CAAC,CAAA;QAEjD,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,KAAK,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAE3E,0BAA0B,EAAE,CAAA;IAC7B,CAAC;IAEM,gBAAgB;QACtB,OAAO,IAAA,+BAAW,EACjB,IAAA,gCAAY,EAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;YACnD,GAAG,MAAM;YACT,OAAO,EAAE;gBACR,GAAG,MAAM,CAAC,OAAO;gBACjB,IAAI,CAAC,IAAI,CAAC,KAAK;aACf;SACD,CAAC,CAAC,CACH,CAAA;IACF,CAAC;IAED,QAAQ;QACP,OAAO;YACN,OAAO,EAAE,gBAAgB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;SAC/F,CAAA;IACF,CAAC;CACD;AAxCD,wEAwCC;AAEY,QAAA,uBAAuB,GAAG,IAAA,4CAAsB,EAAC;IAC7D,EAAE,EAAE,aAAa;IACjB,OAAO,EAAE,8BAA8B;CACvC,CAAC,CAAA;AAOF,MAAa,iBAAiB;IAC7B,UAAU,CAAC,cAAsB,EAAE,aAAqB;QACvD,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CACnE,MAAM,CAAC,OAAO;aACZ,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAA,yBAAS,EAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;aAC/G,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,+BAAuB,CAAC,kBAAkB,CAAC;YACxD,UAAU,EAAE,MAAM,CAAC,IAAI;YACvB,KAAK;SACL,CAAC,CAAC,CACJ,CAAA;IACF,CAAC;CACD;AAXD,8CAWC"}
|
|
@@ -1,23 +1,29 @@
|
|
|
1
1
|
import { MigrationBuilder } from '@contember/database-migrations';
|
|
2
2
|
import { Schema } from '@contember/schema';
|
|
3
3
|
import { SchemaUpdater } from '../utils/schemaUpdateUtils';
|
|
4
|
-
import { Differ, ModificationHandler } from '../ModificationHandler';
|
|
4
|
+
import { Differ, ModificationHandler, ModificationHandlerCreateSqlOptions } from '../ModificationHandler';
|
|
5
5
|
export declare class RemoveIndexModificationHandler implements ModificationHandler<RemoveIndexModificationData> {
|
|
6
6
|
private readonly data;
|
|
7
7
|
private readonly schema;
|
|
8
8
|
constructor(data: RemoveIndexModificationData, schema: Schema);
|
|
9
|
-
createSql(builder: MigrationBuilder): void;
|
|
9
|
+
createSql(builder: MigrationBuilder, { databaseMetadata, invalidateDatabaseMetadata }: ModificationHandlerCreateSqlOptions): void;
|
|
10
10
|
getSchemaUpdater(): SchemaUpdater;
|
|
11
11
|
describe(): {
|
|
12
12
|
message: string;
|
|
13
13
|
};
|
|
14
|
+
getFields(): readonly string[];
|
|
14
15
|
}
|
|
15
16
|
export declare const removeIndexModification: import("../ModificationHandler").ModificationType<"removeIndex", RemoveIndexModificationData>;
|
|
16
|
-
export declare
|
|
17
|
-
createDiff(originalSchema: Schema, updatedSchema: Schema): import("../../Migration").Migration.Modification<RemoveIndexModificationData>[];
|
|
18
|
-
}
|
|
19
|
-
export interface RemoveIndexModificationData {
|
|
17
|
+
export declare type RemoveIndexModificationData = {
|
|
20
18
|
entityName: string;
|
|
21
19
|
indexName: string;
|
|
20
|
+
fields?: never;
|
|
21
|
+
} | {
|
|
22
|
+
entityName: string;
|
|
23
|
+
fields: readonly string[];
|
|
24
|
+
indexName?: never;
|
|
25
|
+
};
|
|
26
|
+
export declare class RemoveIndexDiffer implements Differ {
|
|
27
|
+
createDiff(originalSchema: Schema, updatedSchema: Schema): import("../../Migration").Migration.Modification<RemoveIndexModificationData>[];
|
|
22
28
|
}
|
|
23
29
|
//# sourceMappingURL=RemoveIndexModification.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoveIndexModification.d.ts","sourceRoot":"","sources":["../../../../src/modifications/indexes/RemoveIndexModification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,aAAa,EAA6B,MAAM,4BAA4B,CAAA;AACrF,OAAO,
|
|
1
|
+
{"version":3,"file":"RemoveIndexModification.d.ts","sourceRoot":"","sources":["../../../../src/modifications/indexes/RemoveIndexModification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,aAAa,EAA6B,MAAM,4BAA4B,CAAA;AACrF,OAAO,EAEN,MAAM,EACN,mBAAmB,EACnB,mCAAmC,EACnC,MAAM,wBAAwB,CAAA;AAK/B,qBAAa,8BAA+B,YAAW,mBAAmB,CAAC,2BAA2B,CAAC;IAC1F,OAAO,CAAC,QAAQ,CAAC,IAAI;IAA+B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAA1D,IAAI,EAAE,2BAA2B,EAAmB,MAAM,EAAE,MAAM;IAExF,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,EAAE,mCAAmC,GAAG,IAAI;IAqBjI,gBAAgB,IAAI,aAAa;IAaxC,QAAQ;;;IAKR,SAAS;CAUT;AAED,eAAO,MAAM,uBAAuB,+FAGlC,CAAA;AAGF,oBAAY,2BAA2B,GACpC;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,KAAK,CAAA;CACd,GACC;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;IACzB,SAAS,CAAC,EAAE,KAAK,CAAA;CACjB,CAAA;AAEF,qBAAa,iBAAkB,YAAW,MAAM;IAE/C,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;CAoBxD"}
|
|
@@ -7,23 +7,34 @@ exports.RemoveIndexDiffer = exports.removeIndexModification = exports.RemoveInde
|
|
|
7
7
|
const schemaUpdateUtils_1 = require("../utils/schemaUpdateUtils");
|
|
8
8
|
const ModificationHandler_1 = require("../ModificationHandler");
|
|
9
9
|
const fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
|
|
10
|
+
const utils_1 = require("./utils");
|
|
11
|
+
const dbHelpers_1 = require("../../utils/dbHelpers");
|
|
10
12
|
class RemoveIndexModificationHandler {
|
|
11
13
|
constructor(data, schema) {
|
|
12
14
|
this.data = data;
|
|
13
15
|
this.schema = schema;
|
|
14
16
|
}
|
|
15
|
-
createSql(builder) {
|
|
17
|
+
createSql(builder, { databaseMetadata, invalidateDatabaseMetadata }) {
|
|
16
18
|
const entity = this.schema.model.entities[this.data.entityName];
|
|
17
19
|
if (entity.view) {
|
|
18
20
|
return;
|
|
19
21
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
+
const fields = this.getFields();
|
|
23
|
+
const columns = (0, utils_1.getIndexColumns)({
|
|
24
|
+
entity,
|
|
25
|
+
fields,
|
|
26
|
+
model: this.schema.model,
|
|
22
27
|
});
|
|
28
|
+
const indexNames = databaseMetadata.getIndexNames({ tableName: entity.tableName, columnNames: columns });
|
|
29
|
+
for (const name of indexNames) {
|
|
30
|
+
builder.sql(`DROP INDEX ${(0, dbHelpers_1.wrapIdentifier)(name)}`);
|
|
31
|
+
}
|
|
32
|
+
invalidateDatabaseMetadata();
|
|
23
33
|
}
|
|
24
34
|
getSchemaUpdater() {
|
|
35
|
+
const fields = this.getFields();
|
|
25
36
|
return (0, schemaUpdateUtils_1.updateModel)((0, schemaUpdateUtils_1.updateEntity)(this.data.entityName, ({ entity }) => {
|
|
26
|
-
const
|
|
37
|
+
const indexes = entity.indexes.filter(it => !(0, fast_deep_equal_1.default)(it.fields, fields));
|
|
27
38
|
return {
|
|
28
39
|
...entity,
|
|
29
40
|
indexes,
|
|
@@ -31,9 +42,20 @@ class RemoveIndexModificationHandler {
|
|
|
31
42
|
}));
|
|
32
43
|
}
|
|
33
44
|
describe() {
|
|
34
|
-
const fields = this.
|
|
45
|
+
const fields = this.getFields();
|
|
35
46
|
return { message: `Remove index (${fields.join(', ')}) on entity ${this.data.entityName}` };
|
|
36
47
|
}
|
|
48
|
+
getFields() {
|
|
49
|
+
var _a;
|
|
50
|
+
const entity = this.schema.model.entities[this.data.entityName];
|
|
51
|
+
const fields = 'indexName' in this.data
|
|
52
|
+
? (_a = entity.indexes.find(it => it.name === this.data.indexName)) === null || _a === void 0 ? void 0 : _a.fields
|
|
53
|
+
: this.data.fields;
|
|
54
|
+
if (!fields) {
|
|
55
|
+
throw new Error();
|
|
56
|
+
}
|
|
57
|
+
return fields;
|
|
58
|
+
}
|
|
37
59
|
}
|
|
38
60
|
exports.RemoveIndexModificationHandler = RemoveIndexModificationHandler;
|
|
39
61
|
exports.removeIndexModification = (0, ModificationHandler_1.createModificationType)({
|
|
@@ -42,13 +64,17 @@ exports.removeIndexModification = (0, ModificationHandler_1.createModificationTy
|
|
|
42
64
|
});
|
|
43
65
|
class RemoveIndexDiffer {
|
|
44
66
|
createDiff(originalSchema, updatedSchema) {
|
|
45
|
-
return Object.values(originalSchema.model.entities).flatMap(entity =>
|
|
46
|
-
.filter(it =>
|
|
47
|
-
|
|
48
|
-
|
|
67
|
+
return Object.values(originalSchema.model.entities).flatMap(entity => entity.indexes
|
|
68
|
+
.filter(it => {
|
|
69
|
+
const updatedEntity = updatedSchema.model.entities[entity.name];
|
|
70
|
+
if (!updatedEntity) {
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
return !updatedEntity.indexes.find(index => (0, fast_deep_equal_1.default)(index.fields, it.fields));
|
|
74
|
+
})
|
|
49
75
|
.map(index => exports.removeIndexModification.createModification({
|
|
50
76
|
entityName: entity.name,
|
|
51
|
-
|
|
77
|
+
fields: index.fields,
|
|
52
78
|
})));
|
|
53
79
|
}
|
|
54
80
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoveIndexModification.js","sourceRoot":"","sources":["../../../../src/modifications/indexes/RemoveIndexModification.ts"],"names":[],"mappings":";;;;;;AAEA,kEAAqF;AACrF,
|
|
1
|
+
{"version":3,"file":"RemoveIndexModification.js","sourceRoot":"","sources":["../../../../src/modifications/indexes/RemoveIndexModification.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/modifications/indexes/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzC,eAAO,MAAM,eAAe;YAAyC,SAAS,MAAM,EAAE;WAAS,MAAM,MAAM;YAAU,MAAM,MAAM;cA0BhI,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getIndexColumns = void 0;
|
|
4
|
+
const schema_utils_1 = require("@contember/schema-utils");
|
|
5
|
+
const getIndexColumns = ({ entity, fields, model }) => {
|
|
6
|
+
return fields.map(fieldName => {
|
|
7
|
+
return (0, schema_utils_1.acceptFieldVisitor)(model, entity, fieldName, {
|
|
8
|
+
visitColumn: ({ column }) => {
|
|
9
|
+
return column.columnName;
|
|
10
|
+
},
|
|
11
|
+
visitManyHasOne: ({ relation }) => {
|
|
12
|
+
return relation.joiningColumn.columnName;
|
|
13
|
+
},
|
|
14
|
+
visitOneHasOneOwning: ({ relation }) => {
|
|
15
|
+
return relation.joiningColumn.columnName;
|
|
16
|
+
},
|
|
17
|
+
visitOneHasMany: () => {
|
|
18
|
+
throw new Error(`Cannot create index on 1:m relation in ${entity.name}.${fieldName}`);
|
|
19
|
+
},
|
|
20
|
+
visitOneHasOneInverse: () => {
|
|
21
|
+
throw new Error(`Cannot create index on 1:1 inverse relation in ${entity.name}.${fieldName}`);
|
|
22
|
+
},
|
|
23
|
+
visitManyHasManyOwning: () => {
|
|
24
|
+
throw new Error(`Cannot create index on m:m relation in ${entity.name}.${fieldName}`);
|
|
25
|
+
},
|
|
26
|
+
visitManyHasManyInverse: () => {
|
|
27
|
+
throw new Error(`Cannot create index on m:m inverse relation in ${entity.name}.${fieldName}`);
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
exports.getIndexColumns = getIndexColumns;
|
|
33
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/modifications/indexes/utils.ts"],"names":[],"mappings":";;;AAAA,0DAA4D;AAGrD,MAAM,eAAe,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAA4E,EAAE,EAAE;IACtI,OAAO,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;QAC7B,OAAO,IAAA,iCAAkB,EAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE;YACnD,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;gBAC3B,OAAO,MAAM,CAAC,UAAU,CAAA;YACzB,CAAC;YACD,eAAe,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;gBACjC,OAAO,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAA;YACzC,CAAC;YACD,oBAAoB,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;gBACtC,OAAO,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAA;YACzC,CAAC;YACD,eAAe,EAAE,GAAG,EAAE;gBACrB,MAAM,IAAI,KAAK,CAAC,0CAA0C,MAAM,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC,CAAA;YACtF,CAAC;YACD,qBAAqB,EAAE,GAAG,EAAE;gBAC3B,MAAM,IAAI,KAAK,CAAC,kDAAkD,MAAM,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC,CAAA;YAC9F,CAAC;YACD,sBAAsB,EAAE,GAAG,EAAE;gBAC5B,MAAM,IAAI,KAAK,CAAC,0CAA0C,MAAM,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC,CAAA;YACtF,CAAC;YACD,uBAAuB,EAAE,GAAG,EAAE;gBAC7B,MAAM,IAAI,KAAK,CAAC,kDAAkD,MAAM,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC,CAAA;YAC9F,CAAC;SACD,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;AACH,CAAC,CAAA;AA1BY,QAAA,eAAe,mBA0B3B"}
|
package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.d.ts
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { MigrationBuilder } from '@contember/database-migrations';
|
|
2
2
|
import { Model, Schema } from '@contember/schema';
|
|
3
3
|
import { SchemaUpdater } from '../utils/schemaUpdateUtils';
|
|
4
|
-
import { Differ, ModificationHandler, ModificationHandlerOptions } from '../ModificationHandler';
|
|
4
|
+
import { Differ, ModificationHandler, ModificationHandlerCreateSqlOptions, ModificationHandlerOptions } from '../ModificationHandler';
|
|
5
5
|
import { PartialManyHasManyRelation } from './normalization';
|
|
6
|
-
import { SchemaWithMeta } from '../utils/schemaMeta';
|
|
7
6
|
export declare class ConvertOneHasManyToManyHasManyRelationModificationHandler implements ModificationHandler<ConvertOneHasManyToManyHasManyRelationModificationData> {
|
|
8
7
|
private readonly data;
|
|
9
8
|
private readonly schema;
|
|
10
9
|
private readonly options;
|
|
11
10
|
private subModification;
|
|
12
|
-
constructor(data: ConvertOneHasManyToManyHasManyRelationModificationData, schema:
|
|
13
|
-
createSql(builder: MigrationBuilder): void;
|
|
11
|
+
constructor(data: ConvertOneHasManyToManyHasManyRelationModificationData, schema: Schema, options: ModificationHandlerOptions);
|
|
12
|
+
createSql(builder: MigrationBuilder, { systemSchema }: ModificationHandlerCreateSqlOptions): void;
|
|
14
13
|
getSchemaUpdater(): SchemaUpdater;
|
|
15
14
|
describe(): {
|
|
16
15
|
message: string;
|