@contember/schema-migrations 1.1.2 → 1.2.0-alpha.11
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/MigrationDescriber.d.ts +1 -2
- package/dist/src/MigrationDescriber.d.ts.map +1 -1
- package/dist/src/MigrationDescriber.js +5 -7
- package/dist/src/MigrationDescriber.js.map +1 -1
- package/dist/src/SchemaDiffer.d.ts.map +1 -1
- package/dist/src/SchemaDiffer.js +36 -46
- package/dist/src/SchemaDiffer.js.map +1 -1
- package/dist/src/SchemaMigrator.d.ts +1 -1
- package/dist/src/SchemaMigrator.d.ts.map +1 -1
- package/dist/src/index.d.ts +1 -5
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -11
- package/dist/src/index.js.map +1 -1
- package/dist/src/modifications/ModificationHandler.d.ts +11 -6
- package/dist/src/modifications/ModificationHandler.d.ts.map +1 -1
- package/dist/src/modifications/ModificationHandler.js +9 -1
- package/dist/src/modifications/ModificationHandler.js.map +1 -1
- package/dist/src/modifications/ModificationHandlerFactory.d.ts +6 -5
- package/dist/src/modifications/ModificationHandlerFactory.d.ts.map +1 -1
- package/dist/src/modifications/ModificationHandlerFactory.js +42 -37
- package/dist/src/modifications/ModificationHandlerFactory.js.map +1 -1
- package/dist/src/modifications/acl/PatchAclSchemaModification.d.ts +13 -2
- package/dist/src/modifications/acl/PatchAclSchemaModification.d.ts.map +1 -1
- package/dist/src/modifications/acl/PatchAclSchemaModification.js +28 -28
- package/dist/src/modifications/acl/PatchAclSchemaModification.js.map +1 -1
- package/dist/src/modifications/acl/UpdateAclSchemaModification.d.ts +17 -3
- package/dist/src/modifications/acl/UpdateAclSchemaModification.d.ts.map +1 -1
- package/dist/src/modifications/acl/UpdateAclSchemaModification.js +33 -30
- package/dist/src/modifications/acl/UpdateAclSchemaModification.js.map +1 -1
- package/dist/src/modifications/columns/CreateColumnModification.d.ts +23 -3
- package/dist/src/modifications/columns/CreateColumnModification.d.ts.map +1 -1
- package/dist/src/modifications/columns/CreateColumnModification.js +70 -67
- package/dist/src/modifications/columns/CreateColumnModification.js.map +1 -1
- package/dist/src/modifications/columns/UpdateColumnDefinitionModification.d.ts +21 -3
- package/dist/src/modifications/columns/UpdateColumnDefinitionModification.d.ts.map +1 -1
- package/dist/src/modifications/columns/UpdateColumnDefinitionModification.js +73 -70
- package/dist/src/modifications/columns/UpdateColumnDefinitionModification.js.map +1 -1
- package/dist/src/modifications/columns/UpdateColumnNameModification.d.ts +20 -2
- package/dist/src/modifications/columns/UpdateColumnNameModification.d.ts.map +1 -1
- package/dist/src/modifications/columns/UpdateColumnNameModification.js +97 -94
- package/dist/src/modifications/columns/UpdateColumnNameModification.js.map +1 -1
- package/dist/src/modifications/constraints/CreateUniqueConstraintModification.d.ts +21 -3
- package/dist/src/modifications/constraints/CreateUniqueConstraintModification.d.ts.map +1 -1
- package/dist/src/modifications/constraints/CreateUniqueConstraintModification.js +72 -66
- package/dist/src/modifications/constraints/CreateUniqueConstraintModification.js.map +1 -1
- package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.d.ts +18 -2
- package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.d.ts.map +1 -1
- package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.js +45 -42
- package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.js.map +1 -1
- package/dist/src/modifications/differs/ChangeViewNonViewDiffer.js +1 -1
- package/dist/src/modifications/differs/RemoveChangedFieldDiffer.js +1 -1
- package/dist/src/modifications/differs/RemoveChangedViewDiffer.js +1 -1
- package/dist/src/modifications/entities/CreateEntityModification.d.ts +21 -6
- package/dist/src/modifications/entities/CreateEntityModification.d.ts.map +1 -1
- package/dist/src/modifications/entities/CreateEntityModification.js +65 -61
- package/dist/src/modifications/entities/CreateEntityModification.js.map +1 -1
- package/dist/src/modifications/entities/CreateViewModification.d.ts +23 -6
- package/dist/src/modifications/entities/CreateViewModification.d.ts.map +1 -1
- package/dist/src/modifications/entities/CreateViewModification.js +59 -55
- package/dist/src/modifications/entities/CreateViewModification.js.map +1 -1
- package/dist/src/modifications/entities/RemoveEntityModification.d.ts +21 -2
- package/dist/src/modifications/entities/RemoveEntityModification.d.ts.map +1 -1
- package/dist/src/modifications/entities/RemoveEntityModification.js +73 -70
- package/dist/src/modifications/entities/RemoveEntityModification.js.map +1 -1
- package/dist/src/modifications/entities/ToggleEventLogModification.d.ts +19 -2
- package/dist/src/modifications/entities/ToggleEventLogModification.d.ts.map +1 -1
- package/dist/src/modifications/entities/ToggleEventLogModification.js +57 -54
- package/dist/src/modifications/entities/ToggleEventLogModification.js.map +1 -1
- package/dist/src/modifications/entities/UpdateEntityNameModification.d.ts +18 -2
- package/dist/src/modifications/entities/UpdateEntityNameModification.d.ts.map +1 -1
- package/dist/src/modifications/entities/UpdateEntityNameModification.js +78 -78
- package/dist/src/modifications/entities/UpdateEntityNameModification.js.map +1 -1
- package/dist/src/modifications/entities/UpdateEntityTableNameModification.d.ts +18 -2
- package/dist/src/modifications/entities/UpdateEntityTableNameModification.d.ts.map +1 -1
- package/dist/src/modifications/entities/UpdateEntityTableNameModification.js +40 -34
- package/dist/src/modifications/entities/UpdateEntityTableNameModification.js.map +1 -1
- package/dist/src/modifications/entities/UpdateViewModification.d.ts +15 -3
- package/dist/src/modifications/entities/UpdateViewModification.d.ts.map +1 -1
- package/dist/src/modifications/entities/UpdateViewModification.js +28 -28
- package/dist/src/modifications/entities/UpdateViewModification.js.map +1 -1
- package/dist/src/modifications/enums/CreateEnumModification.d.ts +18 -2
- package/dist/src/modifications/enums/CreateEnumModification.d.ts.map +1 -1
- package/dist/src/modifications/enums/CreateEnumModification.js +42 -36
- package/dist/src/modifications/enums/CreateEnumModification.js.map +1 -1
- package/dist/src/modifications/enums/RemoveEnumModification.d.ts +18 -2
- package/dist/src/modifications/enums/RemoveEnumModification.d.ts.map +1 -1
- package/dist/src/modifications/enums/RemoveEnumModification.js +36 -33
- package/dist/src/modifications/enums/RemoveEnumModification.js.map +1 -1
- package/dist/src/modifications/enums/UpdateEnumModification.d.ts +19 -2
- package/dist/src/modifications/enums/UpdateEnumModification.d.ts.map +1 -1
- package/dist/src/modifications/enums/UpdateEnumModification.js +43 -40
- package/dist/src/modifications/enums/UpdateEnumModification.js.map +1 -1
- package/dist/src/modifications/fields/RemoveFieldModification.d.ts +20 -2
- package/dist/src/modifications/fields/RemoveFieldModification.d.ts.map +1 -1
- package/dist/src/modifications/fields/RemoveFieldModification.js +67 -64
- package/dist/src/modifications/fields/RemoveFieldModification.js.map +1 -1
- package/dist/src/modifications/fields/UpdateFieldNameModification.d.ts +18 -2
- package/dist/src/modifications/fields/UpdateFieldNameModification.d.ts.map +1 -1
- package/dist/src/modifications/fields/UpdateFieldNameModification.js +132 -132
- package/dist/src/modifications/fields/UpdateFieldNameModification.js.map +1 -1
- package/dist/src/modifications/index.d.ts +14 -0
- package/dist/src/modifications/index.d.ts.map +1 -0
- package/dist/src/modifications/index.js +32 -0
- package/dist/src/modifications/index.js.map +1 -0
- package/dist/src/modifications/indexes/CreateIndexModification.d.ts +23 -0
- package/dist/src/modifications/indexes/CreateIndexModification.d.ts.map +1 -0
- package/dist/src/modifications/indexes/CreateIndexModification.js +75 -0
- package/dist/src/modifications/indexes/CreateIndexModification.js.map +1 -0
- package/dist/src/modifications/indexes/RemoveIndexModification.d.ts +23 -0
- package/dist/src/modifications/indexes/RemoveIndexModification.d.ts.map +1 -0
- package/dist/src/modifications/indexes/RemoveIndexModification.js +56 -0
- package/dist/src/modifications/indexes/RemoveIndexModification.js.map +1 -0
- package/dist/src/modifications/indexes/index.d.ts +3 -0
- package/dist/src/modifications/indexes/index.d.ts.map +1 -0
- package/dist/src/modifications/indexes/index.js +19 -0
- package/dist/src/modifications/indexes/index.js.map +1 -0
- package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.d.ts +23 -3
- package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.d.ts.map +1 -1
- package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.js +68 -65
- package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.js.map +1 -1
- package/dist/src/modifications/relations/ConvertOneToManyRelationModification.d.ts +23 -2
- package/dist/src/modifications/relations/ConvertOneToManyRelationModification.d.ts.map +1 -1
- package/dist/src/modifications/relations/ConvertOneToManyRelationModification.js +73 -70
- package/dist/src/modifications/relations/ConvertOneToManyRelationModification.js.map +1 -1
- package/dist/src/modifications/relations/CreateRelationInverseSideModification.d.ts +20 -3
- package/dist/src/modifications/relations/CreateRelationInverseSideModification.d.ts.map +1 -1
- package/dist/src/modifications/relations/CreateRelationInverseSideModification.js +36 -33
- package/dist/src/modifications/relations/CreateRelationInverseSideModification.js.map +1 -1
- package/dist/src/modifications/relations/CreateRelationModification.d.ts +25 -3
- package/dist/src/modifications/relations/CreateRelationModification.d.ts.map +1 -1
- package/dist/src/modifications/relations/CreateRelationModification.js +88 -85
- package/dist/src/modifications/relations/CreateRelationModification.js.map +1 -1
- package/dist/src/modifications/relations/DisableOrphanRemovalModification.d.ts +20 -2
- package/dist/src/modifications/relations/DisableOrphanRemovalModification.d.ts.map +1 -1
- package/dist/src/modifications/relations/DisableOrphanRemovalModification.js +42 -39
- package/dist/src/modifications/relations/DisableOrphanRemovalModification.js.map +1 -1
- package/dist/src/modifications/relations/EnableOrphanRemovalModification.d.ts +20 -2
- package/dist/src/modifications/relations/EnableOrphanRemovalModification.d.ts.map +1 -1
- package/dist/src/modifications/relations/EnableOrphanRemovalModification.js +45 -42
- package/dist/src/modifications/relations/EnableOrphanRemovalModification.js.map +1 -1
- package/dist/src/modifications/relations/MakeRelationNotNullModification.d.ts +21 -2
- package/dist/src/modifications/relations/MakeRelationNotNullModification.d.ts.map +1 -1
- package/dist/src/modifications/relations/MakeRelationNotNullModification.js +55 -52
- package/dist/src/modifications/relations/MakeRelationNotNullModification.js.map +1 -1
- package/dist/src/modifications/relations/MakeRelationNullableModification.d.ts +20 -2
- package/dist/src/modifications/relations/MakeRelationNullableModification.d.ts.map +1 -1
- package/dist/src/modifications/relations/MakeRelationNullableModification.js +54 -51
- package/dist/src/modifications/relations/MakeRelationNullableModification.js.map +1 -1
- package/dist/src/modifications/relations/ToggleJunctionEventLogModification.d.ts +27 -0
- package/dist/src/modifications/relations/ToggleJunctionEventLogModification.d.ts.map +1 -0
- package/dist/src/modifications/relations/ToggleJunctionEventLogModification.js +84 -0
- package/dist/src/modifications/relations/ToggleJunctionEventLogModification.js.map +1 -0
- package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.d.ts +20 -3
- package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.d.ts.map +1 -1
- package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.js +42 -39
- package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.js.map +1 -1
- package/dist/src/modifications/relations/UpdateRelationOrderByModification.d.ts +20 -3
- package/dist/src/modifications/relations/UpdateRelationOrderByModification.d.ts.map +1 -1
- package/dist/src/modifications/relations/UpdateRelationOrderByModification.js +43 -40
- package/dist/src/modifications/relations/UpdateRelationOrderByModification.js.map +1 -1
- package/dist/src/modifications/relations/index.d.ts +1 -1
- package/dist/src/modifications/relations/index.d.ts.map +1 -1
- package/dist/src/modifications/relations/index.js +1 -1
- package/dist/src/modifications/relations/index.js.map +1 -1
- package/dist/src/modifications/validation/PatchValidationSchemaModification.d.ts +13 -2
- package/dist/src/modifications/validation/PatchValidationSchemaModification.d.ts.map +1 -1
- package/dist/src/modifications/validation/PatchValidationSchemaModification.js +28 -28
- package/dist/src/modifications/validation/PatchValidationSchemaModification.js.map +1 -1
- package/dist/src/modifications/validation/UpdateValidationSchemaModification.d.ts +17 -3
- package/dist/src/modifications/validation/UpdateValidationSchemaModification.d.ts.map +1 -1
- package/dist/src/modifications/validation/UpdateValidationSchemaModification.js +33 -30
- package/dist/src/modifications/validation/UpdateValidationSchemaModification.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/src/utils/PartialEntity.d.ts +5 -0
- package/dist/src/utils/PartialEntity.d.ts.map +1 -0
- package/dist/src/utils/PartialEntity.js +3 -0
- package/dist/src/utils/PartialEntity.js.map +1 -0
- package/dist/tests/cases/integration/createAndDropIndex.test.d.ts +2 -0
- package/dist/tests/cases/integration/createAndDropIndex.test.d.ts.map +1 -0
- package/dist/tests/cases/integration/createAndDropIndex.test.js +57 -0
- package/dist/tests/cases/integration/createAndDropIndex.test.js.map +1 -0
- package/dist/tests/cases/integration/createEntity.test.js +2 -0
- package/dist/tests/cases/integration/createEntity.test.js.map +1 -1
- package/dist/tests/cases/integration/createManyHasMany.test.js +1 -0
- package/dist/tests/cases/integration/createManyHasMany.test.js.map +1 -1
- package/dist/tests/cases/integration/createManyHasOne.test.js +1 -0
- package/dist/tests/cases/integration/createManyHasOne.test.js.map +1 -1
- package/dist/tests/cases/integration/createOneHasMany.test.js +1 -0
- package/dist/tests/cases/integration/createOneHasMany.test.js.map +1 -1
- package/dist/tests/cases/integration/createOneHasOne.test.js +2 -0
- package/dist/tests/cases/integration/createOneHasOne.test.js.map +1 -1
- package/dist/tests/cases/integration/createView.test.js +1 -0
- package/dist/tests/cases/integration/createView.test.js.map +1 -1
- package/dist/tests/cases/integration/updateView.test.js +9 -0
- package/dist/tests/cases/integration/updateView.test.js.map +1 -1
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -7
- package/src/MigrationDescriber.ts +8 -8
- package/src/SchemaDiffer.ts +65 -76
- package/src/SchemaMigrator.ts +1 -1
- package/src/index.ts +1 -5
- package/src/modifications/ModificationHandler.ts +20 -8
- package/src/modifications/ModificationHandlerFactory.ts +65 -61
- package/src/modifications/acl/PatchAclSchemaModification.ts +7 -8
- package/src/modifications/acl/UpdateAclSchemaModification.ts +16 -15
- package/src/modifications/columns/CreateColumnModification.ts +18 -16
- package/src/modifications/columns/UpdateColumnDefinitionModification.ts +27 -25
- package/src/modifications/columns/UpdateColumnNameModification.ts +60 -53
- package/src/modifications/constraints/CreateUniqueConstraintModification.ts +23 -17
- package/src/modifications/constraints/RemoveUniqueConstraintModification.ts +18 -14
- package/src/modifications/differs/ChangeViewNonViewDiffer.ts +2 -2
- package/src/modifications/differs/RemoveChangedFieldDiffer.ts +2 -2
- package/src/modifications/differs/RemoveChangedViewDiffer.ts +2 -2
- package/src/modifications/entities/CreateEntityModification.ts +19 -11
- package/src/modifications/entities/CreateViewModification.ts +13 -11
- package/src/modifications/entities/RemoveEntityModification.ts +22 -15
- package/src/modifications/entities/ToggleEventLogModification.ts +20 -13
- package/src/modifications/entities/UpdateEntityNameModification.ts +9 -9
- package/src/modifications/entities/UpdateEntityTableNameModification.ts +18 -13
- package/src/modifications/entities/UpdateViewModification.ts +7 -7
- package/src/modifications/enums/CreateEnumModification.ts +18 -13
- package/src/modifications/enums/RemoveEnumModification.ts +14 -12
- package/src/modifications/enums/UpdateEnumModification.ts +15 -13
- package/src/modifications/fields/RemoveFieldModification.ts +20 -17
- package/src/modifications/fields/UpdateFieldNameModification.ts +16 -17
- package/src/modifications/index.ts +13 -0
- package/src/modifications/indexes/CreateIndexModification.ts +83 -0
- package/src/modifications/indexes/RemoveIndexModification.ts +68 -0
- package/src/modifications/indexes/index.ts +2 -0
- package/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.ts +35 -25
- package/src/modifications/relations/ConvertOneToManyRelationModification.ts +31 -24
- package/src/modifications/relations/CreateRelationInverseSideModification.ts +15 -13
- package/src/modifications/relations/CreateRelationModification.ts +35 -27
- package/src/modifications/relations/DisableOrphanRemovalModification.ts +15 -12
- package/src/modifications/relations/EnableOrphanRemovalModification.ts +16 -13
- package/src/modifications/relations/MakeRelationNotNullModification.ts +16 -14
- package/src/modifications/relations/MakeRelationNullableModification.ts +17 -13
- package/src/modifications/relations/{ToggleManyHasManyEventLogModification.ts → ToggleJunctionEventLogModification.ts} +21 -14
- package/src/modifications/relations/UpdateRelationOnDeleteModification.ts +16 -14
- package/src/modifications/relations/UpdateRelationOrderByModification.ts +17 -14
- package/src/modifications/relations/index.ts +1 -1
- package/src/modifications/validation/PatchValidationSchemaModification.ts +7 -7
- package/src/modifications/validation/UpdateValidationSchemaModification.ts +17 -14
- package/src/utils/PartialEntity.ts +5 -0
- package/tests/cases/integration/createAndDropIndex.test.ts +44 -0
- package/tests/cases/integration/createEntity.test.ts +2 -0
- package/tests/cases/integration/createManyHasMany.test.ts +1 -0
- package/tests/cases/integration/createManyHasOne.test.ts +1 -0
- package/tests/cases/integration/createOneHasMany.test.ts +1 -0
- package/tests/cases/integration/createOneHasOne.test.ts +2 -0
- package/tests/cases/integration/createView.test.ts +1 -0
- package/tests/cases/integration/updateView.test.ts +9 -0
- package/dist/src/modifications/relations/ToggleManyHasManyEventLogModification.d.ts +0 -8
- package/dist/src/modifications/relations/ToggleManyHasManyEventLogModification.d.ts.map +0 -1
- package/dist/src/modifications/relations/ToggleManyHasManyEventLogModification.js +0 -81
- package/dist/src/modifications/relations/ToggleManyHasManyEventLogModification.js.map +0 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { MigrationBuilder } from '@contember/database-migrations'
|
|
2
2
|
import { Model, Schema } from '@contember/schema'
|
|
3
3
|
import { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils'
|
|
4
|
-
import {
|
|
4
|
+
import { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'
|
|
5
5
|
import deepEqual from 'fast-deep-equal'
|
|
6
6
|
import { updateRelations } from '../utils/diffUtils'
|
|
7
7
|
|
|
8
|
-
export
|
|
9
|
-
|
|
8
|
+
export class UpdateRelationOrderByModificationHandler implements ModificationHandler<UpdateRelationOrderByModificationData> {
|
|
9
|
+
|
|
10
10
|
constructor(private readonly data: UpdateRelationOrderByModificationData, private readonly schema: Schema) {}
|
|
11
11
|
|
|
12
12
|
public createSql(builder: MigrationBuilder): void {}
|
|
@@ -27,12 +27,21 @@ export const UpdateRelationOrderByModification: ModificationHandlerStatic<Update
|
|
|
27
27
|
describe() {
|
|
28
28
|
return { message: `Update order-by of relation ${this.data.entityName}.${this.data.fieldName}` }
|
|
29
29
|
}
|
|
30
|
+
}
|
|
30
31
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
export interface UpdateRelationOrderByModificationData {
|
|
33
|
+
entityName: string
|
|
34
|
+
fieldName: string
|
|
35
|
+
orderBy: readonly Model.OrderBy[]
|
|
36
|
+
}
|
|
34
37
|
|
|
35
|
-
|
|
38
|
+
export const updateRelationOrderByModification = createModificationType({
|
|
39
|
+
id: 'updateRelationOrderBy',
|
|
40
|
+
handler: UpdateRelationOrderByModificationHandler,
|
|
41
|
+
})
|
|
42
|
+
|
|
43
|
+
export class UpdateRelationOrderByDiffer implements Differ {
|
|
44
|
+
createDiff(originalSchema: Schema, updatedSchema: Schema) {
|
|
36
45
|
return updateRelations(originalSchema, updatedSchema, ({ updatedRelation, originalRelation, updatedEntity }) => {
|
|
37
46
|
const isItOrderable = (relation: Model.AnyRelation): relation is Model.OrderableRelation & Model.AnyRelation =>
|
|
38
47
|
relation.type === Model.RelationType.ManyHasMany || relation.type === Model.RelationType.OneHasMany
|
|
@@ -42,7 +51,7 @@ export const UpdateRelationOrderByModification: ModificationHandlerStatic<Update
|
|
|
42
51
|
isItOrderable(originalRelation) &&
|
|
43
52
|
!deepEqual(updatedRelation.orderBy || [], originalRelation.orderBy || [])
|
|
44
53
|
) {
|
|
45
|
-
return
|
|
54
|
+
return updateRelationOrderByModification.createModification({
|
|
46
55
|
entityName: updatedEntity.name,
|
|
47
56
|
fieldName: updatedRelation.name,
|
|
48
57
|
orderBy: updatedRelation.orderBy || [],
|
|
@@ -52,9 +61,3 @@ export const UpdateRelationOrderByModification: ModificationHandlerStatic<Update
|
|
|
52
61
|
})
|
|
53
62
|
}
|
|
54
63
|
}
|
|
55
|
-
|
|
56
|
-
export interface UpdateRelationOrderByModificationData {
|
|
57
|
-
entityName: string
|
|
58
|
-
fieldName: string
|
|
59
|
-
orderBy: readonly Model.OrderBy[]
|
|
60
|
-
}
|
|
@@ -6,6 +6,6 @@ export * from './DisableOrphanRemovalModification'
|
|
|
6
6
|
export * from './EnableOrphanRemovalModification'
|
|
7
7
|
export * from './MakeRelationNotNullModification'
|
|
8
8
|
export * from './MakeRelationNullableModification'
|
|
9
|
-
export * from './
|
|
9
|
+
export * from './ToggleJunctionEventLogModification'
|
|
10
10
|
export * from './UpdateRelationOnDeleteModification'
|
|
11
11
|
export * from './UpdateRelationOrderByModification'
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { MigrationBuilder } from '@contember/database-migrations'
|
|
2
2
|
import { SchemaUpdater } from '../utils/schemaUpdateUtils'
|
|
3
|
-
import {
|
|
3
|
+
import { createModificationType, ModificationHandler } from '../ModificationHandler'
|
|
4
4
|
import { applyPatch, Operation } from 'rfc6902'
|
|
5
5
|
import deepCopy from '../../utils/deepCopy'
|
|
6
6
|
|
|
7
|
-
export
|
|
8
|
-
static id = 'patchValidationSchema'
|
|
7
|
+
export class PatchValidationSchemaModificationHandler implements ModificationHandler<PatchValidationSchemaModificationData> {
|
|
9
8
|
constructor(private readonly data: PatchValidationSchemaModificationData) {}
|
|
10
9
|
|
|
11
10
|
public createSql(builder: MigrationBuilder): void {}
|
|
@@ -28,12 +27,13 @@ export const PatchValidationSchemaModification: ModificationHandlerStatic<PatchV
|
|
|
28
27
|
describe() {
|
|
29
28
|
return { message: 'Update validation schema' }
|
|
30
29
|
}
|
|
31
|
-
|
|
32
|
-
static createModification(data: PatchValidationSchemaModificationData) {
|
|
33
|
-
return { modification: this.id, ...data }
|
|
34
|
-
}
|
|
35
30
|
}
|
|
36
31
|
|
|
37
32
|
export interface PatchValidationSchemaModificationData {
|
|
38
33
|
patch: Operation[]
|
|
39
34
|
}
|
|
35
|
+
|
|
36
|
+
export const patchValidationSchemaModification = createModificationType({
|
|
37
|
+
id: 'patchValidationSchema',
|
|
38
|
+
handler: PatchValidationSchemaModificationHandler,
|
|
39
|
+
})
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { MigrationBuilder } from '@contember/database-migrations'
|
|
2
2
|
import { Schema, Validation } from '@contember/schema'
|
|
3
3
|
import { SchemaUpdater } from '../utils/schemaUpdateUtils'
|
|
4
|
-
import {
|
|
4
|
+
import { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'
|
|
5
5
|
import deepEqual from 'fast-deep-equal'
|
|
6
6
|
import { createPatch } from 'rfc6902'
|
|
7
|
-
import {
|
|
7
|
+
import { patchValidationSchemaModification } from './PatchValidationSchemaModification'
|
|
8
8
|
|
|
9
|
-
export
|
|
10
|
-
static id = 'updateValidationSchema'
|
|
9
|
+
export class UpdateValidationSchemaModificationHandler implements ModificationHandler<UpdateValidationSchemaModificationData> {
|
|
11
10
|
constructor(private readonly data: UpdateValidationSchemaModificationData) {}
|
|
12
11
|
|
|
13
12
|
public createSql(builder: MigrationBuilder): void {}
|
|
@@ -23,22 +22,26 @@ export const UpdateValidationSchemaModification: ModificationHandlerStatic<Updat
|
|
|
23
22
|
return { message: 'Update validation schema' }
|
|
24
23
|
}
|
|
25
24
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export interface UpdateValidationSchemaModificationData {
|
|
28
|
+
schema: Validation.Schema
|
|
29
|
+
}
|
|
29
30
|
|
|
30
|
-
|
|
31
|
+
export const updateValidationSchemaModification = createModificationType({
|
|
32
|
+
id: 'updateValidationSchema',
|
|
33
|
+
handler: UpdateValidationSchemaModificationHandler,
|
|
34
|
+
})
|
|
35
|
+
|
|
36
|
+
export class UpdateValidationSchemaDiffer implements Differ {
|
|
37
|
+
createDiff(originalSchema: Schema, updatedSchema: Schema) {
|
|
31
38
|
if (deepEqual(originalSchema.validation, updatedSchema.validation)) {
|
|
32
39
|
return []
|
|
33
40
|
}
|
|
34
41
|
const patch = createPatch(originalSchema.validation, updatedSchema.validation)
|
|
35
42
|
if (patch.length <= 20) {
|
|
36
|
-
return [
|
|
43
|
+
return [patchValidationSchemaModification.createModification({ patch })]
|
|
37
44
|
}
|
|
38
|
-
return [
|
|
45
|
+
return [updateValidationSchemaModification.createModification({ schema: updatedSchema.validation })]
|
|
39
46
|
}
|
|
40
47
|
}
|
|
41
|
-
|
|
42
|
-
export interface UpdateValidationSchemaModificationData {
|
|
43
|
-
schema: Validation.Schema
|
|
44
|
-
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { testMigrations } from '../../src/tests'
|
|
2
|
+
import { SQL } from '../../src/tags'
|
|
3
|
+
import { SchemaDefinition as def } from '@contember/schema-definition'
|
|
4
|
+
|
|
5
|
+
namespace SchemaWithoutIndex {
|
|
6
|
+
export class Article {
|
|
7
|
+
title = def.stringColumn()
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
namespace SchemaWithIndex {
|
|
12
|
+
@def.Index('title')
|
|
13
|
+
export class Article {
|
|
14
|
+
title = def.stringColumn()
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
testMigrations('create index', {
|
|
20
|
+
originalSchema: def.createModel(SchemaWithoutIndex),
|
|
21
|
+
updatedSchema: def.createModel(SchemaWithIndex),
|
|
22
|
+
diff: [
|
|
23
|
+
{
|
|
24
|
+
modification: 'createIndex',
|
|
25
|
+
entityName: 'Article',
|
|
26
|
+
index: { name: 'idx_Article_title_2dc66a', fields: ['title'] },
|
|
27
|
+
},
|
|
28
|
+
],
|
|
29
|
+
sql: SQL`CREATE INDEX "idx_Article_title_2dc66a" ON "article" ("title");`,
|
|
30
|
+
})
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
testMigrations('drop index', {
|
|
34
|
+
originalSchema: def.createModel(SchemaWithIndex),
|
|
35
|
+
updatedSchema: def.createModel(SchemaWithoutIndex),
|
|
36
|
+
diff: [
|
|
37
|
+
{
|
|
38
|
+
modification: 'removeIndex',
|
|
39
|
+
entityName: 'Article',
|
|
40
|
+
indexName: 'idx_Article_title_2dc66a',
|
|
41
|
+
},
|
|
42
|
+
],
|
|
43
|
+
sql: SQL`DROP INDEX "idx_Article_title_2dc66a";`,
|
|
44
|
+
})
|
|
@@ -35,6 +35,7 @@ testMigrations('create a table (no relations, unique on column)', {
|
|
|
35
35
|
eventLog: {
|
|
36
36
|
enabled: true,
|
|
37
37
|
},
|
|
38
|
+
indexes: {},
|
|
38
39
|
},
|
|
39
40
|
},
|
|
40
41
|
{
|
|
@@ -141,6 +142,7 @@ testMigrations('create a view', {
|
|
|
141
142
|
eventLog: {
|
|
142
143
|
enabled: true,
|
|
143
144
|
},
|
|
145
|
+
indexes: {},
|
|
144
146
|
},
|
|
145
147
|
},
|
|
146
148
|
],
|
|
@@ -34,6 +34,7 @@ testMigrations('create one has one relation (site with settings)', {
|
|
|
34
34
|
eventLog: {
|
|
35
35
|
enabled: true,
|
|
36
36
|
},
|
|
37
|
+
indexes: {},
|
|
37
38
|
},
|
|
38
39
|
},
|
|
39
40
|
{
|
|
@@ -56,6 +57,7 @@ testMigrations('create one has one relation (site with settings)', {
|
|
|
56
57
|
eventLog: {
|
|
57
58
|
enabled: true,
|
|
58
59
|
},
|
|
60
|
+
indexes: {},
|
|
59
61
|
},
|
|
60
62
|
},
|
|
61
63
|
{
|
|
@@ -83,6 +83,7 @@ testMigrations('update a view 1', {
|
|
|
83
83
|
eventLog: {
|
|
84
84
|
enabled: true,
|
|
85
85
|
},
|
|
86
|
+
indexes: {},
|
|
86
87
|
},
|
|
87
88
|
},
|
|
88
89
|
{
|
|
@@ -118,6 +119,7 @@ testMigrations('update a view 1', {
|
|
|
118
119
|
eventLog: {
|
|
119
120
|
enabled: true,
|
|
120
121
|
},
|
|
122
|
+
indexes: {},
|
|
121
123
|
},
|
|
122
124
|
},
|
|
123
125
|
{
|
|
@@ -153,6 +155,7 @@ testMigrations('update a view 1', {
|
|
|
153
155
|
eventLog: {
|
|
154
156
|
enabled: true,
|
|
155
157
|
},
|
|
158
|
+
indexes: {},
|
|
156
159
|
},
|
|
157
160
|
},
|
|
158
161
|
],
|
|
@@ -227,6 +230,7 @@ testMigrations('update a view 2', {
|
|
|
227
230
|
eventLog: {
|
|
228
231
|
enabled: true,
|
|
229
232
|
},
|
|
233
|
+
indexes: {},
|
|
230
234
|
},
|
|
231
235
|
},
|
|
232
236
|
{
|
|
@@ -262,6 +266,7 @@ testMigrations('update a view 2', {
|
|
|
262
266
|
eventLog: {
|
|
263
267
|
enabled: true,
|
|
264
268
|
},
|
|
269
|
+
indexes: {},
|
|
265
270
|
},
|
|
266
271
|
},
|
|
267
272
|
],
|
|
@@ -331,6 +336,7 @@ testMigrations('update a view 3', {
|
|
|
331
336
|
eventLog: {
|
|
332
337
|
enabled: true,
|
|
333
338
|
},
|
|
339
|
+
indexes: {},
|
|
334
340
|
},
|
|
335
341
|
},
|
|
336
342
|
],
|
|
@@ -402,6 +408,7 @@ testMigrations('update a view 4', {
|
|
|
402
408
|
eventLog: {
|
|
403
409
|
enabled: true,
|
|
404
410
|
},
|
|
411
|
+
indexes: {},
|
|
405
412
|
},
|
|
406
413
|
},
|
|
407
414
|
{
|
|
@@ -437,6 +444,7 @@ testMigrations('update a view 4', {
|
|
|
437
444
|
eventLog: {
|
|
438
445
|
enabled: true,
|
|
439
446
|
},
|
|
447
|
+
indexes: {},
|
|
440
448
|
},
|
|
441
449
|
},
|
|
442
450
|
{
|
|
@@ -472,6 +480,7 @@ testMigrations('update a view 4', {
|
|
|
472
480
|
eventLog: {
|
|
473
481
|
enabled: true,
|
|
474
482
|
},
|
|
483
|
+
indexes: {},
|
|
475
484
|
},
|
|
476
485
|
},
|
|
477
486
|
],
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ModificationHandlerStatic } from '../ModificationHandler';
|
|
2
|
-
export declare const ToggleJunctionEventLogModification: ModificationHandlerStatic<ToggleJunctionEventLogModificationData>;
|
|
3
|
-
export interface ToggleJunctionEventLogModificationData {
|
|
4
|
-
entityName: string;
|
|
5
|
-
fieldName: string;
|
|
6
|
-
enabled: boolean;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=ToggleManyHasManyEventLogModification.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ToggleManyHasManyEventLogModification.d.ts","sourceRoot":"","sources":["../../../../src/modifications/relations/ToggleManyHasManyEventLogModification.ts"],"names":[],"mappings":"AAGA,OAAO,EAA8B,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAW9F,eAAO,MAAM,kCAAkC,EAAE,yBAAyB,CAAC,sCAAsC,CAiFhH,CAAA;AAED,MAAM,WAAW,sCAAsC;IACtD,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;CAChB"}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var _a;
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.ToggleJunctionEventLogModification = void 0;
|
|
5
|
-
const schema_1 = require("@contember/schema");
|
|
6
|
-
const schemaUpdateUtils_1 = require("../utils/schemaUpdateUtils");
|
|
7
|
-
const sqlUpdateUtils_1 = require("../utils/sqlUpdateUtils");
|
|
8
|
-
const schema_utils_1 = require("@contember/schema-utils");
|
|
9
|
-
const diffUtils_1 = require("../utils/diffUtils");
|
|
10
|
-
const isIt_1 = require("../../utils/isIt");
|
|
11
|
-
exports.ToggleJunctionEventLogModification = (_a = class {
|
|
12
|
-
constructor(data, schema, options) {
|
|
13
|
-
this.data = data;
|
|
14
|
-
this.schema = schema;
|
|
15
|
-
this.options = options;
|
|
16
|
-
}
|
|
17
|
-
createSql(builder) {
|
|
18
|
-
const entity = this.schema.model.entities[this.data.entityName];
|
|
19
|
-
const relation = entity.fields[this.data.fieldName];
|
|
20
|
-
if (!(0, schema_utils_1.isRelation)(relation) || relation.type !== schema_1.Model.RelationType.ManyHasMany || !(0, schema_utils_1.isOwningRelation)(relation)) {
|
|
21
|
-
throw new Error('invalid field');
|
|
22
|
-
}
|
|
23
|
-
const tableName = relation.joiningTable.tableName;
|
|
24
|
-
if (this.data.enabled) {
|
|
25
|
-
const primaryColumns = [
|
|
26
|
-
relation.joiningTable.joiningColumn.columnName,
|
|
27
|
-
relation.joiningTable.inverseJoiningColumn.columnName,
|
|
28
|
-
];
|
|
29
|
-
(0, sqlUpdateUtils_1.createEventTrigger)(builder, this.options.systemSchema, tableName, primaryColumns);
|
|
30
|
-
(0, sqlUpdateUtils_1.createEventTrxTrigger)(builder, this.options.systemSchema, tableName);
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
(0, sqlUpdateUtils_1.dropEventTrigger)(builder, tableName);
|
|
34
|
-
(0, sqlUpdateUtils_1.dropEventTrxTrigger)(builder, tableName);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
getSchemaUpdater() {
|
|
38
|
-
const { entityName, fieldName, enabled } = this.data;
|
|
39
|
-
return (0, schemaUpdateUtils_1.updateModel)((0, schemaUpdateUtils_1.updateEntity)(entityName, (0, schemaUpdateUtils_1.updateField)(fieldName, ({ field: { joiningTable: { eventLog, ...joiningTable }, ...field } }) => {
|
|
40
|
-
return {
|
|
41
|
-
...field,
|
|
42
|
-
joiningTable: {
|
|
43
|
-
...joiningTable,
|
|
44
|
-
eventLog: {
|
|
45
|
-
enabled,
|
|
46
|
-
},
|
|
47
|
-
},
|
|
48
|
-
};
|
|
49
|
-
})));
|
|
50
|
-
}
|
|
51
|
-
describe() {
|
|
52
|
-
return {
|
|
53
|
-
message: `${this.data.enabled ? 'Enable' : 'Disable'} event log for ${this.data.entityName}.${this.data.fieldName}`,
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
static createModification(data) {
|
|
57
|
-
return { modification: this.id, ...data };
|
|
58
|
-
}
|
|
59
|
-
static createDiff(originalSchema, updatedSchema) {
|
|
60
|
-
return (0, diffUtils_1.updateRelations)(originalSchema, updatedSchema, ({ originalRelation, updatedRelation, updatedEntity }) => {
|
|
61
|
-
var _a, _b, _c, _d;
|
|
62
|
-
if (originalRelation.type === updatedRelation.type &&
|
|
63
|
-
(0, isIt_1.isIt)(updatedRelation, 'joiningTable') &&
|
|
64
|
-
(0, isIt_1.isIt)(originalRelation, 'joiningTable')) {
|
|
65
|
-
const newValue = (_b = (_a = updatedRelation.joiningTable.eventLog) === null || _a === void 0 ? void 0 : _a.enabled) !== null && _b !== void 0 ? _b : false;
|
|
66
|
-
const oldValue = (_d = (_c = originalRelation.joiningTable.eventLog) === null || _c === void 0 ? void 0 : _c.enabled) !== null && _d !== void 0 ? _d : false;
|
|
67
|
-
if (newValue !== oldValue) {
|
|
68
|
-
return exports.ToggleJunctionEventLogModification.createModification({
|
|
69
|
-
entityName: updatedEntity.name,
|
|
70
|
-
fieldName: updatedRelation.name,
|
|
71
|
-
enabled: newValue,
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
return undefined;
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
},
|
|
79
|
-
_a.id = 'toggleJunctionEventLog',
|
|
80
|
-
_a);
|
|
81
|
-
//# sourceMappingURL=ToggleManyHasManyEventLogModification.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ToggleManyHasManyEventLogModification.js","sourceRoot":"","sources":["../../../../src/modifications/relations/ToggleManyHasManyEventLogModification.ts"],"names":[],"mappings":"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"}
|