@contember/schema-migrations 0.12.0-beta.2 → 1.0.0-alpha.0

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.
Files changed (222) hide show
  1. package/dist/src/MigrationCreator.d.ts.map +1 -1
  2. package/dist/src/MigrationCreator.js.map +1 -1
  3. package/dist/src/MigrationDescriber.js +1 -1
  4. package/dist/src/MigrationDescriber.js.map +1 -1
  5. package/dist/src/MigrationFilesManager.js +12 -12
  6. package/dist/src/MigrationFilesManager.js.map +1 -1
  7. package/dist/src/SchemaDiffer.d.ts.map +1 -1
  8. package/dist/src/SchemaDiffer.js +5 -4
  9. package/dist/src/SchemaDiffer.js.map +1 -1
  10. package/dist/src/modifications/ModificationHandler.d.ts +0 -2
  11. package/dist/src/modifications/ModificationHandler.d.ts.map +1 -1
  12. package/dist/src/modifications/ModificationHandler.js.map +1 -1
  13. package/dist/src/modifications/ModificationHandlerFactory.d.ts.map +1 -1
  14. package/dist/src/modifications/ModificationHandlerFactory.js +1 -0
  15. package/dist/src/modifications/ModificationHandlerFactory.js.map +1 -1
  16. package/dist/src/modifications/NoopModification.d.ts +0 -2
  17. package/dist/src/modifications/NoopModification.d.ts.map +1 -1
  18. package/dist/src/modifications/NoopModification.js +0 -3
  19. package/dist/src/modifications/NoopModification.js.map +1 -1
  20. package/dist/src/modifications/acl/PatchAclSchemaModification.d.ts.map +1 -1
  21. package/dist/src/modifications/acl/PatchAclSchemaModification.js +2 -5
  22. package/dist/src/modifications/acl/PatchAclSchemaModification.js.map +1 -1
  23. package/dist/src/modifications/acl/UpdateAclSchemaModification.d.ts.map +1 -1
  24. package/dist/src/modifications/acl/UpdateAclSchemaModification.js +2 -5
  25. package/dist/src/modifications/acl/UpdateAclSchemaModification.js.map +1 -1
  26. package/dist/src/modifications/columns/CreateColumnModification.d.ts.map +1 -1
  27. package/dist/src/modifications/columns/CreateColumnModification.js +9 -44
  28. package/dist/src/modifications/columns/CreateColumnModification.js.map +1 -1
  29. package/dist/src/modifications/columns/UpdateColumnDefinitionModification.d.ts.map +1 -1
  30. package/dist/src/modifications/columns/UpdateColumnDefinitionModification.js +3 -6
  31. package/dist/src/modifications/columns/UpdateColumnDefinitionModification.js.map +1 -1
  32. package/dist/src/modifications/columns/UpdateColumnNameModification.d.ts.map +1 -1
  33. package/dist/src/modifications/columns/UpdateColumnNameModification.js +2 -18
  34. package/dist/src/modifications/columns/UpdateColumnNameModification.js.map +1 -1
  35. package/dist/src/modifications/constraints/CreateUniqueConstraintModification.d.ts.map +1 -1
  36. package/dist/src/modifications/constraints/CreateUniqueConstraintModification.js +2 -5
  37. package/dist/src/modifications/constraints/CreateUniqueConstraintModification.js.map +1 -1
  38. package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.d.ts.map +1 -1
  39. package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.js +2 -5
  40. package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.js.map +1 -1
  41. package/dist/src/modifications/differs/RemoveChangedFieldDiffer.js +2 -2
  42. package/dist/src/modifications/differs/RemoveChangedFieldDiffer.js.map +1 -1
  43. package/dist/src/modifications/entities/CreateEntityModification.d.ts.map +1 -1
  44. package/dist/src/modifications/entities/CreateEntityModification.js +3 -6
  45. package/dist/src/modifications/entities/CreateEntityModification.js.map +1 -1
  46. package/dist/src/modifications/entities/RemoveEntityModification.d.ts.map +1 -1
  47. package/dist/src/modifications/entities/RemoveEntityModification.js +18 -15
  48. package/dist/src/modifications/entities/RemoveEntityModification.js.map +1 -1
  49. package/dist/src/modifications/entities/UpdateEntityNameModification.d.ts.map +1 -1
  50. package/dist/src/modifications/entities/UpdateEntityNameModification.js +7 -11
  51. package/dist/src/modifications/entities/UpdateEntityNameModification.js.map +1 -1
  52. package/dist/src/modifications/entities/UpdateEntityTableNameModification.d.ts.map +1 -1
  53. package/dist/src/modifications/entities/UpdateEntityTableNameModification.js +1 -10
  54. package/dist/src/modifications/entities/UpdateEntityTableNameModification.js.map +1 -1
  55. package/dist/src/modifications/entities/UpdateViewModification.d.ts.map +1 -1
  56. package/dist/src/modifications/entities/UpdateViewModification.js +3 -7
  57. package/dist/src/modifications/entities/UpdateViewModification.js.map +1 -1
  58. package/dist/src/modifications/enums/CreateEnumModification.d.ts.map +1 -1
  59. package/dist/src/modifications/enums/CreateEnumModification.js +3 -6
  60. package/dist/src/modifications/enums/CreateEnumModification.js.map +1 -1
  61. package/dist/src/modifications/enums/RemoveEnumModification.d.ts.map +1 -1
  62. package/dist/src/modifications/enums/RemoveEnumModification.js +1 -4
  63. package/dist/src/modifications/enums/RemoveEnumModification.js.map +1 -1
  64. package/dist/src/modifications/enums/UpdateEnumModification.d.ts.map +1 -1
  65. package/dist/src/modifications/enums/UpdateEnumModification.js +4 -7
  66. package/dist/src/modifications/enums/UpdateEnumModification.js.map +1 -1
  67. package/dist/src/modifications/enums/enumUtils.js +1 -1
  68. package/dist/src/modifications/enums/enumUtils.js.map +1 -1
  69. package/dist/src/modifications/fields/RemoveFieldModification.d.ts.map +1 -1
  70. package/dist/src/modifications/fields/RemoveFieldModification.js +3 -21
  71. package/dist/src/modifications/fields/RemoveFieldModification.js.map +1 -1
  72. package/dist/src/modifications/fields/UpdateFieldNameModification.d.ts.map +1 -1
  73. package/dist/src/modifications/fields/UpdateFieldNameModification.js +11 -14
  74. package/dist/src/modifications/fields/UpdateFieldNameModification.js.map +1 -1
  75. package/dist/src/modifications/relations/ConvertOneToManyRelationModification.d.ts +8 -0
  76. package/dist/src/modifications/relations/ConvertOneToManyRelationModification.d.ts.map +1 -0
  77. package/dist/src/modifications/relations/ConvertOneToManyRelationModification.js +81 -0
  78. package/dist/src/modifications/relations/ConvertOneToManyRelationModification.js.map +1 -0
  79. package/dist/src/modifications/relations/CreateRelationInverseSideModification.d.ts.map +1 -1
  80. package/dist/src/modifications/relations/CreateRelationInverseSideModification.js +3 -6
  81. package/dist/src/modifications/relations/CreateRelationInverseSideModification.js.map +1 -1
  82. package/dist/src/modifications/relations/CreateRelationModification.d.ts.map +1 -1
  83. package/dist/src/modifications/relations/CreateRelationModification.js +29 -44
  84. package/dist/src/modifications/relations/CreateRelationModification.js.map +1 -1
  85. package/dist/src/modifications/relations/DisableOrphanRemovalModification.d.ts.map +1 -1
  86. package/dist/src/modifications/relations/DisableOrphanRemovalModification.js +4 -7
  87. package/dist/src/modifications/relations/DisableOrphanRemovalModification.js.map +1 -1
  88. package/dist/src/modifications/relations/EnableOrphanRemovalModification.d.ts.map +1 -1
  89. package/dist/src/modifications/relations/EnableOrphanRemovalModification.js +4 -7
  90. package/dist/src/modifications/relations/EnableOrphanRemovalModification.js.map +1 -1
  91. package/dist/src/modifications/relations/MakeRelationNotNullModification.d.ts.map +1 -1
  92. package/dist/src/modifications/relations/MakeRelationNotNullModification.js +6 -9
  93. package/dist/src/modifications/relations/MakeRelationNotNullModification.js.map +1 -1
  94. package/dist/src/modifications/relations/MakeRelationNullableModification.d.ts.map +1 -1
  95. package/dist/src/modifications/relations/MakeRelationNullableModification.js +6 -9
  96. package/dist/src/modifications/relations/MakeRelationNullableModification.js.map +1 -1
  97. package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.d.ts.map +1 -1
  98. package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.js +4 -7
  99. package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.js.map +1 -1
  100. package/dist/src/modifications/relations/UpdateRelationOrderByModification.d.ts.map +1 -1
  101. package/dist/src/modifications/relations/UpdateRelationOrderByModification.js +3 -6
  102. package/dist/src/modifications/relations/UpdateRelationOrderByModification.js.map +1 -1
  103. package/dist/src/modifications/relations/index.d.ts +1 -0
  104. package/dist/src/modifications/relations/index.d.ts.map +1 -1
  105. package/dist/src/modifications/relations/index.js +1 -0
  106. package/dist/src/modifications/relations/index.js.map +1 -1
  107. package/dist/src/modifications/utils/diffUtils.js +5 -5
  108. package/dist/src/modifications/utils/diffUtils.js.map +1 -1
  109. package/dist/src/modifications/utils/schemaUpdateUtils.d.ts +5 -5
  110. package/dist/src/modifications/utils/schemaUpdateUtils.d.ts.map +1 -1
  111. package/dist/src/modifications/utils/schemaUpdateUtils.js +9 -9
  112. package/dist/src/modifications/utils/schemaUpdateUtils.js.map +1 -1
  113. package/dist/src/modifications/validation/PatchValidationSchemaModification.d.ts.map +1 -1
  114. package/dist/src/modifications/validation/PatchValidationSchemaModification.js +2 -5
  115. package/dist/src/modifications/validation/PatchValidationSchemaModification.js.map +1 -1
  116. package/dist/src/modifications/validation/UpdateValidationSchemaModification.d.ts.map +1 -1
  117. package/dist/src/modifications/validation/UpdateValidationSchemaModification.js +2 -5
  118. package/dist/src/modifications/validation/UpdateValidationSchemaModification.js.map +1 -1
  119. package/dist/src/tsconfig.tsbuildinfo +1 -1
  120. package/dist/tests/cases/integration/convertOneToManyRelation.test.d.ts +2 -0
  121. package/dist/tests/cases/integration/convertOneToManyRelation.test.d.ts.map +1 -0
  122. package/dist/tests/cases/integration/convertOneToManyRelation.test.js +50 -0
  123. package/dist/tests/cases/integration/convertOneToManyRelation.test.js.map +1 -0
  124. package/dist/tests/cases/integration/createColumn.test.js +2 -2
  125. package/dist/tests/cases/integration/createColumn.test.js.map +1 -1
  126. package/dist/tests/cases/integration/createEntity.test.js +4 -4
  127. package/dist/tests/cases/integration/createEntity.test.js.map +1 -1
  128. package/dist/tests/cases/integration/createEnum.test.js +2 -2
  129. package/dist/tests/cases/integration/createEnum.test.js.map +1 -1
  130. package/dist/tests/cases/integration/createManyHasMany.test.js +2 -2
  131. package/dist/tests/cases/integration/createManyHasMany.test.js.map +1 -1
  132. package/dist/tests/cases/integration/createManyHasOne.test.js +2 -2
  133. package/dist/tests/cases/integration/createManyHasOne.test.js.map +1 -1
  134. package/dist/tests/cases/integration/createOneHasMany.test.js +2 -2
  135. package/dist/tests/cases/integration/createOneHasMany.test.js.map +1 -1
  136. package/dist/tests/cases/integration/createOneHasOne.test.js +5 -4
  137. package/dist/tests/cases/integration/createOneHasOne.test.js.map +1 -1
  138. package/dist/tests/cases/integration/createRelationInverseSide.test.js +4 -4
  139. package/dist/tests/cases/integration/createRelationInverseSide.test.js.map +1 -1
  140. package/dist/tests/cases/integration/disableOrphanRemoval.test.js +2 -2
  141. package/dist/tests/cases/integration/disableOrphanRemoval.test.js.map +1 -1
  142. package/dist/tests/cases/integration/enableOrphanRemoval.test.js +2 -2
  143. package/dist/tests/cases/integration/enableOrphanRemoval.test.js.map +1 -1
  144. package/dist/tests/cases/integration/makeColumnNotNull.test.js +2 -2
  145. package/dist/tests/cases/integration/makeColumnNotNull.test.js.map +1 -1
  146. package/dist/tests/cases/integration/makeRelationNotNull.test.js +2 -2
  147. package/dist/tests/cases/integration/makeRelationNotNull.test.js.map +1 -1
  148. package/dist/tests/cases/integration/makeRelationNullable.test.js +4 -4
  149. package/dist/tests/cases/integration/makeRelationNullable.test.js.map +1 -1
  150. package/dist/tests/cases/integration/patchAclSchema.test.js +2 -2
  151. package/dist/tests/cases/integration/patchAclSchema.test.js.map +1 -1
  152. package/dist/tests/cases/integration/removeEntity.test.js +6 -6
  153. package/dist/tests/cases/integration/removeEntity.test.js.map +1 -1
  154. package/dist/tests/cases/integration/removeEnum.test.js +2 -2
  155. package/dist/tests/cases/integration/removeEnum.test.js.map +1 -1
  156. package/dist/tests/cases/integration/removeField.test.js +10 -10
  157. package/dist/tests/cases/integration/removeField.test.js.map +1 -1
  158. package/dist/tests/cases/integration/updateColumnDefinition.test.js +2 -2
  159. package/dist/tests/cases/integration/updateColumnDefinition.test.js.map +1 -1
  160. package/dist/tests/cases/integration/updateEntityName.test.js +8 -8
  161. package/dist/tests/cases/integration/updateEntityName.test.js.map +1 -1
  162. package/dist/tests/cases/integration/updateEnum.test.js +2 -2
  163. package/dist/tests/cases/integration/updateEnum.test.js.map +1 -1
  164. package/dist/tests/cases/integration/updateFieldName.test.js +8 -8
  165. package/dist/tests/cases/integration/updateFieldName.test.js.map +1 -1
  166. package/dist/tests/cases/integration/updateRelationOnDelete.test.js +2 -2
  167. package/dist/tests/cases/integration/updateRelationOnDelete.test.js.map +1 -1
  168. package/dist/tests/cases/integration/updateRelationOrderBy.test.js +2 -2
  169. package/dist/tests/cases/integration/updateRelationOrderBy.test.js.map +1 -1
  170. package/dist/tests/cases/integration/updateView.test.js +2 -2
  171. package/dist/tests/cases/integration/updateView.test.js.map +1 -1
  172. package/dist/tests/scripts/checkCreateConsistentMigrations.js +1 -1
  173. package/dist/tests/scripts/checkCreateConsistentMigrations.js.map +1 -1
  174. package/dist/tests/src/tests.js +2 -2
  175. package/dist/tests/src/tests.js.map +1 -1
  176. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  177. package/package.json +6 -6
  178. package/src/MigrationCreator.ts +0 -1
  179. package/src/MigrationFilesManager.ts +4 -4
  180. package/src/SchemaDiffer.ts +3 -0
  181. package/src/modifications/ModificationHandler.ts +1 -4
  182. package/src/modifications/ModificationHandlerFactory.ts +3 -0
  183. package/src/modifications/NoopModification.ts +0 -6
  184. package/src/modifications/acl/PatchAclSchemaModification.ts +0 -5
  185. package/src/modifications/acl/UpdateAclSchemaModification.ts +0 -5
  186. package/src/modifications/columns/CreateColumnModification.ts +2 -37
  187. package/src/modifications/columns/UpdateColumnDefinitionModification.ts +0 -5
  188. package/src/modifications/columns/UpdateColumnNameModification.ts +0 -20
  189. package/src/modifications/constraints/CreateUniqueConstraintModification.ts +0 -5
  190. package/src/modifications/constraints/RemoveUniqueConstraintModification.ts +0 -5
  191. package/src/modifications/entities/CreateEntityModification.ts +0 -4
  192. package/src/modifications/entities/RemoveEntityModification.ts +14 -12
  193. package/src/modifications/entities/UpdateEntityNameModification.ts +0 -6
  194. package/src/modifications/entities/UpdateEntityTableNameModification.ts +0 -11
  195. package/src/modifications/entities/UpdateViewModification.ts +2 -8
  196. package/src/modifications/enums/CreateEnumModification.ts +0 -6
  197. package/src/modifications/enums/RemoveEnumModification.ts +0 -5
  198. package/src/modifications/enums/UpdateEnumModification.ts +0 -5
  199. package/src/modifications/fields/RemoveFieldModification.ts +3 -46
  200. package/src/modifications/fields/UpdateFieldNameModification.ts +0 -5
  201. package/src/modifications/relations/ConvertOneToManyRelationModification.ts +115 -0
  202. package/src/modifications/relations/CreateRelationInverseSideModification.ts +0 -5
  203. package/src/modifications/relations/CreateRelationModification.ts +25 -49
  204. package/src/modifications/relations/DisableOrphanRemovalModification.ts +0 -5
  205. package/src/modifications/relations/EnableOrphanRemovalModification.ts +0 -5
  206. package/src/modifications/relations/MakeRelationNotNullModification.ts +0 -5
  207. package/src/modifications/relations/MakeRelationNullableModification.ts +0 -5
  208. package/src/modifications/relations/UpdateRelationOnDeleteModification.ts +0 -5
  209. package/src/modifications/relations/UpdateRelationOrderByModification.ts +0 -5
  210. package/src/modifications/relations/index.ts +1 -0
  211. package/src/modifications/utils/schemaUpdateUtils.ts +6 -6
  212. package/src/modifications/validation/PatchValidationSchemaModification.ts +0 -5
  213. package/src/modifications/validation/UpdateValidationSchemaModification.ts +0 -6
  214. package/tests/cases/integration/convertOneToManyRelation.test.ts +59 -0
  215. package/tests/cases/integration/createOneHasOne.test.ts +3 -2
  216. package/tests/cases/integration/removeEntity.test.ts +2 -2
  217. package/tests/cases/integration/updateView.test.ts +1 -1
  218. package/dist/src/modifications/CreateModificationFieldVisitor.d.ts +0 -14
  219. package/dist/src/modifications/CreateModificationFieldVisitor.d.ts.map +0 -1
  220. package/dist/src/modifications/CreateModificationFieldVisitor.js +0 -61
  221. package/dist/src/modifications/CreateModificationFieldVisitor.js.map +0 -1
  222. package/src/modifications/CreateModificationFieldVisitor.ts +0 -96
@@ -1,6 +1,5 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations'
2
2
  import { Model, Schema } from '@contember/schema'
3
- import { ContentEvent } from '@contember/engine-common'
4
3
  import { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils'
5
4
  import { ModificationHandlerStatic } from '../ModificationHandler'
6
5
  import deepEqual from 'fast-deep-equal'
@@ -43,10 +42,6 @@ export const UpdateColumnDefinitionModification: ModificationHandlerStatic<Updat
43
42
  )
44
43
  }
45
44
 
46
- public transformEvents(events: ContentEvent[]): ContentEvent[] {
47
- return events // todo transform type
48
- }
49
-
50
45
  describe() {
51
46
  const current = this.schema.model.entities[this.data.entityName].fields[this.data.fieldName] as Model.AnyColumn
52
47
  const changingToNotNull = current.nullable && !this.data.definition.nullable
@@ -1,6 +1,5 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations'
2
2
  import { Model, Schema } from '@contember/schema'
3
- import { ContentEvent, EventType } from '@contember/engine-common'
4
3
  import { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils'
5
4
  import { ModificationHandlerStatic } from '../ModificationHandler'
6
5
  import { updateColumns } from '../utils/diffUtils'
@@ -27,25 +26,6 @@ export const UpdateColumnNameModification: ModificationHandlerStatic<UpdateColum
27
26
  )
28
27
  }
29
28
 
30
- public transformEvents(events: ContentEvent[]): ContentEvent[] {
31
- const entity = this.schema.model.entities[this.data.entityName]
32
- const tableName = entity.tableName
33
- const oldColumnName = (entity.fields[this.data.fieldName] as Model.AnyColumn).columnName
34
- const newColumnName = this.data.columnName
35
- return events.map(it => {
36
- if (
37
- it.tableName !== tableName ||
38
- (it.type !== EventType.create && it.type !== EventType.update) ||
39
- !it.values.hasOwnProperty(oldColumnName)
40
- ) {
41
- return it
42
- }
43
-
44
- const { [oldColumnName]: value, ...values } = it.values
45
- return { ...it, values: { ...values, [newColumnName]: value } }
46
- })
47
- }
48
-
49
29
  describe() {
50
30
  return { message: `Change column name of field ${this.data.entityName}.${this.data.fieldName}` }
51
31
  }
@@ -1,6 +1,5 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations'
2
2
  import { Model, Schema } from '@contember/schema'
3
- import { ContentEvent } from '@contember/engine-common'
4
3
  import { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'
5
4
  import { ModificationHandlerStatic } from '../ModificationHandler'
6
5
  import { acceptFieldVisitor } from '@contember/schema-utils'
@@ -58,10 +57,6 @@ export const CreateUniqueConstraintModification: ModificationHandlerStatic<Creat
58
57
  )
59
58
  }
60
59
 
61
- public transformEvents(events: ContentEvent[]): ContentEvent[] {
62
- return events
63
- }
64
-
65
60
  describe({ createdEntities }: { createdEntities: string[] }) {
66
61
  return {
67
62
  message: `Create unique constraint (${this.data.unique.fields.join(', ')}) on entity ${this.data.entityName}`,
@@ -1,6 +1,5 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations'
2
2
  import { Schema } from '@contember/schema'
3
- import { ContentEvent } from '@contember/engine-common'
4
3
  import { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'
5
4
  import { ModificationHandlerStatic } from '../ModificationHandler'
6
5
  import deepEqual from 'fast-deep-equal'
@@ -29,10 +28,6 @@ export const RemoveUniqueConstraintModification: ModificationHandlerStatic<Remov
29
28
  )
30
29
  }
31
30
 
32
- public transformEvents(events: ContentEvent[]): ContentEvent[] {
33
- return events
34
- }
35
-
36
31
  describe() {
37
32
  const fields = this.schema.model.entities[this.data.entityName].unique[this.data.constraintName].fields
38
33
  return { message: `Remove unique constraint (${fields.join(', ')}) on entity ${this.data.entityName}` }
@@ -1,6 +1,5 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations'
2
2
  import { Model, Schema } from '@contember/schema'
3
- import { ContentEvent } from '@contember/engine-common'
4
3
  import { SchemaUpdater, updateModel } from '../utils/schemaUpdateUtils'
5
4
  import { ModificationHandlerStatic } from '../ModificationHandler'
6
5
  import { createEventTrigger, createEventTrxTrigger } from '../utils/sqlUpdateUtils'
@@ -37,9 +36,6 @@ export const CreateEntityModification: ModificationHandlerStatic<CreateEntityMod
37
36
  }))
38
37
  }
39
38
 
40
- public transformEvents(events: ContentEvent[]): ContentEvent[] {
41
- return events
42
- }
43
39
 
44
40
  describe() {
45
41
  return { message: `Add entity ${this.data.entity.name}` }
@@ -1,6 +1,5 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations'
2
2
  import { Schema } from '@contember/schema'
3
- import { ContentEvent } from '@contember/engine-common'
4
3
  import {
5
4
  removeField,
6
5
  SchemaUpdater,
@@ -15,6 +14,7 @@ import {
15
14
  import { ModificationHandlerStatic } from '../ModificationHandler'
16
15
  import { VERSION_ACL_PATCH, VERSION_REMOVE_REFERENCING_RELATIONS } from '../ModificationVersions'
17
16
  import { isRelation, PredicateDefinitionProcessor } from '@contember/schema-utils'
17
+ import { RemoveFieldModification } from '../fields'
18
18
 
19
19
  export const RemoveEntityModification: ModificationHandlerStatic<RemoveEntityModificationData> = class {
20
20
  static id = 'removeEntity'
@@ -30,7 +30,12 @@ export const RemoveEntityModification: ModificationHandlerStatic<RemoveEntityMod
30
30
  builder.dropView(entity.tableName)
31
31
  return
32
32
  }
33
- builder.dropTable(entity.tableName, { cascade: true })
33
+ if (this.formatVersion >= VERSION_REMOVE_REFERENCING_RELATIONS) {
34
+ this.getFieldsToRemove(this.schema).forEach(([entityName, fieldName]) => {
35
+ (new RemoveFieldModification({ entityName, fieldName }, this.schema, this.formatVersion)).createSql(builder)
36
+ })
37
+ }
38
+ builder.dropTable(entity.tableName)
34
39
  }
35
40
 
36
41
  public getSchemaUpdater(): SchemaUpdater {
@@ -67,11 +72,7 @@ export const RemoveEntityModification: ModificationHandlerStatic<RemoveEntityMod
67
72
  : undefined,
68
73
  this.formatVersion >= VERSION_REMOVE_REFERENCING_RELATIONS
69
74
  ? ({ schema }) => {
70
- const fieldsToRemove = Object.values(schema.model.entities).flatMap(entity =>
71
- Object.values(entity.fields)
72
- .filter(field => isRelation(field) && field.target === this.data.entityName)
73
- .map(field => [entity.name, field.name]),
74
- )
75
+ const fieldsToRemove = this.getFieldsToRemove(schema)
75
76
  return fieldsToRemove.reduce(
76
77
  (schema, [entity, field]) => removeField(entity, field, this.formatVersion)({ schema }),
77
78
  schema,
@@ -88,11 +89,12 @@ export const RemoveEntityModification: ModificationHandlerStatic<RemoveEntityMod
88
89
  )
89
90
  }
90
91
 
91
- public transformEvents(events: ContentEvent[]): ContentEvent[] {
92
- const entity = this.schema.model.entities[this.data.entityName]
93
- return events.filter(it => {
94
- return it.tableName !== entity.tableName
95
- })
92
+ private getFieldsToRemove(schema: Schema): [entity: string, field: string][] {
93
+ return Object.values(schema.model.entities).flatMap(entity =>
94
+ Object.values(entity.fields)
95
+ .filter(field => isRelation(field) && field.target === this.data.entityName)
96
+ .map((field): [string, string] => [entity.name, field.name]),
97
+ )
96
98
  }
97
99
 
98
100
  describe() {
@@ -1,6 +1,5 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations'
2
2
  import { Model, Schema } from '@contember/schema'
3
- import { ContentEvent } from '@contember/engine-common'
4
3
  import {
5
4
  SchemaUpdater,
6
5
  updateAcl,
@@ -108,11 +107,6 @@ export const UpdateEntityNameModification: ModificationHandlerStatic<UpdateEntit
108
107
  )
109
108
  }
110
109
 
111
- public async transformEvents(events: ContentEvent[]): Promise<ContentEvent[]> {
112
- events = await this.subModification.transformEvents(events)
113
- return events
114
- }
115
-
116
110
  private getNewConstraintName(constraint: Model.UniqueConstraint): string | null {
117
111
  const generatedName = NamingHelper.createUniqueConstraintName(this.data.entityName, constraint.fields)
118
112
  const isGenerated = constraint.name === generatedName
@@ -1,6 +1,5 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations'
2
2
  import { Schema } from '@contember/schema'
3
- import { ContentEvent } from '@contember/engine-common'
4
3
  import { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'
5
4
  import { ModificationHandlerStatic } from '../ModificationHandler'
6
5
 
@@ -26,16 +25,6 @@ export const UpdateEntityTableNameModification: ModificationHandlerStatic<Update
26
25
  )
27
26
  }
28
27
 
29
- public transformEvents(events: ContentEvent[]): ContentEvent[] {
30
- const entity = this.schema.model.entities[this.data.entityName]
31
- return events.map(it => {
32
- if (it.tableName !== entity.tableName) {
33
- return it
34
- }
35
- return { ...it, tableName: this.data.tableName }
36
- })
37
- }
38
-
39
28
  describe() {
40
29
  return { message: `Change table name of entity ${this.data.entityName}` }
41
30
  }
@@ -1,6 +1,5 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations'
2
2
  import { Model, Schema } from '@contember/schema'
3
- import { ContentEvent } from '@contember/engine-common'
4
3
  import { ModificationHandlerStatic } from '../ModificationHandler'
5
4
  import { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'
6
5
 
@@ -11,11 +10,10 @@ export const UpdateViewModification: ModificationHandlerStatic<UpdateViewModific
11
10
 
12
11
  public createSql(builder: MigrationBuilder): void {
13
12
  const entity = this.schema.model.entities[this.data.entityName]
13
+ builder.dropView(entity.tableName, { ifExists: true })
14
14
  builder.createView(
15
15
  entity.tableName,
16
- {
17
- replace: true,
18
- },
16
+ {},
19
17
  this.data.view.sql,
20
18
  )
21
19
  }
@@ -29,10 +27,6 @@ export const UpdateViewModification: ModificationHandlerStatic<UpdateViewModific
29
27
  )
30
28
  }
31
29
 
32
- public async transformEvents(events: ContentEvent[]): Promise<ContentEvent[]> {
33
- return events
34
- }
35
-
36
30
  describe() {
37
31
  return { message: `Update SQL definition of a view` }
38
32
  }
@@ -1,9 +1,7 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations'
2
2
  import { Schema } from '@contember/schema'
3
- import { ContentEvent } from '@contember/engine-common'
4
3
  import { SchemaUpdater, updateModel } from '../utils/schemaUpdateUtils'
5
4
  import { ModificationHandlerStatic } from '../ModificationHandler'
6
- import { escapeSqlString } from '../../utils/escapeSqlString'
7
5
  import { createCheck, getConstraintName } from './enumUtils'
8
6
 
9
7
  export const CreateEnumModification: ModificationHandlerStatic<CreateEnumModificationData> = class {
@@ -27,10 +25,6 @@ export const CreateEnumModification: ModificationHandlerStatic<CreateEnumModific
27
25
  }))
28
26
  }
29
27
 
30
- public transformEvents(events: ContentEvent[]): ContentEvent[] {
31
- return events
32
- }
33
-
34
28
  describe() {
35
29
  return { message: `Add enum ${this.data.enumName}` }
36
30
  }
@@ -1,6 +1,5 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations'
2
2
  import { Schema } from '@contember/schema'
3
- import { ContentEvent } from '@contember/engine-common'
4
3
  import { SchemaUpdater, updateModel } from '../utils/schemaUpdateUtils'
5
4
  import { ModificationHandlerStatic } from '../ModificationHandler'
6
5
 
@@ -22,10 +21,6 @@ export const RemoveEnumModification: ModificationHandlerStatic<RemoveEnumModific
22
21
  })
23
22
  }
24
23
 
25
- public transformEvents(events: ContentEvent[]): ContentEvent[] {
26
- return events
27
- }
28
-
29
24
  describe() {
30
25
  return { message: `Remove ${this.data.enumName}` }
31
26
  }
@@ -1,6 +1,5 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations'
2
2
  import { Schema } from '@contember/schema'
3
- import { ContentEvent } from '@contember/engine-common'
4
3
  import { SchemaUpdater, updateModel } from '../utils/schemaUpdateUtils'
5
4
  import { ModificationHandlerStatic } from '../ModificationHandler'
6
5
  import deepEqual from 'fast-deep-equal'
@@ -29,10 +28,6 @@ export const UpdateEnumModification: ModificationHandlerStatic<UpdateEnumModific
29
28
  }))
30
29
  }
31
30
 
32
- public transformEvents(events: ContentEvent[]): ContentEvent[] {
33
- return events
34
- }
35
-
36
31
  describe() {
37
32
  const currentValues = this.schema.model.enums[this.data.enumName]
38
33
  const missingValues = currentValues.filter(it => !this.data.values.includes(it))
@@ -1,30 +1,8 @@
1
- import {
2
- acceptFieldVisitor,
3
- isInverseRelation,
4
- isOwningRelation,
5
- isRelation,
6
- NamingHelper,
7
- PredicateDefinitionProcessor,
8
- tryGetColumnName,
9
- } from '@contember/schema-utils'
1
+ import { acceptFieldVisitor, isInverseRelation, isRelation, NamingHelper } from '@contember/schema-utils'
10
2
  import { MigrationBuilder } from '@contember/database-migrations'
11
- import { Model, Schema } from '@contember/schema'
12
- import { ContentEvent, EventType } from '@contember/engine-common'
13
- import {
14
- removeField,
15
- SchemaUpdater,
16
- updateAcl,
17
- updateAclEveryEntity,
18
- updateAclEveryPredicate,
19
- updateAclEveryRole,
20
- updateAclFieldPermissions,
21
- updateEntity,
22
- updateField,
23
- updateModel,
24
- updateSchema,
25
- } from '../utils/schemaUpdateUtils'
3
+ import { Schema } from '@contember/schema'
4
+ import { removeField, SchemaUpdater } from '../utils/schemaUpdateUtils'
26
5
  import { ModificationHandlerStatic } from '../ModificationHandler'
27
- import { VERSION_ACL_PATCH, VERSION_REMOVE_RELATION_INVERSE_SIDE } from '../ModificationVersions'
28
6
  import { isDefined } from '../../utils/isDefined'
29
7
 
30
8
  export const RemoveFieldModification: ModificationHandlerStatic<RemoveFieldModificationData> = class {
@@ -64,27 +42,6 @@ export const RemoveFieldModification: ModificationHandlerStatic<RemoveFieldModif
64
42
  return removeField(this.data.entityName, this.data.fieldName, this.formatVersion)
65
43
  }
66
44
 
67
- public transformEvents(events: ContentEvent[]): ContentEvent[] {
68
- const entity = this.schema.model.entities[this.data.entityName]
69
- const tableName = entity.tableName
70
- const columnName = tryGetColumnName(this.schema.model, entity, this.data.fieldName)
71
- if (!columnName) {
72
- return events
73
- }
74
- return events.map(it => {
75
- if (
76
- it.tableName !== tableName ||
77
- (it.type !== EventType.create && it.type !== EventType.update) ||
78
- !it.values.hasOwnProperty(columnName)
79
- ) {
80
- return it
81
- }
82
-
83
- const { [columnName]: value, ...values } = it.values
84
- return { ...it, values }
85
- })
86
- }
87
-
88
45
  describe() {
89
46
  return { message: `Remove field ${this.data.entityName}.${this.data.fieldName}`, isDestructive: true }
90
47
  }
@@ -1,6 +1,5 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations'
2
2
  import { Input, Model, Schema, Value } from '@contember/schema'
3
- import { ContentEvent } from '@contember/engine-common'
4
3
  import {
5
4
  SchemaUpdater,
6
5
  updateAcl,
@@ -158,10 +157,6 @@ export const UpdateFieldNameModification: ModificationHandlerStatic<UpdateFieldN
158
157
  )
159
158
  }
160
159
 
161
- public transformEvents(events: ContentEvent[]): ContentEvent[] {
162
- return events
163
- }
164
-
165
160
  private getNewConstraintName(constraint: Model.UniqueConstraint): string | null {
166
161
  const generatedName = NamingHelper.createUniqueConstraintName(this.data.entityName, constraint.fields)
167
162
  const isGenerated = constraint.name === generatedName
@@ -0,0 +1,115 @@
1
+ import { MigrationBuilder } from '@contember/database-migrations'
2
+ import { Model, Schema } from '@contember/schema'
3
+ import { SchemaUpdater, updateEntity, updateField, updateModel, updateSchema } from '../utils/schemaUpdateUtils'
4
+ import { ModificationHandler, ModificationHandlerStatic } from '../ModificationHandler'
5
+ import { isOwningRelation, NamingHelper } from '@contember/schema-utils'
6
+ import { updateRelations } from '../utils/diffUtils'
7
+ import { UpdateFieldNameModification } from '../fields'
8
+ import { NoopModification } from '../NoopModification'
9
+
10
+ export const ConvertOneToManyRelationModification: ModificationHandlerStatic<ConvertOneToManyRelationModificationData> = class {
11
+ static id = 'convertOneToManyRelation'
12
+ private subModification: ModificationHandler<any>
13
+
14
+ constructor(private readonly data: ConvertOneToManyRelationModificationData, private readonly schema: Schema, private readonly formatVersion: number) {
15
+ const { relation } = this.getRelation()
16
+ this.subModification = data.newInverseSideFieldName && relation.inversedBy ?
17
+ new UpdateFieldNameModification(
18
+ {
19
+ entityName: relation.target,
20
+ fieldName: relation.inversedBy,
21
+ newFieldName: data.newInverseSideFieldName,
22
+ },
23
+ schema,
24
+ formatVersion,
25
+ )
26
+ : new NoopModification()
27
+ }
28
+
29
+ public createSql(builder: MigrationBuilder): void {
30
+ const { entity, relation } = this.getRelation()
31
+ builder.addIndex(entity.tableName, relation.joiningColumn.columnName)
32
+ const uniqueConstraintName = NamingHelper.createUniqueConstraintName(entity.name, [relation.name])
33
+ builder.dropConstraint(entity.tableName, uniqueConstraintName)
34
+ this.subModification.createSql(builder)
35
+ }
36
+
37
+ public getSchemaUpdater(): SchemaUpdater {
38
+ const { relation } = this.getRelation()
39
+ const { entityName, fieldName } = this.data
40
+ return updateSchema(
41
+ updateModel(
42
+ updateEntity(
43
+ entityName,
44
+ updateField<Model.OneHasOneOwningRelation, Model.ManyHasOneRelation>(
45
+ fieldName,
46
+ ({ field: { type, orphanRemoval, ...field } }) => ({
47
+ type: Model.RelationType.ManyHasOne,
48
+ ...field,
49
+ }),
50
+ ),
51
+ ),
52
+ ),
53
+ this.subModification.getSchemaUpdater(),
54
+ this.data.newInverseSideFieldName ?
55
+ updateModel(
56
+ updateEntity(
57
+ relation.target,
58
+ updateField<Model.OneHasOneInverseRelation, Model.OneHasManyRelation>(
59
+ this.data.newInverseSideFieldName,
60
+ ({ field: { type, nullable, ...field } }) => ({
61
+ type: Model.RelationType.OneHasMany,
62
+ ...field,
63
+ }),
64
+ ),
65
+ ),
66
+ ) : undefined,
67
+ )
68
+ }
69
+
70
+ describe() {
71
+ return {
72
+ message: `Converts OneHasOne relation to ManyHasOne on ${this.data.entityName}.${this.data.fieldName}`,
73
+ }
74
+ }
75
+
76
+ static createModification(data: ConvertOneToManyRelationModificationData) {
77
+ return { modification: this.id, ...data }
78
+ }
79
+
80
+ static createDiff(originalSchema: Schema, updatedSchema: Schema) {
81
+ return updateRelations(originalSchema, updatedSchema, ({ originalRelation, updatedRelation, updatedEntity }) => {
82
+ if (
83
+ isOwningRelation(originalRelation) &&
84
+ isOwningRelation(updatedRelation) &&
85
+ originalRelation.type === Model.RelationType.OneHasOne &&
86
+ updatedRelation.type === Model.RelationType.ManyHasOne
87
+ ) {
88
+ const isInverseSideRenamed = originalRelation.inversedBy && updatedRelation.inversedBy && originalRelation.inversedBy !== updatedRelation.inversedBy
89
+ return ConvertOneToManyRelationModification.createModification({
90
+ entityName: updatedEntity.name,
91
+ fieldName: updatedRelation.name,
92
+ ...(isInverseSideRenamed ? {
93
+ newInverseSideFieldName: updatedRelation.inversedBy,
94
+ } : {}),
95
+ })
96
+ }
97
+ return undefined
98
+ })
99
+ }
100
+
101
+ private getRelation() {
102
+ const entity = this.schema.model.entities[this.data.entityName]
103
+ const relation = entity.fields[this.data.fieldName]
104
+ if (relation.type !== Model.RelationType.OneHasOne || !isOwningRelation(relation)) {
105
+ throw new Error()
106
+ }
107
+ return { entity, relation }
108
+ }
109
+ }
110
+
111
+ export interface ConvertOneToManyRelationModificationData {
112
+ entityName: string
113
+ fieldName: string
114
+ newInverseSideFieldName?: string
115
+ }
@@ -1,6 +1,5 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations'
2
2
  import { Model, Schema } from '@contember/schema'
3
- import { ContentEvent } from '@contember/engine-common'
4
3
  import { addField, SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils'
5
4
  import { ModificationHandlerStatic } from '../ModificationHandler'
6
5
  import { createFields } from '../utils/diffUtils'
@@ -25,10 +24,6 @@ export const CreateRelationInverseSideModification: ModificationHandlerStatic<Cr
25
24
  )
26
25
  }
27
26
 
28
- public transformEvents(events: ContentEvent[]): ContentEvent[] {
29
- return events
30
- }
31
-
32
27
  describe() {
33
28
  return { message: `Add relation ${this.data.entityName}.${this.data.relation.name}` }
34
29
  }
@@ -7,7 +7,6 @@ import {
7
7
  NamingHelper,
8
8
  } from '@contember/schema-utils'
9
9
  import { MigrationBuilder } from '@contember/database-migrations'
10
- import { ContentEvent } from '@contember/engine-common'
11
10
  import { addField, SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'
12
11
  import { ModificationHandlerStatic } from '../ModificationHandler'
13
12
  import { createEventTrigger, createEventTrxTrigger } from '../utils/sqlUpdateUtils'
@@ -30,58 +29,39 @@ export const CreateRelationModification: ModificationHandlerStatic<CreateRelatio
30
29
  return
31
30
  }
32
31
  const targetEntity = this.schema.model.entities[this.data.owningSide.target]
32
+ const createOwningSide = (relation: Model.OneHasOneOwningRelation | Model.ManyHasOneRelation) => {
33
+ builder.addColumn(entity.tableName, {
34
+ [relation.joiningColumn.columnName]: {
35
+ type: getPrimaryType(targetEntity),
36
+ notNull: !relation.nullable,
37
+ },
38
+ })
39
+ const fkName = NamingHelper.createForeignKeyName(
40
+ entity.tableName,
41
+ relation.joiningColumn.columnName,
42
+ targetEntity.tableName,
43
+ targetEntity.primaryColumn,
44
+ )
45
+ builder.addConstraint(entity.tableName, fkName, {
46
+ foreignKeys: {
47
+ columns: relation.joiningColumn.columnName,
48
+ references: `"${targetEntity.tableName}"("${targetEntity.primaryColumn}")`,
49
+ onDelete: 'NO ACTION',
50
+ },
51
+ deferrable: true,
52
+ deferred: false,
53
+ })
54
+ }
33
55
  acceptRelationTypeVisitor(this.schema.model, entity, this.data.owningSide, {
34
56
  visitManyHasOne: ({}, relation, {}, _) => {
35
- builder.addColumn(entity.tableName, {
36
- [relation.joiningColumn.columnName]: {
37
- type: getPrimaryType(targetEntity),
38
- notNull: !relation.nullable,
39
- },
40
- })
41
- const fkName = NamingHelper.createForeignKeyName(
42
- entity.tableName,
43
- relation.joiningColumn.columnName,
44
- targetEntity.tableName,
45
- targetEntity.primaryColumn,
46
- )
47
- builder.addConstraint(entity.tableName, fkName, {
48
- foreignKeys: {
49
- columns: relation.joiningColumn.columnName,
50
- references: `"${targetEntity.tableName}"("${targetEntity.primaryColumn}")`,
51
- onDelete: 'NO ACTION',
52
- },
53
- deferrable: true,
54
- deferred: false,
55
- })
57
+ createOwningSide(relation)
56
58
  builder.addIndex(entity.tableName, relation.joiningColumn.columnName)
57
59
  },
58
60
  visitOneHasMany: () => {},
59
61
  visitOneHasOneOwning: ({}, relation, {}, _) => {
60
- builder.addColumn(entity.tableName, {
61
- [relation.joiningColumn.columnName]: {
62
- type: getPrimaryType(targetEntity),
63
- notNull: !relation.nullable,
64
- },
65
- })
62
+ createOwningSide(relation)
66
63
  const uniqueConstraintName = NamingHelper.createUniqueConstraintName(entity.name, [relation.name])
67
-
68
64
  builder.addConstraint(entity.tableName, uniqueConstraintName, { unique: [relation.joiningColumn.columnName] })
69
-
70
- const fkName = NamingHelper.createForeignKeyName(
71
- entity.tableName,
72
- relation.joiningColumn.columnName,
73
- targetEntity.tableName,
74
- targetEntity.primaryColumn,
75
- )
76
- builder.addConstraint(entity.tableName, fkName, {
77
- foreignKeys: {
78
- columns: relation.joiningColumn.columnName,
79
- references: `"${targetEntity.tableName}"("${targetEntity.primaryColumn}")`,
80
- onDelete: 'NO ACTION',
81
- },
82
- deferrable: true,
83
- deferred: false,
84
- })
85
65
  },
86
66
  visitOneHasOneInverse: () => {},
87
67
  visitManyHasManyOwning: ({}, relation, {}, _) => {
@@ -127,10 +107,6 @@ export const CreateRelationModification: ModificationHandlerStatic<CreateRelatio
127
107
  )
128
108
  }
129
109
 
130
- public transformEvents(events: ContentEvent[]): ContentEvent[] {
131
- return events //todo fill
132
- }
133
-
134
110
  describe({ createdEntities }: { createdEntities: string[] }) {
135
111
  const notNull = isIt<Model.NullableRelation>(this.data.owningSide, 'nullable') && !this.data.owningSide.nullable
136
112
  const failureWarning =
@@ -1,6 +1,5 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations'
2
2
  import { Model, Schema } from '@contember/schema'
3
- import { ContentEvent } from '@contember/engine-common'
4
3
  import { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils'
5
4
  import { ModificationHandlerStatic } from '../ModificationHandler'
6
5
  import { isOwningRelation } from '@contember/schema-utils'
@@ -23,10 +22,6 @@ export const DisableOrphanRemovalModification: ModificationHandlerStatic<Disable
23
22
  )
24
23
  }
25
24
 
26
- public transformEvents(events: ContentEvent[]): ContentEvent[] {
27
- return events
28
- }
29
-
30
25
  describe() {
31
26
  return {
32
27
  message: `Disable orphan removal on ${this.data.entityName}.${this.data.fieldName}`,
@@ -1,6 +1,5 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations'
2
2
  import { Model, Schema } from '@contember/schema'
3
- import { ContentEvent } from '@contember/engine-common'
4
3
  import { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils'
5
4
  import { ModificationHandlerStatic } from '../ModificationHandler'
6
5
  import { isOwningRelation } from '@contember/schema-utils'
@@ -25,10 +24,6 @@ export const EnableOrphanRemovalModification: ModificationHandlerStatic<EnableOr
25
24
  )
26
25
  }
27
26
 
28
- public transformEvents(events: ContentEvent[]): ContentEvent[] {
29
- return events
30
- }
31
-
32
27
  describe() {
33
28
  return {
34
29
  message: `Enable orphan removal on ${this.data.entityName}.${this.data.fieldName}`,
@@ -1,6 +1,5 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations'
2
2
  import { Model, Schema } from '@contember/schema'
3
- import { ContentEvent } from '@contember/engine-common'
4
3
  import { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils'
5
4
  import { ModificationHandlerStatic } from '../ModificationHandler'
6
5
  import { getEntity, tryGetColumnName } from '@contember/schema-utils'
@@ -38,10 +37,6 @@ export const MakeRelationNotNullModification: ModificationHandlerStatic<MakeRela
38
37
  )
39
38
  }
40
39
 
41
- public transformEvents(events: ContentEvent[]): ContentEvent[] {
42
- return events
43
- }
44
-
45
40
  describe() {
46
41
  return {
47
42
  message: `Make relation ${this.data.entityName}.${this.data.fieldName} not-nullable`,