@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.
Files changed (256) hide show
  1. package/dist/src/MigrationDescriber.d.ts +1 -2
  2. package/dist/src/MigrationDescriber.d.ts.map +1 -1
  3. package/dist/src/MigrationDescriber.js +5 -7
  4. package/dist/src/MigrationDescriber.js.map +1 -1
  5. package/dist/src/SchemaDiffer.d.ts.map +1 -1
  6. package/dist/src/SchemaDiffer.js +36 -46
  7. package/dist/src/SchemaDiffer.js.map +1 -1
  8. package/dist/src/SchemaMigrator.d.ts +1 -1
  9. package/dist/src/SchemaMigrator.d.ts.map +1 -1
  10. package/dist/src/index.d.ts +1 -5
  11. package/dist/src/index.d.ts.map +1 -1
  12. package/dist/src/index.js +1 -11
  13. package/dist/src/index.js.map +1 -1
  14. package/dist/src/modifications/ModificationHandler.d.ts +11 -6
  15. package/dist/src/modifications/ModificationHandler.d.ts.map +1 -1
  16. package/dist/src/modifications/ModificationHandler.js +9 -1
  17. package/dist/src/modifications/ModificationHandler.js.map +1 -1
  18. package/dist/src/modifications/ModificationHandlerFactory.d.ts +6 -5
  19. package/dist/src/modifications/ModificationHandlerFactory.d.ts.map +1 -1
  20. package/dist/src/modifications/ModificationHandlerFactory.js +42 -37
  21. package/dist/src/modifications/ModificationHandlerFactory.js.map +1 -1
  22. package/dist/src/modifications/acl/PatchAclSchemaModification.d.ts +13 -2
  23. package/dist/src/modifications/acl/PatchAclSchemaModification.d.ts.map +1 -1
  24. package/dist/src/modifications/acl/PatchAclSchemaModification.js +28 -28
  25. package/dist/src/modifications/acl/PatchAclSchemaModification.js.map +1 -1
  26. package/dist/src/modifications/acl/UpdateAclSchemaModification.d.ts +17 -3
  27. package/dist/src/modifications/acl/UpdateAclSchemaModification.d.ts.map +1 -1
  28. package/dist/src/modifications/acl/UpdateAclSchemaModification.js +33 -30
  29. package/dist/src/modifications/acl/UpdateAclSchemaModification.js.map +1 -1
  30. package/dist/src/modifications/columns/CreateColumnModification.d.ts +23 -3
  31. package/dist/src/modifications/columns/CreateColumnModification.d.ts.map +1 -1
  32. package/dist/src/modifications/columns/CreateColumnModification.js +70 -67
  33. package/dist/src/modifications/columns/CreateColumnModification.js.map +1 -1
  34. package/dist/src/modifications/columns/UpdateColumnDefinitionModification.d.ts +21 -3
  35. package/dist/src/modifications/columns/UpdateColumnDefinitionModification.d.ts.map +1 -1
  36. package/dist/src/modifications/columns/UpdateColumnDefinitionModification.js +73 -70
  37. package/dist/src/modifications/columns/UpdateColumnDefinitionModification.js.map +1 -1
  38. package/dist/src/modifications/columns/UpdateColumnNameModification.d.ts +20 -2
  39. package/dist/src/modifications/columns/UpdateColumnNameModification.d.ts.map +1 -1
  40. package/dist/src/modifications/columns/UpdateColumnNameModification.js +97 -94
  41. package/dist/src/modifications/columns/UpdateColumnNameModification.js.map +1 -1
  42. package/dist/src/modifications/constraints/CreateUniqueConstraintModification.d.ts +21 -3
  43. package/dist/src/modifications/constraints/CreateUniqueConstraintModification.d.ts.map +1 -1
  44. package/dist/src/modifications/constraints/CreateUniqueConstraintModification.js +72 -66
  45. package/dist/src/modifications/constraints/CreateUniqueConstraintModification.js.map +1 -1
  46. package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.d.ts +18 -2
  47. package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.d.ts.map +1 -1
  48. package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.js +45 -42
  49. package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.js.map +1 -1
  50. package/dist/src/modifications/differs/ChangeViewNonViewDiffer.js +1 -1
  51. package/dist/src/modifications/differs/RemoveChangedFieldDiffer.js +1 -1
  52. package/dist/src/modifications/differs/RemoveChangedViewDiffer.js +1 -1
  53. package/dist/src/modifications/entities/CreateEntityModification.d.ts +21 -6
  54. package/dist/src/modifications/entities/CreateEntityModification.d.ts.map +1 -1
  55. package/dist/src/modifications/entities/CreateEntityModification.js +65 -61
  56. package/dist/src/modifications/entities/CreateEntityModification.js.map +1 -1
  57. package/dist/src/modifications/entities/CreateViewModification.d.ts +23 -6
  58. package/dist/src/modifications/entities/CreateViewModification.d.ts.map +1 -1
  59. package/dist/src/modifications/entities/CreateViewModification.js +59 -55
  60. package/dist/src/modifications/entities/CreateViewModification.js.map +1 -1
  61. package/dist/src/modifications/entities/RemoveEntityModification.d.ts +21 -2
  62. package/dist/src/modifications/entities/RemoveEntityModification.d.ts.map +1 -1
  63. package/dist/src/modifications/entities/RemoveEntityModification.js +73 -70
  64. package/dist/src/modifications/entities/RemoveEntityModification.js.map +1 -1
  65. package/dist/src/modifications/entities/ToggleEventLogModification.d.ts +19 -2
  66. package/dist/src/modifications/entities/ToggleEventLogModification.d.ts.map +1 -1
  67. package/dist/src/modifications/entities/ToggleEventLogModification.js +57 -54
  68. package/dist/src/modifications/entities/ToggleEventLogModification.js.map +1 -1
  69. package/dist/src/modifications/entities/UpdateEntityNameModification.d.ts +18 -2
  70. package/dist/src/modifications/entities/UpdateEntityNameModification.d.ts.map +1 -1
  71. package/dist/src/modifications/entities/UpdateEntityNameModification.js +78 -78
  72. package/dist/src/modifications/entities/UpdateEntityNameModification.js.map +1 -1
  73. package/dist/src/modifications/entities/UpdateEntityTableNameModification.d.ts +18 -2
  74. package/dist/src/modifications/entities/UpdateEntityTableNameModification.d.ts.map +1 -1
  75. package/dist/src/modifications/entities/UpdateEntityTableNameModification.js +40 -34
  76. package/dist/src/modifications/entities/UpdateEntityTableNameModification.js.map +1 -1
  77. package/dist/src/modifications/entities/UpdateViewModification.d.ts +15 -3
  78. package/dist/src/modifications/entities/UpdateViewModification.d.ts.map +1 -1
  79. package/dist/src/modifications/entities/UpdateViewModification.js +28 -28
  80. package/dist/src/modifications/entities/UpdateViewModification.js.map +1 -1
  81. package/dist/src/modifications/enums/CreateEnumModification.d.ts +18 -2
  82. package/dist/src/modifications/enums/CreateEnumModification.d.ts.map +1 -1
  83. package/dist/src/modifications/enums/CreateEnumModification.js +42 -36
  84. package/dist/src/modifications/enums/CreateEnumModification.js.map +1 -1
  85. package/dist/src/modifications/enums/RemoveEnumModification.d.ts +18 -2
  86. package/dist/src/modifications/enums/RemoveEnumModification.d.ts.map +1 -1
  87. package/dist/src/modifications/enums/RemoveEnumModification.js +36 -33
  88. package/dist/src/modifications/enums/RemoveEnumModification.js.map +1 -1
  89. package/dist/src/modifications/enums/UpdateEnumModification.d.ts +19 -2
  90. package/dist/src/modifications/enums/UpdateEnumModification.d.ts.map +1 -1
  91. package/dist/src/modifications/enums/UpdateEnumModification.js +43 -40
  92. package/dist/src/modifications/enums/UpdateEnumModification.js.map +1 -1
  93. package/dist/src/modifications/fields/RemoveFieldModification.d.ts +20 -2
  94. package/dist/src/modifications/fields/RemoveFieldModification.d.ts.map +1 -1
  95. package/dist/src/modifications/fields/RemoveFieldModification.js +67 -64
  96. package/dist/src/modifications/fields/RemoveFieldModification.js.map +1 -1
  97. package/dist/src/modifications/fields/UpdateFieldNameModification.d.ts +18 -2
  98. package/dist/src/modifications/fields/UpdateFieldNameModification.d.ts.map +1 -1
  99. package/dist/src/modifications/fields/UpdateFieldNameModification.js +132 -132
  100. package/dist/src/modifications/fields/UpdateFieldNameModification.js.map +1 -1
  101. package/dist/src/modifications/index.d.ts +14 -0
  102. package/dist/src/modifications/index.d.ts.map +1 -0
  103. package/dist/src/modifications/index.js +32 -0
  104. package/dist/src/modifications/index.js.map +1 -0
  105. package/dist/src/modifications/indexes/CreateIndexModification.d.ts +23 -0
  106. package/dist/src/modifications/indexes/CreateIndexModification.d.ts.map +1 -0
  107. package/dist/src/modifications/indexes/CreateIndexModification.js +75 -0
  108. package/dist/src/modifications/indexes/CreateIndexModification.js.map +1 -0
  109. package/dist/src/modifications/indexes/RemoveIndexModification.d.ts +23 -0
  110. package/dist/src/modifications/indexes/RemoveIndexModification.d.ts.map +1 -0
  111. package/dist/src/modifications/indexes/RemoveIndexModification.js +56 -0
  112. package/dist/src/modifications/indexes/RemoveIndexModification.js.map +1 -0
  113. package/dist/src/modifications/indexes/index.d.ts +3 -0
  114. package/dist/src/modifications/indexes/index.d.ts.map +1 -0
  115. package/dist/src/modifications/indexes/index.js +19 -0
  116. package/dist/src/modifications/indexes/index.js.map +1 -0
  117. package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.d.ts +23 -3
  118. package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.d.ts.map +1 -1
  119. package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.js +68 -65
  120. package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.js.map +1 -1
  121. package/dist/src/modifications/relations/ConvertOneToManyRelationModification.d.ts +23 -2
  122. package/dist/src/modifications/relations/ConvertOneToManyRelationModification.d.ts.map +1 -1
  123. package/dist/src/modifications/relations/ConvertOneToManyRelationModification.js +73 -70
  124. package/dist/src/modifications/relations/ConvertOneToManyRelationModification.js.map +1 -1
  125. package/dist/src/modifications/relations/CreateRelationInverseSideModification.d.ts +20 -3
  126. package/dist/src/modifications/relations/CreateRelationInverseSideModification.d.ts.map +1 -1
  127. package/dist/src/modifications/relations/CreateRelationInverseSideModification.js +36 -33
  128. package/dist/src/modifications/relations/CreateRelationInverseSideModification.js.map +1 -1
  129. package/dist/src/modifications/relations/CreateRelationModification.d.ts +25 -3
  130. package/dist/src/modifications/relations/CreateRelationModification.d.ts.map +1 -1
  131. package/dist/src/modifications/relations/CreateRelationModification.js +88 -85
  132. package/dist/src/modifications/relations/CreateRelationModification.js.map +1 -1
  133. package/dist/src/modifications/relations/DisableOrphanRemovalModification.d.ts +20 -2
  134. package/dist/src/modifications/relations/DisableOrphanRemovalModification.d.ts.map +1 -1
  135. package/dist/src/modifications/relations/DisableOrphanRemovalModification.js +42 -39
  136. package/dist/src/modifications/relations/DisableOrphanRemovalModification.js.map +1 -1
  137. package/dist/src/modifications/relations/EnableOrphanRemovalModification.d.ts +20 -2
  138. package/dist/src/modifications/relations/EnableOrphanRemovalModification.d.ts.map +1 -1
  139. package/dist/src/modifications/relations/EnableOrphanRemovalModification.js +45 -42
  140. package/dist/src/modifications/relations/EnableOrphanRemovalModification.js.map +1 -1
  141. package/dist/src/modifications/relations/MakeRelationNotNullModification.d.ts +21 -2
  142. package/dist/src/modifications/relations/MakeRelationNotNullModification.d.ts.map +1 -1
  143. package/dist/src/modifications/relations/MakeRelationNotNullModification.js +55 -52
  144. package/dist/src/modifications/relations/MakeRelationNotNullModification.js.map +1 -1
  145. package/dist/src/modifications/relations/MakeRelationNullableModification.d.ts +20 -2
  146. package/dist/src/modifications/relations/MakeRelationNullableModification.d.ts.map +1 -1
  147. package/dist/src/modifications/relations/MakeRelationNullableModification.js +54 -51
  148. package/dist/src/modifications/relations/MakeRelationNullableModification.js.map +1 -1
  149. package/dist/src/modifications/relations/ToggleJunctionEventLogModification.d.ts +27 -0
  150. package/dist/src/modifications/relations/ToggleJunctionEventLogModification.d.ts.map +1 -0
  151. package/dist/src/modifications/relations/ToggleJunctionEventLogModification.js +84 -0
  152. package/dist/src/modifications/relations/ToggleJunctionEventLogModification.js.map +1 -0
  153. package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.d.ts +20 -3
  154. package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.d.ts.map +1 -1
  155. package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.js +42 -39
  156. package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.js.map +1 -1
  157. package/dist/src/modifications/relations/UpdateRelationOrderByModification.d.ts +20 -3
  158. package/dist/src/modifications/relations/UpdateRelationOrderByModification.d.ts.map +1 -1
  159. package/dist/src/modifications/relations/UpdateRelationOrderByModification.js +43 -40
  160. package/dist/src/modifications/relations/UpdateRelationOrderByModification.js.map +1 -1
  161. package/dist/src/modifications/relations/index.d.ts +1 -1
  162. package/dist/src/modifications/relations/index.d.ts.map +1 -1
  163. package/dist/src/modifications/relations/index.js +1 -1
  164. package/dist/src/modifications/relations/index.js.map +1 -1
  165. package/dist/src/modifications/validation/PatchValidationSchemaModification.d.ts +13 -2
  166. package/dist/src/modifications/validation/PatchValidationSchemaModification.d.ts.map +1 -1
  167. package/dist/src/modifications/validation/PatchValidationSchemaModification.js +28 -28
  168. package/dist/src/modifications/validation/PatchValidationSchemaModification.js.map +1 -1
  169. package/dist/src/modifications/validation/UpdateValidationSchemaModification.d.ts +17 -3
  170. package/dist/src/modifications/validation/UpdateValidationSchemaModification.d.ts.map +1 -1
  171. package/dist/src/modifications/validation/UpdateValidationSchemaModification.js +33 -30
  172. package/dist/src/modifications/validation/UpdateValidationSchemaModification.js.map +1 -1
  173. package/dist/src/tsconfig.tsbuildinfo +1 -1
  174. package/dist/src/utils/PartialEntity.d.ts +5 -0
  175. package/dist/src/utils/PartialEntity.d.ts.map +1 -0
  176. package/dist/src/utils/PartialEntity.js +3 -0
  177. package/dist/src/utils/PartialEntity.js.map +1 -0
  178. package/dist/tests/cases/integration/createAndDropIndex.test.d.ts +2 -0
  179. package/dist/tests/cases/integration/createAndDropIndex.test.d.ts.map +1 -0
  180. package/dist/tests/cases/integration/createAndDropIndex.test.js +57 -0
  181. package/dist/tests/cases/integration/createAndDropIndex.test.js.map +1 -0
  182. package/dist/tests/cases/integration/createEntity.test.js +2 -0
  183. package/dist/tests/cases/integration/createEntity.test.js.map +1 -1
  184. package/dist/tests/cases/integration/createManyHasMany.test.js +1 -0
  185. package/dist/tests/cases/integration/createManyHasMany.test.js.map +1 -1
  186. package/dist/tests/cases/integration/createManyHasOne.test.js +1 -0
  187. package/dist/tests/cases/integration/createManyHasOne.test.js.map +1 -1
  188. package/dist/tests/cases/integration/createOneHasMany.test.js +1 -0
  189. package/dist/tests/cases/integration/createOneHasMany.test.js.map +1 -1
  190. package/dist/tests/cases/integration/createOneHasOne.test.js +2 -0
  191. package/dist/tests/cases/integration/createOneHasOne.test.js.map +1 -1
  192. package/dist/tests/cases/integration/createView.test.js +1 -0
  193. package/dist/tests/cases/integration/createView.test.js.map +1 -1
  194. package/dist/tests/cases/integration/updateView.test.js +9 -0
  195. package/dist/tests/cases/integration/updateView.test.js.map +1 -1
  196. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  197. package/package.json +7 -7
  198. package/src/MigrationDescriber.ts +8 -8
  199. package/src/SchemaDiffer.ts +65 -76
  200. package/src/SchemaMigrator.ts +1 -1
  201. package/src/index.ts +1 -5
  202. package/src/modifications/ModificationHandler.ts +20 -8
  203. package/src/modifications/ModificationHandlerFactory.ts +65 -61
  204. package/src/modifications/acl/PatchAclSchemaModification.ts +7 -8
  205. package/src/modifications/acl/UpdateAclSchemaModification.ts +16 -15
  206. package/src/modifications/columns/CreateColumnModification.ts +18 -16
  207. package/src/modifications/columns/UpdateColumnDefinitionModification.ts +27 -25
  208. package/src/modifications/columns/UpdateColumnNameModification.ts +60 -53
  209. package/src/modifications/constraints/CreateUniqueConstraintModification.ts +23 -17
  210. package/src/modifications/constraints/RemoveUniqueConstraintModification.ts +18 -14
  211. package/src/modifications/differs/ChangeViewNonViewDiffer.ts +2 -2
  212. package/src/modifications/differs/RemoveChangedFieldDiffer.ts +2 -2
  213. package/src/modifications/differs/RemoveChangedViewDiffer.ts +2 -2
  214. package/src/modifications/entities/CreateEntityModification.ts +19 -11
  215. package/src/modifications/entities/CreateViewModification.ts +13 -11
  216. package/src/modifications/entities/RemoveEntityModification.ts +22 -15
  217. package/src/modifications/entities/ToggleEventLogModification.ts +20 -13
  218. package/src/modifications/entities/UpdateEntityNameModification.ts +9 -9
  219. package/src/modifications/entities/UpdateEntityTableNameModification.ts +18 -13
  220. package/src/modifications/entities/UpdateViewModification.ts +7 -7
  221. package/src/modifications/enums/CreateEnumModification.ts +18 -13
  222. package/src/modifications/enums/RemoveEnumModification.ts +14 -12
  223. package/src/modifications/enums/UpdateEnumModification.ts +15 -13
  224. package/src/modifications/fields/RemoveFieldModification.ts +20 -17
  225. package/src/modifications/fields/UpdateFieldNameModification.ts +16 -17
  226. package/src/modifications/index.ts +13 -0
  227. package/src/modifications/indexes/CreateIndexModification.ts +83 -0
  228. package/src/modifications/indexes/RemoveIndexModification.ts +68 -0
  229. package/src/modifications/indexes/index.ts +2 -0
  230. package/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.ts +35 -25
  231. package/src/modifications/relations/ConvertOneToManyRelationModification.ts +31 -24
  232. package/src/modifications/relations/CreateRelationInverseSideModification.ts +15 -13
  233. package/src/modifications/relations/CreateRelationModification.ts +35 -27
  234. package/src/modifications/relations/DisableOrphanRemovalModification.ts +15 -12
  235. package/src/modifications/relations/EnableOrphanRemovalModification.ts +16 -13
  236. package/src/modifications/relations/MakeRelationNotNullModification.ts +16 -14
  237. package/src/modifications/relations/MakeRelationNullableModification.ts +17 -13
  238. package/src/modifications/relations/{ToggleManyHasManyEventLogModification.ts → ToggleJunctionEventLogModification.ts} +21 -14
  239. package/src/modifications/relations/UpdateRelationOnDeleteModification.ts +16 -14
  240. package/src/modifications/relations/UpdateRelationOrderByModification.ts +17 -14
  241. package/src/modifications/relations/index.ts +1 -1
  242. package/src/modifications/validation/PatchValidationSchemaModification.ts +7 -7
  243. package/src/modifications/validation/UpdateValidationSchemaModification.ts +17 -14
  244. package/src/utils/PartialEntity.ts +5 -0
  245. package/tests/cases/integration/createAndDropIndex.test.ts +44 -0
  246. package/tests/cases/integration/createEntity.test.ts +2 -0
  247. package/tests/cases/integration/createManyHasMany.test.ts +1 -0
  248. package/tests/cases/integration/createManyHasOne.test.ts +1 -0
  249. package/tests/cases/integration/createOneHasMany.test.ts +1 -0
  250. package/tests/cases/integration/createOneHasOne.test.ts +2 -0
  251. package/tests/cases/integration/createView.test.ts +1 -0
  252. package/tests/cases/integration/updateView.test.ts +9 -0
  253. package/dist/src/modifications/relations/ToggleManyHasManyEventLogModification.d.ts +0 -8
  254. package/dist/src/modifications/relations/ToggleManyHasManyEventLogModification.d.ts.map +0 -1
  255. package/dist/src/modifications/relations/ToggleManyHasManyEventLogModification.js +0 -81
  256. package/dist/src/modifications/relations/ToggleManyHasManyEventLogModification.js.map +0 -1
@@ -10,40 +10,39 @@ import {
10
10
  import { SchemaMigrator } from './SchemaMigrator'
11
11
  import { Migration } from './Migration'
12
12
  import { ImplementationException } from './exceptions'
13
- import { VERSION_LATEST } from './modifications/ModificationVersions'
14
- import { CreateUniqueConstraintModification, RemoveUniqueConstraintModification } from './modifications/constraints'
15
- import { RemoveFieldModification } from './modifications/fields'
16
13
  import {
17
- CreateEntityModification,
18
- CreateViewModification,
19
- RemoveEntityModification,
20
- ToggleEventLogModification,
21
- UpdateEntityTableNameModification,
22
- } from './modifications/entities'
23
- import { CreateEnumModification, RemoveEnumModification, UpdateEnumModification } from './modifications/enums'
24
- import {
25
- CreateColumnModification,
26
- UpdateColumnDefinitionModification,
27
- UpdateColumnNameModification,
28
- } from './modifications/columns'
29
- import {
30
- ConvertOneHasManyToManyHasManyRelationModification,
31
- ConvertOneToManyRelationModification,
32
- CreateRelationInverseSideModification,
33
- CreateRelationModification,
34
- DisableOrphanRemovalModification,
35
- EnableOrphanRemovalModification,
36
- MakeRelationNotNullModification,
37
- MakeRelationNullableModification,
38
- ToggleJunctionEventLogModification,
39
- UpdateRelationOnDeleteModification,
40
- UpdateRelationOrderByModification,
41
- } from './modifications/relations'
42
- import { PatchAclSchemaModification, UpdateAclSchemaModification } from './modifications/acl'
43
- import { PatchValidationSchemaModification, UpdateValidationSchemaModification } from './modifications/validation'
44
- import { CreateDiff, Differ } from './modifications/ModificationHandler'
45
- import { isDefined } from './utils/isDefined'
14
+ ConvertOneHasManyToManyHasManyRelationDiffer,
15
+ ConvertOneToManyRelationDiffer,
16
+ CreateColumnDiffer,
17
+ CreateEntityDiffer,
18
+ CreateEnumDiffer,
19
+ CreateRelationDiffer,
20
+ CreateRelationInverseSideDiffer,
21
+ CreateUniqueConstraintDiffer,
22
+ CreateViewDiffer,
23
+ Differ,
24
+ DisableOrphanRemovalDiffer,
25
+ EnableOrphanRemovalDiffer,
26
+ MakeRelationNotNullDiffer,
27
+ MakeRelationNullableDiffer,
28
+ RemoveEntityDiffer,
29
+ RemoveEnumDiffer,
30
+ RemoveFieldDiffer,
31
+ RemoveUniqueConstraintDiffer,
32
+ ToggleEventLogDiffer,
33
+ ToggleJunctionEventLogDiffer,
34
+ UpdateAclSchemaDiffer,
35
+ UpdateColumnDefinitionDiffer,
36
+ UpdateColumnNameDiffer,
37
+ UpdateEntityTableNameDiffer,
38
+ UpdateEnumDiffer,
39
+ UpdateRelationOnDeleteDiffer,
40
+ UpdateRelationOrderByDiffer,
41
+ UpdateValidationSchemaDiffer,
42
+ VERSION_LATEST,
43
+ } from './modifications'
46
44
  import { ChangeViewNonViewDiffer, RemoveChangedFieldDiffer, RemoveChangedViewDiffer } from './modifications/differs'
45
+ import { CreateIndexDiffer, RemoveIndexDiffer } from './modifications/indexes'
47
46
 
48
47
  export class SchemaDiffer {
49
48
  constructor(private readonly schemaMigrator: SchemaMigrator) {}
@@ -58,56 +57,46 @@ export class SchemaDiffer {
58
57
  throw new InvalidSchemaException('updated schema is not valid', updatedErrors)
59
58
  }
60
59
 
61
- const differs: (CreateDiff | Differ)[] = [
62
- ConvertOneToManyRelationModification.createDiff,
63
- ConvertOneHasManyToManyHasManyRelationModification.createDiff,
64
-
65
- RemoveUniqueConstraintModification.createDiff,
66
- new ChangeViewNonViewDiffer().createDiff,
67
- new RemoveChangedViewDiffer().createDiff,
68
- RemoveEntityModification.createDiff,
69
- RemoveFieldModification.createDiff,
70
- CreateEnumModification.createDiff,
71
-
72
- UpdateEntityTableNameModification.createDiff,
73
- ToggleEventLogModification.createDiff,
74
- ToggleJunctionEventLogModification.createDiff,
75
- UpdateColumnDefinitionModification.createDiff,
76
- UpdateColumnNameModification.createDiff,
77
- UpdateRelationOnDeleteModification.createDiff,
78
- MakeRelationNotNullModification.createDiff,
79
- MakeRelationNullableModification.createDiff,
80
- EnableOrphanRemovalModification.createDiff,
81
- DisableOrphanRemovalModification.createDiff,
82
- UpdateRelationOrderByModification.createDiff,
83
- UpdateEnumModification.createDiff,
84
-
60
+ const differs: Differ[] = [
61
+ new ConvertOneToManyRelationDiffer(),
62
+ new ConvertOneHasManyToManyHasManyRelationDiffer(),
63
+ new RemoveUniqueConstraintDiffer(),
64
+ new RemoveIndexDiffer(),
65
+ new ChangeViewNonViewDiffer(),
66
+ new RemoveChangedViewDiffer(),
67
+ new RemoveEntityDiffer(),
68
+ new RemoveFieldDiffer(),
69
+ new CreateEnumDiffer(),
70
+ new UpdateEntityTableNameDiffer(),
71
+ new ToggleEventLogDiffer(),
72
+ new ToggleJunctionEventLogDiffer(),
73
+ new UpdateColumnDefinitionDiffer(),
74
+ new UpdateColumnNameDiffer(),
75
+ new UpdateRelationOnDeleteDiffer(),
76
+ new MakeRelationNotNullDiffer(),
77
+ new MakeRelationNullableDiffer(),
78
+ new EnableOrphanRemovalDiffer(),
79
+ new DisableOrphanRemovalDiffer(),
80
+ new UpdateRelationOrderByDiffer(),
81
+ new UpdateEnumDiffer(),
85
82
  new RemoveChangedFieldDiffer(it => !isRelation(it) || isOwningRelation(it)),
86
83
  new RemoveChangedFieldDiffer(it => isRelation(it) && isInverseRelation(it)),
87
- CreateEntityModification.createDiff,
88
- CreateColumnModification.createDiff,
89
- CreateViewModification.createDiff,
90
-
91
- CreateRelationModification.createDiff,
92
- CreateRelationInverseSideModification.createDiff,
93
-
94
- CreateUniqueConstraintModification.createDiff,
95
-
96
- RemoveEnumModification.createDiff,
97
-
98
- UpdateAclSchemaModification.createDiff,
99
- PatchAclSchemaModification.createDiff,
100
-
101
- UpdateValidationSchemaModification.createDiff,
102
- PatchValidationSchemaModification.createDiff,
103
- ].filter(isDefined)
84
+ new CreateEntityDiffer(),
85
+ new CreateColumnDiffer(),
86
+ new CreateViewDiffer(),
87
+ new CreateRelationDiffer(),
88
+ new CreateRelationInverseSideDiffer(),
89
+ new CreateUniqueConstraintDiffer(),
90
+ new CreateIndexDiffer(),
91
+ new RemoveEnumDiffer(),
92
+ new UpdateAclSchemaDiffer(),
93
+ new UpdateValidationSchemaDiffer(),
94
+ ]
104
95
 
105
96
  const diffs: Migration.Modification[] = []
106
97
  let appliedDiffsSchema = originalSchema
107
98
  for (const differ of differs) {
108
- const differDiffs = 'createDiff' in differ
109
- ? differ.createDiff(appliedDiffsSchema, updatedSchema)
110
- : differ(appliedDiffsSchema, updatedSchema)
99
+ const differDiffs = differ.createDiff(appliedDiffsSchema, updatedSchema)
111
100
  appliedDiffsSchema = this.schemaMigrator.applyModifications(appliedDiffsSchema, differDiffs, VERSION_LATEST)
112
101
  diffs.push(...differDiffs)
113
102
  }
@@ -1,5 +1,5 @@
1
1
  import { Schema } from '@contember/schema'
2
- import ModificationHandlerFactory from './modifications/ModificationHandlerFactory'
2
+ import { ModificationHandlerFactory } from './modifications'
3
3
  import { Migration } from './Migration'
4
4
 
5
5
  export class SchemaMigrator {
package/src/index.ts CHANGED
@@ -6,10 +6,6 @@ export * from './SchemaMigrator'
6
6
  export * from './SchemaDiffer'
7
7
  export * from './MigrationCreator'
8
8
  export * from './MigrationDescriber'
9
- export { default as ModificationHandlerFactory } from './modifications/ModificationHandlerFactory'
10
- export * from './modifications/ModificationVersions'
11
- export * from './modifications/ModificationHandler'
12
- export * from './modifications/utils/sqlUpdateUtils'
9
+ export * from './modifications'
13
10
  export * from './MigrationFilesManager'
14
11
  export * from './MigrationVersionHelper'
15
- export { SchemaUpdateError } from './modifications/exceptions'
@@ -20,21 +20,33 @@ export interface ModificationHandler<Data> {
20
20
  describe(context: ModificationDescriptionContext): ModificationDescription
21
21
  }
22
22
 
23
- export type CreateDiff = (originalSchema: Schema, updatedSchema: Schema) => Migration.Modification[]
24
-
25
23
  export interface ModificationHandlerOptions {
26
24
  formatVersion: number
27
25
  systemSchema: string
28
26
  }
29
27
 
30
- export interface ModificationHandlerStatic<Data> {
31
- id: string
32
- createModification: (data: Data) => Migration.Modification<Data>
33
- createDiff?: CreateDiff
34
-
28
+ export interface ModificationHandlerConstructor<Data> {
35
29
  new(data: Data, schema: Schema, options: ModificationHandlerOptions): ModificationHandler<Data>
36
30
  }
37
31
 
38
32
  export interface Differ {
39
- createDiff: CreateDiff
33
+ createDiff: (originalSchema: Schema, updatedSchema: Schema) => Migration.Modification[]
34
+ }
35
+
36
+
37
+ export interface ModificationType<Id extends String, Data> {
38
+ id: Id
39
+ createModification: (data: Data) => Migration.Modification<Data>
40
+ createHandler: (data: Data, schema: Schema, options: ModificationHandlerOptions) => ModificationHandler<Data>
41
+ }
42
+
43
+ export const createModificationType = <Data, Id extends string>({ handler, id }: {
44
+ id: Id
45
+ handler: ModificationHandlerConstructor<Data>
46
+ }): ModificationType<Id, Data> => {
47
+ return {
48
+ id,
49
+ createModification: data => ({ modification: id, ...data }),
50
+ createHandler: (data, schema, options) => new handler(data, schema, options),
51
+ }
40
52
  }
@@ -1,84 +1,88 @@
1
1
  import { Schema } from '@contember/schema'
2
- import { ModificationHandler, ModificationHandlerOptions, ModificationHandlerStatic } from './ModificationHandler'
3
- import { CreateColumnModification, UpdateColumnDefinitionModification, UpdateColumnNameModification } from './columns'
4
- import { PatchValidationSchemaModification, UpdateValidationSchemaModification } from './validation'
5
- import { PatchAclSchemaModification, UpdateAclSchemaModification } from './acl'
6
- import { CreateUniqueConstraintModification, RemoveUniqueConstraintModification } from './constraints'
2
+ import { ModificationHandler, ModificationHandlerOptions, ModificationType } from './ModificationHandler'
3
+ import { patchAclSchemaModification, updateAclSchemaModification } from './acl'
4
+ import { createColumnModification, updateColumnDefinitionModification, updateColumnNameModification } from './columns'
5
+ import { createUniqueConstraintModification, removeUniqueConstraintModification } from './constraints'
7
6
  import {
8
- CreateEntityModification,
9
- CreateViewModification,
10
- RemoveEntityModification,
11
- ToggleEventLogModification,
12
- UpdateEntityNameModification,
13
- UpdateEntityTableNameModification,
7
+ createEntityModification, createViewModification,
8
+ removeEntityModification, toggleEventLogModification,
9
+ updateEntityNameModification,
10
+ updateEntityTableNameModification,
14
11
  } from './entities'
15
- import { CreateEnumModification, RemoveEnumModification, UpdateEnumModification } from './enums'
16
- import { RemoveFieldModification, UpdateFieldNameModification } from './fields'
12
+ import { updateViewModification } from './entities/UpdateViewModification'
17
13
  import {
18
- ConvertOneHasManyToManyHasManyRelationModification,
19
- ConvertOneToManyRelationModification,
20
- CreateRelationInverseSideModification,
21
- CreateRelationModification,
22
- DisableOrphanRemovalModification,
23
- EnableOrphanRemovalModification,
24
- MakeRelationNotNullModification,
25
- MakeRelationNullableModification,
26
- ToggleJunctionEventLogModification,
27
- UpdateRelationOnDeleteModification,
28
- UpdateRelationOrderByModification,
14
+ createEnumModification,
15
+ removeEnumModification,
16
+ updateEnumModification,
17
+ } from './enums'
18
+ import { removeFieldModification, updateFieldNameModification } from './fields'
19
+ import {
20
+ convertOneHasManyToManyHasManyRelationModification,
21
+ convertOneToManyRelationModification,
22
+ createRelationInverseSideModification,
23
+ createRelationModification, disableOrphanRemovalModification,
24
+ enableOrphanRemovalModification,
25
+ makeRelationNotNullModification,
26
+ makeRelationNullableModification, toggleJunctionEventLogModification,
27
+ updateRelationOnDeleteModification,
28
+ updateRelationOrderByModification,
29
29
  } from './relations'
30
- import { UpdateViewModification } from './entities/UpdateViewModification'
30
+ import { patchValidationSchemaModification, updateValidationSchemaModification } from './validation'
31
+ import { createIndexModification, removeIndexModification } from './indexes'
32
+
31
33
 
32
34
  class ModificationHandlerFactory {
33
- constructor(private readonly map: Record<string, ModificationHandlerStatic<any>>) {}
35
+ constructor(private readonly map: Record<string, ModificationType<string, any>>) {}
34
36
 
35
37
  public create<D>(name: string, data: D, schema: Schema, options: ModificationHandlerOptions): ModificationHandler<D> {
36
38
  if (!this.map[name]) {
37
39
  throw new Error(`Undefined modification handler for ${name}`)
38
40
  }
39
- return new this.map[name](data, schema, options)
41
+ return this.map[name].createHandler(data, schema, options)
40
42
  }
41
43
  }
42
44
 
43
45
  namespace ModificationHandlerFactory {
44
- export type HandlerMap<D> = { [modificationName: string]: ModificationHandlerStatic<D> }
46
+ type HandlerMap<D> = { [modificationName: string]: ModificationType<string, D> }
45
47
 
46
48
  const handlers = [
47
- UpdateAclSchemaModification,
48
- PatchAclSchemaModification,
49
- CreateColumnModification,
50
- UpdateColumnDefinitionModification,
51
- UpdateColumnNameModification,
52
- CreateUniqueConstraintModification,
53
- RemoveUniqueConstraintModification,
54
- CreateEntityModification,
55
- RemoveEntityModification,
56
- UpdateEntityNameModification,
57
- UpdateEntityTableNameModification,
58
- UpdateViewModification,
59
- CreateViewModification,
60
- CreateEnumModification,
61
- RemoveEnumModification,
62
- UpdateEnumModification,
63
- RemoveFieldModification,
64
- UpdateFieldNameModification,
65
- CreateRelationInverseSideModification,
66
- CreateRelationModification,
67
- UpdateRelationOnDeleteModification,
68
- UpdateRelationOrderByModification,
69
- MakeRelationNotNullModification,
70
- MakeRelationNullableModification,
71
- EnableOrphanRemovalModification,
72
- DisableOrphanRemovalModification,
73
- UpdateValidationSchemaModification,
74
- PatchValidationSchemaModification,
75
- ConvertOneToManyRelationModification,
76
- ToggleEventLogModification,
77
- ToggleJunctionEventLogModification,
78
- ConvertOneHasManyToManyHasManyRelationModification,
49
+ updateAclSchemaModification,
50
+ patchAclSchemaModification,
51
+ createColumnModification,
52
+ updateColumnDefinitionModification,
53
+ updateColumnNameModification,
54
+ createUniqueConstraintModification,
55
+ removeUniqueConstraintModification,
56
+ createIndexModification,
57
+ removeIndexModification,
58
+ createEntityModification,
59
+ removeEntityModification,
60
+ updateEntityNameModification,
61
+ updateEntityTableNameModification,
62
+ updateViewModification,
63
+ createViewModification,
64
+ createEnumModification,
65
+ removeEnumModification,
66
+ updateEnumModification,
67
+ removeFieldModification,
68
+ updateFieldNameModification,
69
+ createRelationInverseSideModification,
70
+ createRelationModification,
71
+ updateRelationOnDeleteModification,
72
+ updateRelationOrderByModification,
73
+ makeRelationNotNullModification,
74
+ makeRelationNullableModification,
75
+ enableOrphanRemovalModification,
76
+ disableOrphanRemovalModification,
77
+ updateValidationSchemaModification,
78
+ patchValidationSchemaModification,
79
+ convertOneToManyRelationModification,
80
+ toggleEventLogModification,
81
+ toggleJunctionEventLogModification,
82
+ convertOneHasManyToManyHasManyRelationModification,
79
83
  ]
80
84
 
81
85
  export const defaultFactoryMap: HandlerMap<any> = Object.fromEntries(handlers.map(it => [it.id, it]))
82
86
  }
83
87
 
84
- export default ModificationHandlerFactory
88
+ export { ModificationHandlerFactory }
@@ -1,12 +1,10 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations'
2
2
  import { SchemaUpdater } from '../utils/schemaUpdateUtils'
3
- import { ModificationHandlerStatic } from '../ModificationHandler'
3
+ import { createModificationType, ModificationHandler } from '../ModificationHandler'
4
4
  import { applyPatch, Operation } from 'rfc6902'
5
5
  import deepCopy from '../../utils/deepCopy'
6
6
 
7
- export const PatchAclSchemaModification: ModificationHandlerStatic<PatchAclSchemaModificationData> = class {
8
- static id = 'patchAclSchema'
9
-
7
+ export class PatchAclSchemaModificationHandler implements ModificationHandler<PatchAclSchemaModificationData>{
10
8
  constructor(private readonly data: PatchAclSchemaModificationData) {}
11
9
 
12
10
  public createSql(builder: MigrationBuilder): void {}
@@ -29,12 +27,13 @@ export const PatchAclSchemaModification: ModificationHandlerStatic<PatchAclSchem
29
27
  describe() {
30
28
  return { message: 'Update ACL schema' }
31
29
  }
32
-
33
- static createModification(data: PatchAclSchemaModificationData) {
34
- return { modification: this.id, ...data }
35
- }
36
30
  }
37
31
 
32
+ export const patchAclSchemaModification = createModificationType({
33
+ id: 'patchAclSchema',
34
+ handler: PatchAclSchemaModificationHandler,
35
+ })
36
+
38
37
  export interface PatchAclSchemaModificationData {
39
38
  patch: Operation[]
40
39
  }
@@ -1,14 +1,12 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations'
2
2
  import { Acl, Schema } from '@contember/schema'
3
3
  import { SchemaUpdater } from '../utils/schemaUpdateUtils'
4
- import { ModificationHandlerStatic } from '../ModificationHandler'
4
+ import { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'
5
5
  import deepEqual from 'fast-deep-equal'
6
6
  import { createPatch } from 'rfc6902'
7
- import { PatchAclSchemaModification } from './PatchAclSchemaModification'
8
-
9
- export const UpdateAclSchemaModification: ModificationHandlerStatic<UpdateAclSchemaModificationData> = class {
10
- public static id = 'updateAclSchema'
7
+ import { patchAclSchemaModification } from './PatchAclSchemaModification'
11
8
 
9
+ export class UpdateAclSchemaModificationHandler implements ModificationHandler<UpdateAclSchemaModificationData>{
12
10
  constructor(private readonly data: UpdateAclSchemaModificationData) {}
13
11
 
14
12
  public createSql(builder: MigrationBuilder): void {}
@@ -23,23 +21,26 @@ export const UpdateAclSchemaModification: ModificationHandlerStatic<UpdateAclSch
23
21
  describe() {
24
22
  return { message: 'Update ACL schema' }
25
23
  }
24
+ }
26
25
 
27
- static createModification(data: UpdateAclSchemaModificationData) {
28
- return { modification: this.id, ...data }
29
- }
26
+ export interface UpdateAclSchemaModificationData {
27
+ schema: Acl.Schema
28
+ }
30
29
 
31
- static createDiff(originalSchema: Schema, updatedSchema: Schema) {
30
+ export const updateAclSchemaModification = createModificationType({
31
+ id: 'updateAclSchema',
32
+ handler: UpdateAclSchemaModificationHandler,
33
+ })
34
+
35
+ export class UpdateAclSchemaDiffer implements Differ {
36
+ createDiff(originalSchema: Schema, updatedSchema: Schema) {
32
37
  if (deepEqual(originalSchema.acl, updatedSchema.acl)) {
33
38
  return []
34
39
  }
35
40
  const patch = createPatch(originalSchema.acl, updatedSchema.acl)
36
41
  if (patch.length <= 100) {
37
- return [PatchAclSchemaModification.createModification({ patch })]
42
+ return [patchAclSchemaModification.createModification({ patch })]
38
43
  }
39
- return [UpdateAclSchemaModification.createModification({ schema: updatedSchema.acl })]
44
+ return [updateAclSchemaModification.createModification({ schema: updatedSchema.acl })]
40
45
  }
41
46
  }
42
-
43
- export interface UpdateAclSchemaModificationData {
44
- schema: Acl.Schema
45
- }
@@ -1,15 +1,13 @@
1
1
  import { escapeValue, MigrationBuilder } from '@contember/database-migrations'
2
2
  import { Model, Schema } from '@contember/schema'
3
3
  import { addField, SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'
4
- import { ModificationHandlerStatic } from '../ModificationHandler'
4
+ import { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'
5
5
  import { wrapIdentifier } from '../../utils/dbHelpers'
6
6
  import { getColumnName, isColumn } from '@contember/schema-utils'
7
7
  import { ImplementationException } from '../../exceptions'
8
8
  import { createFields } from '../utils/diffUtils'
9
9
 
10
- export const CreateColumnModification: ModificationHandlerStatic<CreateColumnModificationData> = class {
11
- static id = 'createColumn'
12
-
10
+ export class CreateColumnModificationHandler implements ModificationHandler<CreateColumnModificationData> {
13
11
  constructor(private readonly data: CreateColumnModificationData, private readonly schema: Schema) {}
14
12
 
15
13
  public createSql(builder: MigrationBuilder): void {
@@ -63,17 +61,28 @@ export const CreateColumnModification: ModificationHandlerStatic<CreateColumnMod
63
61
  : undefined
64
62
  return { message: `Add field ${this.data.entityName}.${this.data.field.name}`, failureWarning }
65
63
  }
64
+ }
66
65
 
67
- static createModification(data: CreateColumnModificationData) {
68
- return { modification: this.id, ...data }
69
- }
66
+ export interface CreateColumnModificationData {
67
+ entityName: string
68
+ field: Model.AnyColumn
69
+ fillValue?: any
70
+ copyValue?: string
71
+ }
70
72
 
71
- static createDiff(originalSchema: Schema, updatedSchema: Schema) {
73
+
74
+ export const createColumnModification = createModificationType({
75
+ id: 'createColumn',
76
+ handler: CreateColumnModificationHandler,
77
+ })
78
+
79
+ export class CreateColumnDiffer implements Differ {
80
+ createDiff(originalSchema: Schema, updatedSchema: Schema) {
72
81
  return createFields(originalSchema, updatedSchema, ({ newField, updatedEntity }) => {
73
82
  if (!isColumn(newField)) {
74
83
  return undefined
75
84
  }
76
- return CreateColumnModification.createModification({
85
+ return createColumnModification.createModification({
77
86
  entityName: updatedEntity.name,
78
87
  field: newField,
79
88
  ...(newField.default !== undefined ? { fillValue: newField.default } : {}),
@@ -81,10 +90,3 @@ export const CreateColumnModification: ModificationHandlerStatic<CreateColumnMod
81
90
  })
82
91
  }
83
92
  }
84
-
85
- export interface CreateColumnModificationData {
86
- entityName: string
87
- field: Model.AnyColumn
88
- fillValue?: any
89
- copyValue?: string
90
- }
@@ -1,13 +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 { ModificationHandlerStatic } from '../ModificationHandler'
4
+ import { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'
5
5
  import deepEqual from 'fast-deep-equal'
6
6
  import { updateColumns } from '../utils/diffUtils'
7
7
  import { wrapIdentifier } from '@contember/database'
8
8
 
9
- export const UpdateColumnDefinitionModification: ModificationHandlerStatic<UpdateColumnDefinitionModificationData> = class {
10
- static id = 'updateColumnDefinition'
9
+ export class UpdateColumnDefinitionModificationHandler implements ModificationHandler<UpdateColumnDefinitionModificationData> {
11
10
  constructor(private readonly data: UpdateColumnDefinitionModificationData, private readonly schema: Schema) {}
12
11
 
13
12
  public createSql(builder: MigrationBuilder): void {
@@ -71,12 +70,33 @@ export const UpdateColumnDefinitionModification: ModificationHandlerStatic<Updat
71
70
  failureWarning,
72
71
  }
73
72
  }
73
+ }
74
74
 
75
- static createModification(data: UpdateColumnDefinitionModificationData) {
76
- return { modification: this.id, ...data }
75
+ type SequenceDefinitionAlter =
76
+ & Model.AnyColumn['sequence']
77
+ & {
78
+ restart?: boolean
79
+ }
80
+
81
+ type ColumnDefinitionAlter =
82
+ & Model.AnyColumn
83
+ & {
84
+ sequence?: SequenceDefinitionAlter
77
85
  }
78
86
 
79
- static createDiff(originalSchema: Schema, updatedSchema: Schema) {
87
+ export interface UpdateColumnDefinitionModificationData {
88
+ entityName: string
89
+ fieldName: string
90
+ definition: ColumnDefinitionAlter
91
+ }
92
+
93
+ export const updateColumnDefinitionModification = createModificationType({
94
+ id: 'updateColumnDefinition',
95
+ handler: UpdateColumnDefinitionModificationHandler,
96
+ })
97
+
98
+ export class UpdateColumnDefinitionDiffer implements Differ {
99
+ createDiff(originalSchema: Schema, updatedSchema: Schema) {
80
100
  return updateColumns(originalSchema, updatedSchema, ({ originalColumn, updatedColumn, updatedEntity }) => {
81
101
  const {
82
102
  name: {},
@@ -91,7 +111,7 @@ export const UpdateColumnDefinitionModification: ModificationHandlerStatic<Updat
91
111
  if (deepEqual(updatedDefinition, originalDefinition)) {
92
112
  return undefined
93
113
  }
94
- return UpdateColumnDefinitionModification.createModification({
114
+ return updateColumnDefinitionModification.createModification({
95
115
  entityName: updatedEntity.name,
96
116
  fieldName: updatedColumn.name,
97
117
  definition: updatedDefinition,
@@ -99,21 +119,3 @@ export const UpdateColumnDefinitionModification: ModificationHandlerStatic<Updat
99
119
  })
100
120
  }
101
121
  }
102
-
103
- type SequenceDefinitionAlter =
104
- & Model.AnyColumn['sequence']
105
- & {
106
- restart?: boolean
107
- }
108
-
109
- type ColumnDefinitionAlter =
110
- & Model.AnyColumn
111
- & {
112
- sequence?: SequenceDefinitionAlter
113
- }
114
-
115
- export interface UpdateColumnDefinitionModificationData {
116
- entityName: string
117
- fieldName: string
118
- definition: ColumnDefinitionAlter
119
- }