@contember/schema-migrations 2.1.0-alpha.9 → 2.1.0-beta.2

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 (563) hide show
  1. package/CLAUDE.md +48 -0
  2. package/dist/development/src/Migration.cjs.map +1 -1
  3. package/dist/development/src/Migration.js.map +1 -1
  4. package/dist/development/src/MigrationDescriber.cjs.map +1 -1
  5. package/dist/development/src/MigrationDescriber.js.map +1 -1
  6. package/dist/development/src/SchemaDiffer.cjs +1 -1
  7. package/dist/development/src/SchemaDiffer.cjs.map +1 -1
  8. package/dist/development/src/SchemaDiffer.js +1 -1
  9. package/dist/development/src/SchemaDiffer.js.map +1 -1
  10. package/dist/development/src/SchemaMigrator.cjs.map +1 -1
  11. package/dist/development/src/SchemaMigrator.js.map +1 -1
  12. package/dist/development/src/modifications/ModificationHandler.cjs.map +1 -1
  13. package/dist/development/src/modifications/ModificationHandler.js.map +1 -1
  14. package/dist/development/src/modifications/ModificationHandlerFactory.cjs +2 -0
  15. package/dist/development/src/modifications/ModificationHandlerFactory.cjs.map +1 -1
  16. package/dist/development/src/modifications/ModificationHandlerFactory.js +2 -0
  17. package/dist/development/src/modifications/ModificationHandlerFactory.js.map +1 -1
  18. package/dist/development/src/modifications/NoopModification.cjs.map +1 -1
  19. package/dist/development/src/modifications/NoopModification.js.map +1 -1
  20. package/dist/development/src/modifications/acl/PatchAclSchemaModification.cjs.map +1 -1
  21. package/dist/development/src/modifications/acl/PatchAclSchemaModification.js.map +1 -1
  22. package/dist/development/src/modifications/acl/UpdateAclSchemaModification.cjs +1 -1
  23. package/dist/development/src/modifications/acl/UpdateAclSchemaModification.cjs.map +1 -1
  24. package/dist/development/src/modifications/acl/UpdateAclSchemaModification.js +1 -1
  25. package/dist/development/src/modifications/acl/UpdateAclSchemaModification.js.map +1 -1
  26. package/dist/development/src/modifications/actions/CreateTargetModification.cjs.map +1 -1
  27. package/dist/development/src/modifications/actions/CreateTargetModification.js.map +1 -1
  28. package/dist/development/src/modifications/actions/CreateTriggerModification.cjs.map +1 -1
  29. package/dist/development/src/modifications/actions/CreateTriggerModification.js.map +1 -1
  30. package/dist/development/src/modifications/actions/PatchTriggerModification.cjs +44 -0
  31. package/dist/development/src/modifications/actions/PatchTriggerModification.cjs.map +1 -0
  32. package/dist/development/src/modifications/actions/PatchTriggerModification.js +44 -0
  33. package/dist/development/src/modifications/actions/PatchTriggerModification.js.map +1 -0
  34. package/dist/development/src/modifications/actions/RemoveTargetModification.cjs.map +1 -1
  35. package/dist/development/src/modifications/actions/RemoveTargetModification.js.map +1 -1
  36. package/dist/development/src/modifications/actions/RemoveTriggerModification.cjs.map +1 -1
  37. package/dist/development/src/modifications/actions/RemoveTriggerModification.js.map +1 -1
  38. package/dist/development/src/modifications/actions/UpdateTargetModification.cjs.map +1 -1
  39. package/dist/development/src/modifications/actions/UpdateTargetModification.js.map +1 -1
  40. package/dist/development/src/modifications/actions/UpdateTriggerModification.cjs +16 -1
  41. package/dist/development/src/modifications/actions/UpdateTriggerModification.cjs.map +1 -1
  42. package/dist/development/src/modifications/actions/UpdateTriggerModification.js +16 -1
  43. package/dist/development/src/modifications/actions/UpdateTriggerModification.js.map +1 -1
  44. package/dist/development/src/modifications/columns/CreateColumnModification.cjs.map +1 -1
  45. package/dist/development/src/modifications/columns/CreateColumnModification.js.map +1 -1
  46. package/dist/development/src/modifications/columns/UpdateColumnDefinitionModification.cjs +2 -2
  47. package/dist/development/src/modifications/columns/UpdateColumnDefinitionModification.cjs.map +1 -1
  48. package/dist/development/src/modifications/columns/UpdateColumnDefinitionModification.js +2 -2
  49. package/dist/development/src/modifications/columns/UpdateColumnDefinitionModification.js.map +1 -1
  50. package/dist/development/src/modifications/columns/UpdateColumnNameModification.cjs +37 -45
  51. package/dist/development/src/modifications/columns/UpdateColumnNameModification.cjs.map +1 -1
  52. package/dist/development/src/modifications/columns/UpdateColumnNameModification.js +37 -45
  53. package/dist/development/src/modifications/columns/UpdateColumnNameModification.js.map +1 -1
  54. package/dist/development/src/modifications/columns/columnUtils.cjs.map +1 -1
  55. package/dist/development/src/modifications/columns/columnUtils.js.map +1 -1
  56. package/dist/development/src/modifications/constraints/CreateUniqueConstraintModification.cjs +8 -5
  57. package/dist/development/src/modifications/constraints/CreateUniqueConstraintModification.cjs.map +1 -1
  58. package/dist/development/src/modifications/constraints/CreateUniqueConstraintModification.js +8 -5
  59. package/dist/development/src/modifications/constraints/CreateUniqueConstraintModification.js.map +1 -1
  60. package/dist/development/src/modifications/constraints/RemoveUniqueConstraintModification.cjs.map +1 -1
  61. package/dist/development/src/modifications/constraints/RemoveUniqueConstraintModification.js.map +1 -1
  62. package/dist/development/src/modifications/constraints/utils.cjs.map +1 -1
  63. package/dist/development/src/modifications/constraints/utils.js.map +1 -1
  64. package/dist/development/src/modifications/differs/RemoveChangedFieldDiffer.cjs.map +1 -1
  65. package/dist/development/src/modifications/differs/RemoveChangedFieldDiffer.js.map +1 -1
  66. package/dist/development/src/modifications/differs/RemoveViewDiffer.cjs +0 -2
  67. package/dist/development/src/modifications/differs/RemoveViewDiffer.cjs.map +1 -1
  68. package/dist/development/src/modifications/differs/RemoveViewDiffer.js +0 -2
  69. package/dist/development/src/modifications/differs/RemoveViewDiffer.js.map +1 -1
  70. package/dist/development/src/modifications/entities/CreateEntityModification.cjs.map +1 -1
  71. package/dist/development/src/modifications/entities/CreateEntityModification.js.map +1 -1
  72. package/dist/development/src/modifications/entities/CreateViewModification.cjs.map +1 -1
  73. package/dist/development/src/modifications/entities/CreateViewModification.js.map +1 -1
  74. package/dist/development/src/modifications/entities/RemoveEntityModification.cjs.map +1 -1
  75. package/dist/development/src/modifications/entities/RemoveEntityModification.js +1 -1
  76. package/dist/development/src/modifications/entities/RemoveEntityModification.js.map +1 -1
  77. package/dist/development/src/modifications/entities/ToggleEventLogModification.cjs.map +1 -1
  78. package/dist/development/src/modifications/entities/ToggleEventLogModification.js.map +1 -1
  79. package/dist/development/src/modifications/entities/UpdateEntityNameModification.cjs.map +1 -1
  80. package/dist/development/src/modifications/entities/UpdateEntityNameModification.js +1 -1
  81. package/dist/development/src/modifications/entities/UpdateEntityNameModification.js.map +1 -1
  82. package/dist/development/src/modifications/entities/UpdateEntityOrderByModification.cjs.map +1 -1
  83. package/dist/development/src/modifications/entities/UpdateEntityOrderByModification.js.map +1 -1
  84. package/dist/development/src/modifications/entities/UpdateEntityTableNameModification.cjs +6 -4
  85. package/dist/development/src/modifications/entities/UpdateEntityTableNameModification.cjs.map +1 -1
  86. package/dist/development/src/modifications/entities/UpdateEntityTableNameModification.js +6 -4
  87. package/dist/development/src/modifications/entities/UpdateEntityTableNameModification.js.map +1 -1
  88. package/dist/development/src/modifications/entities/UpdateViewModification.cjs.map +1 -1
  89. package/dist/development/src/modifications/entities/UpdateViewModification.js.map +1 -1
  90. package/dist/development/src/modifications/enums/CreateEnumModification.cjs +6 -4
  91. package/dist/development/src/modifications/enums/CreateEnumModification.cjs.map +1 -1
  92. package/dist/development/src/modifications/enums/CreateEnumModification.js +7 -5
  93. package/dist/development/src/modifications/enums/CreateEnumModification.js.map +1 -1
  94. package/dist/development/src/modifications/enums/RemoveEnumModification.cjs.map +1 -1
  95. package/dist/development/src/modifications/enums/RemoveEnumModification.js.map +1 -1
  96. package/dist/development/src/modifications/enums/UpdateEnumModification.cjs +36 -8
  97. package/dist/development/src/modifications/enums/UpdateEnumModification.cjs.map +1 -1
  98. package/dist/development/src/modifications/enums/UpdateEnumModification.js +34 -6
  99. package/dist/development/src/modifications/enums/UpdateEnumModification.js.map +1 -1
  100. package/dist/development/src/modifications/enums/enumUtils.cjs.map +1 -1
  101. package/dist/development/src/modifications/enums/enumUtils.js.map +1 -1
  102. package/dist/development/src/modifications/fields/RemoveFieldModification.cjs.map +1 -1
  103. package/dist/development/src/modifications/fields/RemoveFieldModification.js +1 -1
  104. package/dist/development/src/modifications/fields/RemoveFieldModification.js.map +1 -1
  105. package/dist/development/src/modifications/fields/UpdateFieldNameModification.cjs +9 -5
  106. package/dist/development/src/modifications/fields/UpdateFieldNameModification.cjs.map +1 -1
  107. package/dist/development/src/modifications/fields/UpdateFieldNameModification.js +10 -6
  108. package/dist/development/src/modifications/fields/UpdateFieldNameModification.js.map +1 -1
  109. package/dist/development/src/modifications/indexes/CreateIndexModification.cjs +10 -6
  110. package/dist/development/src/modifications/indexes/CreateIndexModification.cjs.map +1 -1
  111. package/dist/development/src/modifications/indexes/CreateIndexModification.js +10 -6
  112. package/dist/development/src/modifications/indexes/CreateIndexModification.js.map +1 -1
  113. package/dist/development/src/modifications/indexes/RemoveIndexModification.cjs.map +1 -1
  114. package/dist/development/src/modifications/indexes/RemoveIndexModification.js.map +1 -1
  115. package/dist/development/src/modifications/indexes/utils.cjs.map +1 -1
  116. package/dist/development/src/modifications/indexes/utils.js.map +1 -1
  117. package/dist/development/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.cjs.map +1 -1
  118. package/dist/development/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.js.map +1 -1
  119. package/dist/development/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.cjs.map +1 -1
  120. package/dist/development/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.js.map +1 -1
  121. package/dist/development/src/modifications/relations/ConvertOneToManyRelationModification.cjs.map +1 -1
  122. package/dist/development/src/modifications/relations/ConvertOneToManyRelationModification.js.map +1 -1
  123. package/dist/development/src/modifications/relations/CreateRelationInverseSideModification.cjs.map +1 -1
  124. package/dist/development/src/modifications/relations/CreateRelationInverseSideModification.js.map +1 -1
  125. package/dist/development/src/modifications/relations/CreateRelationModification.cjs.map +1 -1
  126. package/dist/development/src/modifications/relations/CreateRelationModification.js.map +1 -1
  127. package/dist/development/src/modifications/relations/DisableOrphanRemovalModification.cjs.map +1 -1
  128. package/dist/development/src/modifications/relations/DisableOrphanRemovalModification.js.map +1 -1
  129. package/dist/development/src/modifications/relations/EnableOrphanRemovalModification.cjs.map +1 -1
  130. package/dist/development/src/modifications/relations/EnableOrphanRemovalModification.js.map +1 -1
  131. package/dist/development/src/modifications/relations/MakeRelationNotNullModification.cjs.map +1 -1
  132. package/dist/development/src/modifications/relations/MakeRelationNotNullModification.js.map +1 -1
  133. package/dist/development/src/modifications/relations/MakeRelationNullableModification.cjs.map +1 -1
  134. package/dist/development/src/modifications/relations/MakeRelationNullableModification.js.map +1 -1
  135. package/dist/development/src/modifications/relations/ToggleJunctionEventLogModification.cjs.map +1 -1
  136. package/dist/development/src/modifications/relations/ToggleJunctionEventLogModification.js.map +1 -1
  137. package/dist/development/src/modifications/relations/UpdateRelationOnDeleteModification.cjs.map +1 -1
  138. package/dist/development/src/modifications/relations/UpdateRelationOnDeleteModification.js.map +1 -1
  139. package/dist/development/src/modifications/relations/UpdateRelationOrderByModification.cjs.map +1 -1
  140. package/dist/development/src/modifications/relations/UpdateRelationOrderByModification.js.map +1 -1
  141. package/dist/development/src/modifications/relations/helpers.cjs.map +1 -1
  142. package/dist/development/src/modifications/relations/helpers.js.map +1 -1
  143. package/dist/development/src/modifications/relations/normalization.cjs.map +1 -1
  144. package/dist/development/src/modifications/relations/normalization.js.map +1 -1
  145. package/dist/development/src/modifications/settings/UpdateSettingsModification.cjs +6 -4
  146. package/dist/development/src/modifications/settings/UpdateSettingsModification.cjs.map +1 -1
  147. package/dist/development/src/modifications/settings/UpdateSettingsModification.js +6 -4
  148. package/dist/development/src/modifications/settings/UpdateSettingsModification.js.map +1 -1
  149. package/dist/development/src/modifications/upgrade/RemoveIndexNamesModification.cjs +0 -2
  150. package/dist/development/src/modifications/upgrade/RemoveIndexNamesModification.cjs.map +1 -1
  151. package/dist/development/src/modifications/upgrade/RemoveIndexNamesModification.js +0 -2
  152. package/dist/development/src/modifications/upgrade/RemoveIndexNamesModification.js.map +1 -1
  153. package/dist/development/src/modifications/utils/columnUtils.cjs.map +1 -1
  154. package/dist/development/src/modifications/utils/columnUtils.js.map +1 -1
  155. package/dist/development/src/modifications/utils/createJunctionTable.cjs.map +1 -1
  156. package/dist/development/src/modifications/utils/createJunctionTable.js.map +1 -1
  157. package/dist/development/src/modifications/utils/diffUtils.cjs.map +1 -1
  158. package/dist/development/src/modifications/utils/diffUtils.js.map +1 -1
  159. package/dist/development/src/modifications/utils/getPrimaryColumnType.cjs.map +1 -1
  160. package/dist/development/src/modifications/utils/getPrimaryColumnType.js.map +1 -1
  161. package/dist/development/src/modifications/utils/schemaUpdateUtils.cjs.map +1 -1
  162. package/dist/development/src/modifications/utils/schemaUpdateUtils.js.map +1 -1
  163. package/dist/development/src/modifications/utils/sqlUpdateUtils.cjs.map +1 -1
  164. package/dist/development/src/modifications/utils/sqlUpdateUtils.js.map +1 -1
  165. package/dist/development/src/modifications/utils/valueUtils.cjs.map +1 -1
  166. package/dist/development/src/modifications/utils/valueUtils.js.map +1 -1
  167. package/dist/development/src/modifications/utils/viewDependencies.cjs.map +1 -1
  168. package/dist/development/src/modifications/utils/viewDependencies.js.map +1 -1
  169. package/dist/development/src/modifications/validation/PatchValidationSchemaModification.cjs.map +1 -1
  170. package/dist/development/src/modifications/validation/PatchValidationSchemaModification.js.map +1 -1
  171. package/dist/development/src/modifications/validation/UpdateValidationSchemaModification.cjs.map +1 -1
  172. package/dist/development/src/modifications/validation/UpdateValidationSchemaModification.js.map +1 -1
  173. package/dist/development/src/utils/dbHelpers.cjs.map +1 -1
  174. package/dist/development/src/utils/dbHelpers.js.map +1 -1
  175. package/dist/development/src/utils/deepCopy.cjs.map +1 -1
  176. package/dist/development/src/utils/deepCopy.js.map +1 -1
  177. package/dist/development/src/utils/escapeSqlString.cjs +1 -1
  178. package/dist/development/src/utils/escapeSqlString.cjs.map +1 -1
  179. package/dist/development/src/utils/escapeSqlString.js +1 -1
  180. package/dist/development/src/utils/escapeSqlString.js.map +1 -1
  181. package/dist/development/src/utils/isDefined.cjs.map +1 -1
  182. package/dist/development/src/utils/isDefined.js.map +1 -1
  183. package/dist/development/src/utils/isIt.cjs.map +1 -1
  184. package/dist/development/src/utils/isIt.js.map +1 -1
  185. package/dist/production/src/Migration.cjs.map +1 -1
  186. package/dist/production/src/Migration.js.map +1 -1
  187. package/dist/production/src/MigrationDescriber.cjs.map +1 -1
  188. package/dist/production/src/MigrationDescriber.js.map +1 -1
  189. package/dist/production/src/SchemaDiffer.cjs +1 -1
  190. package/dist/production/src/SchemaDiffer.cjs.map +1 -1
  191. package/dist/production/src/SchemaDiffer.js +1 -1
  192. package/dist/production/src/SchemaDiffer.js.map +1 -1
  193. package/dist/production/src/SchemaMigrator.cjs.map +1 -1
  194. package/dist/production/src/SchemaMigrator.js.map +1 -1
  195. package/dist/production/src/modifications/ModificationHandler.cjs.map +1 -1
  196. package/dist/production/src/modifications/ModificationHandler.js.map +1 -1
  197. package/dist/production/src/modifications/ModificationHandlerFactory.cjs +2 -0
  198. package/dist/production/src/modifications/ModificationHandlerFactory.cjs.map +1 -1
  199. package/dist/production/src/modifications/ModificationHandlerFactory.js +2 -0
  200. package/dist/production/src/modifications/ModificationHandlerFactory.js.map +1 -1
  201. package/dist/production/src/modifications/NoopModification.cjs.map +1 -1
  202. package/dist/production/src/modifications/NoopModification.js.map +1 -1
  203. package/dist/production/src/modifications/acl/PatchAclSchemaModification.cjs.map +1 -1
  204. package/dist/production/src/modifications/acl/PatchAclSchemaModification.js.map +1 -1
  205. package/dist/production/src/modifications/acl/UpdateAclSchemaModification.cjs +1 -1
  206. package/dist/production/src/modifications/acl/UpdateAclSchemaModification.cjs.map +1 -1
  207. package/dist/production/src/modifications/acl/UpdateAclSchemaModification.js +1 -1
  208. package/dist/production/src/modifications/acl/UpdateAclSchemaModification.js.map +1 -1
  209. package/dist/production/src/modifications/actions/CreateTargetModification.cjs.map +1 -1
  210. package/dist/production/src/modifications/actions/CreateTargetModification.js.map +1 -1
  211. package/dist/production/src/modifications/actions/CreateTriggerModification.cjs.map +1 -1
  212. package/dist/production/src/modifications/actions/CreateTriggerModification.js.map +1 -1
  213. package/dist/production/src/modifications/actions/PatchTriggerModification.cjs +44 -0
  214. package/dist/production/src/modifications/actions/PatchTriggerModification.cjs.map +1 -0
  215. package/dist/production/src/modifications/actions/PatchTriggerModification.js +44 -0
  216. package/dist/production/src/modifications/actions/PatchTriggerModification.js.map +1 -0
  217. package/dist/production/src/modifications/actions/RemoveTargetModification.cjs.map +1 -1
  218. package/dist/production/src/modifications/actions/RemoveTargetModification.js.map +1 -1
  219. package/dist/production/src/modifications/actions/RemoveTriggerModification.cjs.map +1 -1
  220. package/dist/production/src/modifications/actions/RemoveTriggerModification.js.map +1 -1
  221. package/dist/production/src/modifications/actions/UpdateTargetModification.cjs.map +1 -1
  222. package/dist/production/src/modifications/actions/UpdateTargetModification.js.map +1 -1
  223. package/dist/production/src/modifications/actions/UpdateTriggerModification.cjs +16 -1
  224. package/dist/production/src/modifications/actions/UpdateTriggerModification.cjs.map +1 -1
  225. package/dist/production/src/modifications/actions/UpdateTriggerModification.js +16 -1
  226. package/dist/production/src/modifications/actions/UpdateTriggerModification.js.map +1 -1
  227. package/dist/production/src/modifications/columns/CreateColumnModification.cjs.map +1 -1
  228. package/dist/production/src/modifications/columns/CreateColumnModification.js.map +1 -1
  229. package/dist/production/src/modifications/columns/UpdateColumnDefinitionModification.cjs +2 -2
  230. package/dist/production/src/modifications/columns/UpdateColumnDefinitionModification.cjs.map +1 -1
  231. package/dist/production/src/modifications/columns/UpdateColumnDefinitionModification.js +2 -2
  232. package/dist/production/src/modifications/columns/UpdateColumnDefinitionModification.js.map +1 -1
  233. package/dist/production/src/modifications/columns/UpdateColumnNameModification.cjs +37 -45
  234. package/dist/production/src/modifications/columns/UpdateColumnNameModification.cjs.map +1 -1
  235. package/dist/production/src/modifications/columns/UpdateColumnNameModification.js +37 -45
  236. package/dist/production/src/modifications/columns/UpdateColumnNameModification.js.map +1 -1
  237. package/dist/production/src/modifications/columns/columnUtils.cjs.map +1 -1
  238. package/dist/production/src/modifications/columns/columnUtils.js.map +1 -1
  239. package/dist/production/src/modifications/constraints/CreateUniqueConstraintModification.cjs +8 -5
  240. package/dist/production/src/modifications/constraints/CreateUniqueConstraintModification.cjs.map +1 -1
  241. package/dist/production/src/modifications/constraints/CreateUniqueConstraintModification.js +8 -5
  242. package/dist/production/src/modifications/constraints/CreateUniqueConstraintModification.js.map +1 -1
  243. package/dist/production/src/modifications/constraints/RemoveUniqueConstraintModification.cjs.map +1 -1
  244. package/dist/production/src/modifications/constraints/RemoveUniqueConstraintModification.js.map +1 -1
  245. package/dist/production/src/modifications/constraints/utils.cjs.map +1 -1
  246. package/dist/production/src/modifications/constraints/utils.js.map +1 -1
  247. package/dist/production/src/modifications/differs/RemoveChangedFieldDiffer.cjs.map +1 -1
  248. package/dist/production/src/modifications/differs/RemoveChangedFieldDiffer.js.map +1 -1
  249. package/dist/production/src/modifications/differs/RemoveViewDiffer.cjs +0 -2
  250. package/dist/production/src/modifications/differs/RemoveViewDiffer.cjs.map +1 -1
  251. package/dist/production/src/modifications/differs/RemoveViewDiffer.js +0 -2
  252. package/dist/production/src/modifications/differs/RemoveViewDiffer.js.map +1 -1
  253. package/dist/production/src/modifications/entities/CreateEntityModification.cjs.map +1 -1
  254. package/dist/production/src/modifications/entities/CreateEntityModification.js.map +1 -1
  255. package/dist/production/src/modifications/entities/CreateViewModification.cjs.map +1 -1
  256. package/dist/production/src/modifications/entities/CreateViewModification.js.map +1 -1
  257. package/dist/production/src/modifications/entities/RemoveEntityModification.cjs.map +1 -1
  258. package/dist/production/src/modifications/entities/RemoveEntityModification.js +1 -1
  259. package/dist/production/src/modifications/entities/RemoveEntityModification.js.map +1 -1
  260. package/dist/production/src/modifications/entities/ToggleEventLogModification.cjs.map +1 -1
  261. package/dist/production/src/modifications/entities/ToggleEventLogModification.js.map +1 -1
  262. package/dist/production/src/modifications/entities/UpdateEntityNameModification.cjs.map +1 -1
  263. package/dist/production/src/modifications/entities/UpdateEntityNameModification.js +1 -1
  264. package/dist/production/src/modifications/entities/UpdateEntityNameModification.js.map +1 -1
  265. package/dist/production/src/modifications/entities/UpdateEntityOrderByModification.cjs.map +1 -1
  266. package/dist/production/src/modifications/entities/UpdateEntityOrderByModification.js.map +1 -1
  267. package/dist/production/src/modifications/entities/UpdateEntityTableNameModification.cjs +6 -4
  268. package/dist/production/src/modifications/entities/UpdateEntityTableNameModification.cjs.map +1 -1
  269. package/dist/production/src/modifications/entities/UpdateEntityTableNameModification.js +6 -4
  270. package/dist/production/src/modifications/entities/UpdateEntityTableNameModification.js.map +1 -1
  271. package/dist/production/src/modifications/entities/UpdateViewModification.cjs.map +1 -1
  272. package/dist/production/src/modifications/entities/UpdateViewModification.js.map +1 -1
  273. package/dist/production/src/modifications/enums/CreateEnumModification.cjs +6 -4
  274. package/dist/production/src/modifications/enums/CreateEnumModification.cjs.map +1 -1
  275. package/dist/production/src/modifications/enums/CreateEnumModification.js +7 -5
  276. package/dist/production/src/modifications/enums/CreateEnumModification.js.map +1 -1
  277. package/dist/production/src/modifications/enums/RemoveEnumModification.cjs.map +1 -1
  278. package/dist/production/src/modifications/enums/RemoveEnumModification.js.map +1 -1
  279. package/dist/production/src/modifications/enums/UpdateEnumModification.cjs +36 -8
  280. package/dist/production/src/modifications/enums/UpdateEnumModification.cjs.map +1 -1
  281. package/dist/production/src/modifications/enums/UpdateEnumModification.js +34 -6
  282. package/dist/production/src/modifications/enums/UpdateEnumModification.js.map +1 -1
  283. package/dist/production/src/modifications/enums/enumUtils.cjs.map +1 -1
  284. package/dist/production/src/modifications/enums/enumUtils.js.map +1 -1
  285. package/dist/production/src/modifications/fields/RemoveFieldModification.cjs.map +1 -1
  286. package/dist/production/src/modifications/fields/RemoveFieldModification.js +1 -1
  287. package/dist/production/src/modifications/fields/RemoveFieldModification.js.map +1 -1
  288. package/dist/production/src/modifications/fields/UpdateFieldNameModification.cjs +9 -5
  289. package/dist/production/src/modifications/fields/UpdateFieldNameModification.cjs.map +1 -1
  290. package/dist/production/src/modifications/fields/UpdateFieldNameModification.js +10 -6
  291. package/dist/production/src/modifications/fields/UpdateFieldNameModification.js.map +1 -1
  292. package/dist/production/src/modifications/indexes/CreateIndexModification.cjs +10 -6
  293. package/dist/production/src/modifications/indexes/CreateIndexModification.cjs.map +1 -1
  294. package/dist/production/src/modifications/indexes/CreateIndexModification.js +10 -6
  295. package/dist/production/src/modifications/indexes/CreateIndexModification.js.map +1 -1
  296. package/dist/production/src/modifications/indexes/RemoveIndexModification.cjs.map +1 -1
  297. package/dist/production/src/modifications/indexes/RemoveIndexModification.js.map +1 -1
  298. package/dist/production/src/modifications/indexes/utils.cjs.map +1 -1
  299. package/dist/production/src/modifications/indexes/utils.js.map +1 -1
  300. package/dist/production/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.cjs.map +1 -1
  301. package/dist/production/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.js.map +1 -1
  302. package/dist/production/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.cjs.map +1 -1
  303. package/dist/production/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.js.map +1 -1
  304. package/dist/production/src/modifications/relations/ConvertOneToManyRelationModification.cjs.map +1 -1
  305. package/dist/production/src/modifications/relations/ConvertOneToManyRelationModification.js.map +1 -1
  306. package/dist/production/src/modifications/relations/CreateRelationInverseSideModification.cjs.map +1 -1
  307. package/dist/production/src/modifications/relations/CreateRelationInverseSideModification.js.map +1 -1
  308. package/dist/production/src/modifications/relations/CreateRelationModification.cjs.map +1 -1
  309. package/dist/production/src/modifications/relations/CreateRelationModification.js.map +1 -1
  310. package/dist/production/src/modifications/relations/DisableOrphanRemovalModification.cjs.map +1 -1
  311. package/dist/production/src/modifications/relations/DisableOrphanRemovalModification.js.map +1 -1
  312. package/dist/production/src/modifications/relations/EnableOrphanRemovalModification.cjs.map +1 -1
  313. package/dist/production/src/modifications/relations/EnableOrphanRemovalModification.js.map +1 -1
  314. package/dist/production/src/modifications/relations/MakeRelationNotNullModification.cjs.map +1 -1
  315. package/dist/production/src/modifications/relations/MakeRelationNotNullModification.js.map +1 -1
  316. package/dist/production/src/modifications/relations/MakeRelationNullableModification.cjs.map +1 -1
  317. package/dist/production/src/modifications/relations/MakeRelationNullableModification.js.map +1 -1
  318. package/dist/production/src/modifications/relations/ToggleJunctionEventLogModification.cjs.map +1 -1
  319. package/dist/production/src/modifications/relations/ToggleJunctionEventLogModification.js.map +1 -1
  320. package/dist/production/src/modifications/relations/UpdateRelationOnDeleteModification.cjs.map +1 -1
  321. package/dist/production/src/modifications/relations/UpdateRelationOnDeleteModification.js.map +1 -1
  322. package/dist/production/src/modifications/relations/UpdateRelationOrderByModification.cjs.map +1 -1
  323. package/dist/production/src/modifications/relations/UpdateRelationOrderByModification.js.map +1 -1
  324. package/dist/production/src/modifications/relations/helpers.cjs.map +1 -1
  325. package/dist/production/src/modifications/relations/helpers.js.map +1 -1
  326. package/dist/production/src/modifications/relations/normalization.cjs.map +1 -1
  327. package/dist/production/src/modifications/relations/normalization.js.map +1 -1
  328. package/dist/production/src/modifications/settings/UpdateSettingsModification.cjs +6 -4
  329. package/dist/production/src/modifications/settings/UpdateSettingsModification.cjs.map +1 -1
  330. package/dist/production/src/modifications/settings/UpdateSettingsModification.js +6 -4
  331. package/dist/production/src/modifications/settings/UpdateSettingsModification.js.map +1 -1
  332. package/dist/production/src/modifications/upgrade/RemoveIndexNamesModification.cjs +0 -2
  333. package/dist/production/src/modifications/upgrade/RemoveIndexNamesModification.cjs.map +1 -1
  334. package/dist/production/src/modifications/upgrade/RemoveIndexNamesModification.js +0 -2
  335. package/dist/production/src/modifications/upgrade/RemoveIndexNamesModification.js.map +1 -1
  336. package/dist/production/src/modifications/utils/columnUtils.cjs.map +1 -1
  337. package/dist/production/src/modifications/utils/columnUtils.js.map +1 -1
  338. package/dist/production/src/modifications/utils/createJunctionTable.cjs.map +1 -1
  339. package/dist/production/src/modifications/utils/createJunctionTable.js.map +1 -1
  340. package/dist/production/src/modifications/utils/diffUtils.cjs.map +1 -1
  341. package/dist/production/src/modifications/utils/diffUtils.js.map +1 -1
  342. package/dist/production/src/modifications/utils/getPrimaryColumnType.cjs.map +1 -1
  343. package/dist/production/src/modifications/utils/getPrimaryColumnType.js.map +1 -1
  344. package/dist/production/src/modifications/utils/schemaUpdateUtils.cjs.map +1 -1
  345. package/dist/production/src/modifications/utils/schemaUpdateUtils.js.map +1 -1
  346. package/dist/production/src/modifications/utils/sqlUpdateUtils.cjs.map +1 -1
  347. package/dist/production/src/modifications/utils/sqlUpdateUtils.js.map +1 -1
  348. package/dist/production/src/modifications/utils/valueUtils.cjs.map +1 -1
  349. package/dist/production/src/modifications/utils/valueUtils.js.map +1 -1
  350. package/dist/production/src/modifications/utils/viewDependencies.cjs.map +1 -1
  351. package/dist/production/src/modifications/utils/viewDependencies.js.map +1 -1
  352. package/dist/production/src/modifications/validation/PatchValidationSchemaModification.cjs.map +1 -1
  353. package/dist/production/src/modifications/validation/PatchValidationSchemaModification.js.map +1 -1
  354. package/dist/production/src/modifications/validation/UpdateValidationSchemaModification.cjs.map +1 -1
  355. package/dist/production/src/modifications/validation/UpdateValidationSchemaModification.js.map +1 -1
  356. package/dist/production/src/utils/dbHelpers.cjs.map +1 -1
  357. package/dist/production/src/utils/dbHelpers.js.map +1 -1
  358. package/dist/production/src/utils/deepCopy.cjs.map +1 -1
  359. package/dist/production/src/utils/deepCopy.js.map +1 -1
  360. package/dist/production/src/utils/escapeSqlString.cjs +1 -1
  361. package/dist/production/src/utils/escapeSqlString.cjs.map +1 -1
  362. package/dist/production/src/utils/escapeSqlString.js +1 -1
  363. package/dist/production/src/utils/escapeSqlString.js.map +1 -1
  364. package/dist/production/src/utils/isDefined.cjs.map +1 -1
  365. package/dist/production/src/utils/isDefined.js.map +1 -1
  366. package/dist/production/src/utils/isIt.cjs.map +1 -1
  367. package/dist/production/src/utils/isIt.js.map +1 -1
  368. package/dist/tests/cases/integration/patchTrigger.test.d.ts +2 -0
  369. package/dist/tests/cases/integration/patchTrigger.test.d.ts.map +1 -0
  370. package/dist/tests/src/tests.d.ts.map +1 -1
  371. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  372. package/dist/types/MigrationDescriber.d.ts.map +1 -1
  373. package/dist/types/SchemaDiffer.d.ts.map +1 -1
  374. package/dist/types/modifications/ModificationHandler.d.ts.map +1 -1
  375. package/dist/types/modifications/ModificationHandlerFactory.d.ts.map +1 -1
  376. package/dist/types/modifications/acl/PatchAclSchemaModification.d.ts +1 -1
  377. package/dist/types/modifications/acl/PatchAclSchemaModification.d.ts.map +1 -1
  378. package/dist/types/modifications/acl/UpdateAclSchemaModification.d.ts +1 -1
  379. package/dist/types/modifications/acl/UpdateAclSchemaModification.d.ts.map +1 -1
  380. package/dist/types/modifications/actions/CreateTargetModification.d.ts +1 -1
  381. package/dist/types/modifications/actions/CreateTargetModification.d.ts.map +1 -1
  382. package/dist/types/modifications/actions/CreateTriggerModification.d.ts +1 -1
  383. package/dist/types/modifications/actions/CreateTriggerModification.d.ts.map +1 -1
  384. package/dist/types/modifications/actions/PatchTriggerModification.d.ts +18 -0
  385. package/dist/types/modifications/actions/PatchTriggerModification.d.ts.map +1 -0
  386. package/dist/types/modifications/actions/RemoveTargetModification.d.ts +1 -1
  387. package/dist/types/modifications/actions/RemoveTargetModification.d.ts.map +1 -1
  388. package/dist/types/modifications/actions/RemoveTriggerModification.d.ts +1 -1
  389. package/dist/types/modifications/actions/RemoveTriggerModification.d.ts.map +1 -1
  390. package/dist/types/modifications/actions/UpdateTargetModification.d.ts +1 -1
  391. package/dist/types/modifications/actions/UpdateTargetModification.d.ts.map +1 -1
  392. package/dist/types/modifications/actions/UpdateTriggerModification.d.ts +6 -2
  393. package/dist/types/modifications/actions/UpdateTriggerModification.d.ts.map +1 -1
  394. package/dist/types/modifications/actions/index.d.ts +1 -0
  395. package/dist/types/modifications/actions/index.d.ts.map +1 -1
  396. package/dist/types/modifications/columns/CreateColumnModification.d.ts +1 -1
  397. package/dist/types/modifications/columns/CreateColumnModification.d.ts.map +1 -1
  398. package/dist/types/modifications/columns/UpdateColumnDefinitionModification.d.ts +1 -1
  399. package/dist/types/modifications/columns/UpdateColumnDefinitionModification.d.ts.map +1 -1
  400. package/dist/types/modifications/columns/UpdateColumnNameModification.d.ts +1 -1
  401. package/dist/types/modifications/columns/UpdateColumnNameModification.d.ts.map +1 -1
  402. package/dist/types/modifications/columns/columnUtils.d.ts.map +1 -1
  403. package/dist/types/modifications/constraints/CreateUniqueConstraintModification.d.ts +1 -1
  404. package/dist/types/modifications/constraints/CreateUniqueConstraintModification.d.ts.map +1 -1
  405. package/dist/types/modifications/constraints/RemoveUniqueConstraintModification.d.ts +1 -1
  406. package/dist/types/modifications/constraints/RemoveUniqueConstraintModification.d.ts.map +1 -1
  407. package/dist/types/modifications/differs/RemoveChangedFieldDiffer.d.ts +1 -1
  408. package/dist/types/modifications/differs/RemoveViewDiffer.d.ts +0 -1
  409. package/dist/types/modifications/differs/RemoveViewDiffer.d.ts.map +1 -1
  410. package/dist/types/modifications/entities/CreateEntityModification.d.ts +1 -1
  411. package/dist/types/modifications/entities/CreateEntityModification.d.ts.map +1 -1
  412. package/dist/types/modifications/entities/CreateViewModification.d.ts +1 -1
  413. package/dist/types/modifications/entities/CreateViewModification.d.ts.map +1 -1
  414. package/dist/types/modifications/entities/RemoveEntityModification.d.ts +1 -1
  415. package/dist/types/modifications/entities/RemoveEntityModification.d.ts.map +1 -1
  416. package/dist/types/modifications/entities/ToggleEventLogModification.d.ts +1 -1
  417. package/dist/types/modifications/entities/ToggleEventLogModification.d.ts.map +1 -1
  418. package/dist/types/modifications/entities/UpdateEntityNameModification.d.ts +1 -1
  419. package/dist/types/modifications/entities/UpdateEntityNameModification.d.ts.map +1 -1
  420. package/dist/types/modifications/entities/UpdateEntityOrderByModification.d.ts +1 -1
  421. package/dist/types/modifications/entities/UpdateEntityOrderByModification.d.ts.map +1 -1
  422. package/dist/types/modifications/entities/UpdateEntityTableNameModification.d.ts +1 -1
  423. package/dist/types/modifications/entities/UpdateEntityTableNameModification.d.ts.map +1 -1
  424. package/dist/types/modifications/entities/UpdateViewModification.d.ts +1 -1
  425. package/dist/types/modifications/entities/UpdateViewModification.d.ts.map +1 -1
  426. package/dist/types/modifications/enums/CreateEnumModification.d.ts +1 -1
  427. package/dist/types/modifications/enums/CreateEnumModification.d.ts.map +1 -1
  428. package/dist/types/modifications/enums/RemoveEnumModification.d.ts +1 -1
  429. package/dist/types/modifications/enums/RemoveEnumModification.d.ts.map +1 -1
  430. package/dist/types/modifications/enums/UpdateEnumModification.d.ts +2 -1
  431. package/dist/types/modifications/enums/UpdateEnumModification.d.ts.map +1 -1
  432. package/dist/types/modifications/fields/RemoveFieldModification.d.ts +1 -1
  433. package/dist/types/modifications/fields/RemoveFieldModification.d.ts.map +1 -1
  434. package/dist/types/modifications/fields/UpdateFieldNameModification.d.ts +1 -1
  435. package/dist/types/modifications/fields/UpdateFieldNameModification.d.ts.map +1 -1
  436. package/dist/types/modifications/indexes/CreateIndexModification.d.ts +1 -1
  437. package/dist/types/modifications/indexes/CreateIndexModification.d.ts.map +1 -1
  438. package/dist/types/modifications/indexes/RemoveIndexModification.d.ts +1 -1
  439. package/dist/types/modifications/indexes/RemoveIndexModification.d.ts.map +1 -1
  440. package/dist/types/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.d.ts +1 -1
  441. package/dist/types/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.d.ts.map +1 -1
  442. package/dist/types/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.d.ts +1 -1
  443. package/dist/types/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.d.ts.map +1 -1
  444. package/dist/types/modifications/relations/ConvertOneToManyRelationModification.d.ts +1 -1
  445. package/dist/types/modifications/relations/ConvertOneToManyRelationModification.d.ts.map +1 -1
  446. package/dist/types/modifications/relations/CreateRelationInverseSideModification.d.ts +1 -1
  447. package/dist/types/modifications/relations/CreateRelationInverseSideModification.d.ts.map +1 -1
  448. package/dist/types/modifications/relations/CreateRelationModification.d.ts +1 -1
  449. package/dist/types/modifications/relations/CreateRelationModification.d.ts.map +1 -1
  450. package/dist/types/modifications/relations/DisableOrphanRemovalModification.d.ts +1 -1
  451. package/dist/types/modifications/relations/DisableOrphanRemovalModification.d.ts.map +1 -1
  452. package/dist/types/modifications/relations/EnableOrphanRemovalModification.d.ts +1 -1
  453. package/dist/types/modifications/relations/EnableOrphanRemovalModification.d.ts.map +1 -1
  454. package/dist/types/modifications/relations/MakeRelationNotNullModification.d.ts +1 -1
  455. package/dist/types/modifications/relations/MakeRelationNotNullModification.d.ts.map +1 -1
  456. package/dist/types/modifications/relations/MakeRelationNullableModification.d.ts +1 -1
  457. package/dist/types/modifications/relations/MakeRelationNullableModification.d.ts.map +1 -1
  458. package/dist/types/modifications/relations/ToggleJunctionEventLogModification.d.ts +1 -1
  459. package/dist/types/modifications/relations/ToggleJunctionEventLogModification.d.ts.map +1 -1
  460. package/dist/types/modifications/relations/UpdateRelationOnDeleteModification.d.ts +1 -1
  461. package/dist/types/modifications/relations/UpdateRelationOnDeleteModification.d.ts.map +1 -1
  462. package/dist/types/modifications/relations/UpdateRelationOrderByModification.d.ts +1 -1
  463. package/dist/types/modifications/relations/UpdateRelationOrderByModification.d.ts.map +1 -1
  464. package/dist/types/modifications/relations/helpers.d.ts.map +1 -1
  465. package/dist/types/modifications/settings/UpdateSettingsModification.d.ts +1 -1
  466. package/dist/types/modifications/settings/UpdateSettingsModification.d.ts.map +1 -1
  467. package/dist/types/modifications/upgrade/RemoveIndexNamesModification.d.ts +1 -2
  468. package/dist/types/modifications/upgrade/RemoveIndexNamesModification.d.ts.map +1 -1
  469. package/dist/types/modifications/utils/columnUtils.d.ts.map +1 -1
  470. package/dist/types/modifications/utils/schemaUpdateUtils.d.ts.map +1 -1
  471. package/dist/types/modifications/utils/valueUtils.d.ts.map +1 -1
  472. package/dist/types/modifications/validation/PatchValidationSchemaModification.d.ts +1 -1
  473. package/dist/types/modifications/validation/PatchValidationSchemaModification.d.ts.map +1 -1
  474. package/dist/types/modifications/validation/UpdateValidationSchemaModification.d.ts +1 -1
  475. package/dist/types/modifications/validation/UpdateValidationSchemaModification.d.ts.map +1 -1
  476. package/dist/types/tsconfig.tsbuildinfo +1 -1
  477. package/dist/types/utils/PartialEntity.d.ts.map +1 -1
  478. package/package.json +15 -10
  479. package/src/MigrationDescriber.ts +4 -2
  480. package/src/SchemaDiffer.ts +10 -2
  481. package/src/modifications/ModificationHandler.ts +0 -1
  482. package/src/modifications/ModificationHandlerFactory.ts +2 -2
  483. package/src/modifications/acl/PatchAclSchemaModification.ts +1 -1
  484. package/src/modifications/acl/UpdateAclSchemaModification.ts +2 -2
  485. package/src/modifications/actions/PatchTriggerModification.ts +51 -0
  486. package/src/modifications/actions/UpdateTriggerModification.ts +22 -1
  487. package/src/modifications/actions/index.ts +1 -0
  488. package/src/modifications/columns/CreateColumnModification.ts +3 -6
  489. package/src/modifications/columns/UpdateColumnDefinitionModification.ts +7 -3
  490. package/src/modifications/columns/UpdateColumnNameModification.ts +1 -3
  491. package/src/modifications/columns/columnUtils.ts +0 -2
  492. package/src/modifications/constraints/CreateUniqueConstraintModification.ts +13 -16
  493. package/src/modifications/constraints/RemoveUniqueConstraintModification.ts +4 -15
  494. package/src/modifications/differs/RemoveViewDiffer.ts +0 -3
  495. package/src/modifications/entities/CreateEntityModification.ts +4 -5
  496. package/src/modifications/entities/CreateViewModification.ts +0 -1
  497. package/src/modifications/entities/RemoveEntityModification.ts +6 -6
  498. package/src/modifications/entities/ToggleEventLogModification.ts +1 -8
  499. package/src/modifications/entities/UpdateEntityNameModification.ts +3 -8
  500. package/src/modifications/entities/UpdateEntityOrderByModification.ts +2 -4
  501. package/src/modifications/entities/UpdateEntityTableNameModification.ts +7 -6
  502. package/src/modifications/entities/UpdateViewModification.ts +0 -1
  503. package/src/modifications/enums/CreateEnumModification.ts +6 -4
  504. package/src/modifications/enums/UpdateEnumModification.ts +49 -13
  505. package/src/modifications/fields/RemoveFieldModification.ts +0 -2
  506. package/src/modifications/fields/UpdateFieldNameModification.ts +71 -79
  507. package/src/modifications/indexes/CreateIndexModification.ts +11 -12
  508. package/src/modifications/indexes/RemoveIndexModification.ts +4 -11
  509. package/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.ts +9 -6
  510. package/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.ts +20 -14
  511. package/src/modifications/relations/ConvertOneToManyRelationModification.ts +18 -14
  512. package/src/modifications/relations/CreateRelationModification.ts +5 -9
  513. package/src/modifications/relations/DisableOrphanRemovalModification.ts +6 -7
  514. package/src/modifications/relations/EnableOrphanRemovalModification.ts +7 -8
  515. package/src/modifications/relations/MakeRelationNotNullModification.ts +5 -5
  516. package/src/modifications/relations/MakeRelationNullableModification.ts +5 -7
  517. package/src/modifications/relations/ToggleJunctionEventLogModification.ts +6 -18
  518. package/src/modifications/relations/UpdateRelationOnDeleteModification.ts +5 -10
  519. package/src/modifications/relations/UpdateRelationOrderByModification.ts +4 -5
  520. package/src/modifications/relations/helpers.ts +3 -1
  521. package/src/modifications/settings/UpdateSettingsModification.ts +6 -10
  522. package/src/modifications/upgrade/RemoveIndexNamesModification.ts +1 -4
  523. package/src/modifications/utils/columnUtils.ts +1 -2
  524. package/src/modifications/utils/schemaUpdateUtils.ts +139 -165
  525. package/src/modifications/utils/valueUtils.ts +1 -4
  526. package/src/modifications/validation/UpdateValidationSchemaModification.ts +0 -1
  527. package/src/tsconfig.json +1 -2
  528. package/src/utils/PartialEntity.ts +2 -2
  529. package/src/utils/escapeSqlString.ts +1 -1
  530. package/tests/cases/integration/convertOneToManyRelation.test.ts +69 -81
  531. package/tests/cases/integration/createAndDropIndex.test.ts +138 -36
  532. package/tests/cases/integration/createColumn.test.ts +178 -175
  533. package/tests/cases/integration/createEntity.test.ts +185 -182
  534. package/tests/cases/integration/createEnum.test.ts +34 -34
  535. package/tests/cases/integration/createManyHasMany.test.ts +66 -67
  536. package/tests/cases/integration/createManyHasOne.test.ts +62 -62
  537. package/tests/cases/integration/createOneHasMany.test.ts +86 -88
  538. package/tests/cases/integration/createOneHasOne.test.ts +96 -96
  539. package/tests/cases/integration/createRelationInverseSide.test.ts +73 -72
  540. package/tests/cases/integration/createUnique.test.ts +321 -162
  541. package/tests/cases/integration/createView.test.ts +111 -96
  542. package/tests/cases/integration/disableOrphanRemoval.test.ts +25 -27
  543. package/tests/cases/integration/enableOrphanRemoval.test.ts +25 -27
  544. package/tests/cases/integration/makeColumnNotNull.test.ts +25 -24
  545. package/tests/cases/integration/makeRelationNotNull.test.ts +25 -27
  546. package/tests/cases/integration/makeRelationNullable.test.ts +47 -48
  547. package/tests/cases/integration/patchAclSchema.test.ts +43 -42
  548. package/tests/cases/integration/patchTrigger.test.ts +184 -0
  549. package/tests/cases/integration/removeEntity.test.ts +143 -147
  550. package/tests/cases/integration/removeEnum.test.ts +27 -27
  551. package/tests/cases/integration/removeField.test.ts +163 -172
  552. package/tests/cases/integration/toggleEventLog.test.ts +26 -25
  553. package/tests/cases/integration/toggleJunctionEventLog.test.ts +28 -26
  554. package/tests/cases/integration/updateColumnDefinition.test.ts +191 -165
  555. package/tests/cases/integration/updateEntityName.test.ts +113 -110
  556. package/tests/cases/integration/updateEntityOrderBy.test.ts +25 -24
  557. package/tests/cases/integration/updateEnum.test.ts +68 -30
  558. package/tests/cases/integration/updateFieldName.test.ts +195 -199
  559. package/tests/cases/integration/updateRelationOnDelete.test.ts +42 -44
  560. package/tests/cases/integration/updateRelationOrderBy.test.ts +35 -38
  561. package/tests/cases/integration/updateView.test.ts +350 -350
  562. package/tests/src/tests.ts +1 -2
  563. package/vitest.config.ts +0 -3
package/CLAUDE.md ADDED
@@ -0,0 +1,48 @@
1
+ # schema-migrations
2
+
3
+ Diffs two schema versions and generates ordered modifications that produce SQL migrations.
4
+
5
+ ## Diffing Algorithm
6
+
7
+ `SchemaDiffer.diffSchemas(original, updated)`:
8
+ 1. Validates both schemas
9
+ 2. Runs 36+ differ types in carefully-ordered sequence (removals before creations, constraints after entities)
10
+ 3. After each differ produces modifications, immediately applies them to the schema via `SchemaMigrator` (iterative)
11
+ 4. Validates the final schema matches the target
12
+
13
+ ## Differ Order (simplified)
14
+
15
+ Remove constraints/indexes → Remove views/entities/fields → Create enums → Rename tables/columns → Update columns/relations → Create entities/columns/relations/views → Create constraints/indexes → Update ACL/validation/actions
16
+
17
+ ## Modification Handlers
18
+
19
+ Each modification type implements `ModificationHandler<Data>`:
20
+ - `createSql(builder)` — generates SQL via `MigrationBuilder`
21
+ - `getSchemaUpdater()` — pure function returning updated schema
22
+ - `describe()` — human-readable description with `isDestructive` flag
23
+
24
+ 40+ modification types covering: entities, columns, relations, enums, constraints, indexes, views, ACL (with RFC 6902 JSON patches), validation, actions, settings.
25
+
26
+ ## Migration Format
27
+
28
+ ```typescript
29
+ interface Migration {
30
+ version: string // YYYY-MM-DD-HHIISS
31
+ name: string // version-label
32
+ formatVersion: number // backward compat (latest = 6)
33
+ modifications: Modification[]
34
+ }
35
+ ```
36
+
37
+ ## Key Patterns
38
+
39
+ - **Schema updaters**: Composable immutable update functions (`updateSchema`, `updateModel`, `updateEntity`, `updateField`, `updateAcl`)
40
+ - **Relation type visitors**: Different SQL for different relation types (ManyHasOne → FK column, ManyHasManyOwning → junction table, inverse → no SQL)
41
+ - **Version tracking**: Format versions control backward-compatible behavior changes
42
+
43
+ ## Key Files
44
+
45
+ - `SchemaDiffer.ts` — main differ orchestrator
46
+ - `SchemaMigrator.ts` — applies modifications to schema during diffing
47
+ - `MigrationDescriber.ts` — converts modifications to descriptions and SQL
48
+ - `modifications/` — all modification handlers organized by type (columns/, entities/, relations/, acl/, etc.)
@@ -1 +1 @@
1
- {"version":3,"file":"Migration.cjs","sources":["../../../../packages/schema-migrations/src/Migration.ts"],"sourcesContent":["import { SchemaValidatorSkippedErrors } from '@contember/schema-utils'\nimport crypto from 'node:crypto'\n\nexport interface MigrationInfo {\n\treadonly version: string // YYYY-MM-DD-HHIISS\n\treadonly name: string // version-label\n\treadonly formatVersion: number\n\treadonly skippedErrors?: readonly SchemaValidatorSkippedErrors[]\n}\n\ninterface Migration extends MigrationInfo {\n\treadonly modifications: readonly Migration.Modification[]\n}\n\nnamespace Migration {\n\texport type Modification<Data = { [field: string]: any }> = { modification: string } & Data\n}\n\nexport const calculateMigrationChecksum = (migration: Migration): string => {\n\tconst canonicalMigration = JSON.stringify(migration.modifications)\n\treturn crypto //\n\t\t.createHash('md5')\n\t\t.update(canonicalMigration)\n\t\t.digest('hex')\n}\n\nexport type { Migration }\n"],"names":[],"mappings":";;;AAkBa,MAAA,6BAA6B,CAAC,cAAiC;AAC3E,QAAM,qBAAqB,KAAK,UAAU,UAAU,aAAa;AAC1D,SAAA,OACL,WAAW,KAAK,EAChB,OAAO,kBAAkB,EACzB,OAAO,KAAK;AACf;;"}
1
+ {"version":3,"file":"Migration.cjs","sources":["../../../../packages/schema-migrations/src/Migration.ts"],"sourcesContent":["import { SchemaValidatorSkippedErrors } from '@contember/schema-utils'\nimport crypto from 'node:crypto'\n\nexport interface MigrationInfo {\n\treadonly version: string // YYYY-MM-DD-HHIISS\n\treadonly name: string // version-label\n\treadonly formatVersion: number\n\treadonly skippedErrors?: readonly SchemaValidatorSkippedErrors[]\n}\n\ninterface Migration extends MigrationInfo {\n\treadonly modifications: readonly Migration.Modification[]\n}\n\nnamespace Migration {\n\texport type Modification<Data = { [field: string]: any }> = { modification: string } & Data\n}\n\nexport const calculateMigrationChecksum = (migration: Migration): string => {\n\tconst canonicalMigration = JSON.stringify(migration.modifications)\n\treturn crypto //\n\t\t.createHash('md5')\n\t\t.update(canonicalMigration)\n\t\t.digest('hex')\n}\n\nexport type { Migration }\n"],"names":[],"mappings":";;;AAkBO,MAAM,6BAA6B,CAAC,cAAiC;AAC3E,QAAM,qBAAqB,KAAK,UAAU,UAAU,aAAa;AACjE,SAAO,OACL,WAAW,KAAK,EAChB,OAAO,kBAAkB,EACzB,OAAO,KAAK;AACf;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Migration.js","sources":["../../../../packages/schema-migrations/src/Migration.ts"],"sourcesContent":["import { SchemaValidatorSkippedErrors } from '@contember/schema-utils'\nimport crypto from 'node:crypto'\n\nexport interface MigrationInfo {\n\treadonly version: string // YYYY-MM-DD-HHIISS\n\treadonly name: string // version-label\n\treadonly formatVersion: number\n\treadonly skippedErrors?: readonly SchemaValidatorSkippedErrors[]\n}\n\ninterface Migration extends MigrationInfo {\n\treadonly modifications: readonly Migration.Modification[]\n}\n\nnamespace Migration {\n\texport type Modification<Data = { [field: string]: any }> = { modification: string } & Data\n}\n\nexport const calculateMigrationChecksum = (migration: Migration): string => {\n\tconst canonicalMigration = JSON.stringify(migration.modifications)\n\treturn crypto //\n\t\t.createHash('md5')\n\t\t.update(canonicalMigration)\n\t\t.digest('hex')\n}\n\nexport type { Migration }\n"],"names":["crypto"],"mappings":";AAkBa,MAAA,6BAA6B,CAAC,cAAiC;AAC3E,QAAM,qBAAqB,KAAK,UAAU,UAAU,aAAa;AAC1D,SAAAA,gBACL,WAAW,KAAK,EAChB,OAAO,kBAAkB,EACzB,OAAO,KAAK;AACf;"}
1
+ {"version":3,"file":"Migration.js","sources":["../../../../packages/schema-migrations/src/Migration.ts"],"sourcesContent":["import { SchemaValidatorSkippedErrors } from '@contember/schema-utils'\nimport crypto from 'node:crypto'\n\nexport interface MigrationInfo {\n\treadonly version: string // YYYY-MM-DD-HHIISS\n\treadonly name: string // version-label\n\treadonly formatVersion: number\n\treadonly skippedErrors?: readonly SchemaValidatorSkippedErrors[]\n}\n\ninterface Migration extends MigrationInfo {\n\treadonly modifications: readonly Migration.Modification[]\n}\n\nnamespace Migration {\n\texport type Modification<Data = { [field: string]: any }> = { modification: string } & Data\n}\n\nexport const calculateMigrationChecksum = (migration: Migration): string => {\n\tconst canonicalMigration = JSON.stringify(migration.modifications)\n\treturn crypto //\n\t\t.createHash('md5')\n\t\t.update(canonicalMigration)\n\t\t.digest('hex')\n}\n\nexport type { Migration }\n"],"names":["crypto"],"mappings":";AAkBO,MAAM,6BAA6B,CAAC,cAAiC;AAC3E,QAAM,qBAAqB,KAAK,UAAU,UAAU,aAAa;AACjE,SAAOA,gBACL,WAAW,KAAK,EAChB,OAAO,kBAAkB,EACzB,OAAO,KAAK;AACf;"}
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationDescriber.cjs","sources":["../../../../packages/schema-migrations/src/MigrationDescriber.ts"],"sourcesContent":["import {\n\tcreateEntityModification, createViewModification,\n\temptyModificationDescriptionContext,\n\tModificationDescription,\n\tModificationDescriptionContext,\n\tModificationHandler,\n\tModificationHandlerCreateSqlOptions,\n\tModificationHandlerFactory,\n\tModificationHandlerOptions,\n\tSchemaUpdateError,\n} from './modifications'\nimport { createMigrationBuilder } from '@contember/database-migrations'\nimport { Migration } from './Migration'\nimport { Schema } from '@contember/schema'\n\nexport interface ModificationDescriptionResult {\n\tmodification: Migration.Modification\n\tschema: Schema\n\tdescription: ModificationDescription\n\thandler: ModificationHandler<any>\n\tgetSql: (options: ModificationHandlerCreateSqlOptions) => string\n}\n\nexport class MigrationDescriber {\n\tconstructor(private readonly modificationHandlerFactory: ModificationHandlerFactory) {\n\t}\n\n\tpublic describeModification(\n\t\tschema: Schema,\n\t\tmodification: Migration.Modification,\n\t\toptions: ModificationHandlerOptions,\n\t\tmodificationDescriptionContext: ModificationDescriptionContext = emptyModificationDescriptionContext,\n\t): ModificationDescriptionResult {\n\t\tconst modificationHandler = this.modificationHandlerFactory.create(\n\t\t\tmodification.modification,\n\t\t\tmodification,\n\t\t\tschema,\n\t\t\toptions,\n\t\t)\n\t\ttry {\n\t\t\tschema = modificationHandler.getSchemaUpdater()({ schema })\n\t\t} catch (e) {\n\t\t\tif (!(e instanceof SchemaUpdateError)) {\n\t\t\t\tthrow e\n\t\t\t}\n\t\t\tthrow new SchemaUpdateError(e.message + '\\n for modification: \\n' + JSON.stringify(modification))\n\t\t}\n\t\treturn {\n\t\t\tmodification,\n\t\t\tschema,\n\t\t\tgetSql: options => {\n\t\t\t\tconst builder = createMigrationBuilder()\n\t\t\t\tmodificationHandler.createSql(builder, options)\n\t\t\t\treturn builder.getSql()\n\t\t\t},\n\t\t\tdescription: modificationHandler.describe(modificationDescriptionContext),\n\t\t\thandler: modificationHandler,\n\t\t}\n\t}\n\n\tpublic describeModifications(schema: Schema, migration: Migration): ModificationDescriptionResult[] {\n\t\tconst result = []\n\t\tconst createdEntities = []\n\t\tfor (const modification of migration.modifications) {\n\t\t\tif (modification.modification === createEntityModification.id || modification.modification === createViewModification.id) {\n\t\t\t\tcreatedEntities.push(modification.entity.name)\n\t\t\t}\n\t\t\tconst description = this.describeModification(\n\t\t\t\tschema,\n\t\t\t\tmodification,\n\t\t\t\t{\n\t\t\t\t\tformatVersion: migration.formatVersion,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcreatedEntities,\n\t\t\t\t})\n\t\t\tschema = description.schema\n\t\t\tresult.push(description)\n\t\t}\n\t\treturn result\n\t}\n}\n"],"names":["emptyModificationDescriptionContext","SchemaUpdateError","options","createMigrationBuilder","createEntityModification","createViewModification"],"mappings":";;;;;;;;;;;;AAuBO,MAAM,mBAAmB;AAAA,EAC/B,YAA6B,4BAAwD;AAAxD,SAAA,6BAAA;AAAA,EAAA;AAAA,EAGtB,qBACN,QACA,cACA,SACA,iCAAiEA,oBAAAA,qCACjC;AAC1B,UAAA,sBAAsB,KAAK,2BAA2B;AAAA,MAC3D,aAAa;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,IACD;AACI,QAAA;AACH,eAAS,oBAAoB,mBAAmB,EAAE,QAAQ;AAAA,aAClD,GAAG;AACP,UAAA,EAAE,aAAaC,WAAAA,oBAAoB;AAChC,cAAA;AAAA,MAAA;AAED,YAAA,IAAIA,WAAAA,kBAAkB,EAAE,UAAU,4BAA4B,KAAK,UAAU,YAAY,CAAC;AAAA,IAAA;AAE1F,WAAA;AAAA,MACN;AAAA,MACA;AAAA,MACA,QAAQ,CAAAC,aAAW;AAClB,cAAM,UAAUC,mBAAAA,uBAAuB;AACnB,4BAAA,UAAU,SAASD,QAAO;AAC9C,eAAO,QAAQ,OAAO;AAAA,MACvB;AAAA,MACA,aAAa,oBAAoB,SAAS,8BAA8B;AAAA,MACxE,SAAS;AAAA,IACV;AAAA,EAAA;AAAA,EAGM,sBAAsB,QAAgB,WAAuD;AACnG,UAAM,SAAS,CAAC;AAChB,UAAM,kBAAkB,CAAC;AACd,eAAA,gBAAgB,UAAU,eAAe;AACnD,UAAI,aAAa,iBAAiBE,kDAAyB,MAAM,aAAa,iBAAiBC,8CAAuB,IAAI;AACzG,wBAAA,KAAK,aAAa,OAAO,IAAI;AAAA,MAAA;AAE9C,YAAM,cAAc,KAAK;AAAA,QACxB;AAAA,QACA;AAAA,QACA;AAAA,UACC,eAAe,UAAU;AAAA,QAC1B;AAAA,QACA;AAAA,UACC;AAAA,QAAA;AAAA,MACA;AACF,eAAS,YAAY;AACrB,aAAO,KAAK,WAAW;AAAA,IAAA;AAEjB,WAAA;AAAA,EAAA;AAET;;"}
1
+ {"version":3,"file":"MigrationDescriber.cjs","sources":["../../../../packages/schema-migrations/src/MigrationDescriber.ts"],"sourcesContent":["import {\n\tcreateEntityModification,\n\tcreateViewModification,\n\temptyModificationDescriptionContext,\n\tModificationDescription,\n\tModificationDescriptionContext,\n\tModificationHandler,\n\tModificationHandlerCreateSqlOptions,\n\tModificationHandlerFactory,\n\tModificationHandlerOptions,\n\tSchemaUpdateError,\n} from './modifications'\nimport { createMigrationBuilder } from '@contember/database-migrations'\nimport { Migration } from './Migration'\nimport { Schema } from '@contember/schema'\n\nexport interface ModificationDescriptionResult {\n\tmodification: Migration.Modification\n\tschema: Schema\n\tdescription: ModificationDescription\n\thandler: ModificationHandler<any>\n\tgetSql: (options: ModificationHandlerCreateSqlOptions) => string\n}\n\nexport class MigrationDescriber {\n\tconstructor(private readonly modificationHandlerFactory: ModificationHandlerFactory) {\n\t}\n\n\tpublic describeModification(\n\t\tschema: Schema,\n\t\tmodification: Migration.Modification,\n\t\toptions: ModificationHandlerOptions,\n\t\tmodificationDescriptionContext: ModificationDescriptionContext = emptyModificationDescriptionContext,\n\t): ModificationDescriptionResult {\n\t\tconst modificationHandler = this.modificationHandlerFactory.create(\n\t\t\tmodification.modification,\n\t\t\tmodification,\n\t\t\tschema,\n\t\t\toptions,\n\t\t)\n\t\ttry {\n\t\t\tschema = modificationHandler.getSchemaUpdater()({ schema })\n\t\t} catch (e) {\n\t\t\tif (!(e instanceof SchemaUpdateError)) {\n\t\t\t\tthrow e\n\t\t\t}\n\t\t\tthrow new SchemaUpdateError(e.message + '\\n for modification: \\n' + JSON.stringify(modification))\n\t\t}\n\t\treturn {\n\t\t\tmodification,\n\t\t\tschema,\n\t\t\tgetSql: options => {\n\t\t\t\tconst builder = createMigrationBuilder()\n\t\t\t\tmodificationHandler.createSql(builder, options)\n\t\t\t\treturn builder.getSql()\n\t\t\t},\n\t\t\tdescription: modificationHandler.describe(modificationDescriptionContext),\n\t\t\thandler: modificationHandler,\n\t\t}\n\t}\n\n\tpublic describeModifications(schema: Schema, migration: Migration): ModificationDescriptionResult[] {\n\t\tconst result = []\n\t\tconst createdEntities = []\n\t\tfor (const modification of migration.modifications) {\n\t\t\tif (modification.modification === createEntityModification.id || modification.modification === createViewModification.id) {\n\t\t\t\tcreatedEntities.push(modification.entity.name)\n\t\t\t}\n\t\t\tconst description = this.describeModification(\n\t\t\t\tschema,\n\t\t\t\tmodification,\n\t\t\t\t{\n\t\t\t\t\tformatVersion: migration.formatVersion,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcreatedEntities,\n\t\t\t\t},\n\t\t\t)\n\t\t\tschema = description.schema\n\t\t\tresult.push(description)\n\t\t}\n\t\treturn result\n\t}\n}\n"],"names":["emptyModificationDescriptionContext","SchemaUpdateError","options","createMigrationBuilder","createEntityModification","createViewModification"],"mappings":";;;;;;;;;;;;AAwBO,MAAM,mBAAmB;AAAA,EAC/B,YAA6B,4BAAwD;AAAxD,SAAA,6BAAA;AAAA,EAC7B;AAAA,EAEO,qBACN,QACA,cACA,SACA,iCAAiEA,oBAAAA,qCACjC;AAChC,UAAM,sBAAsB,KAAK,2BAA2B;AAAA,MAC3D,aAAa;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAED,QAAI;AACH,eAAS,oBAAoB,mBAAmB,EAAE,QAAQ;AAAA,IAC3D,SAAS,GAAG;AACX,UAAI,EAAE,aAAaC,WAAAA,oBAAoB;AACtC,cAAM;AAAA,MACP;AACA,YAAM,IAAIA,WAAAA,kBAAkB,EAAE,UAAU,4BAA4B,KAAK,UAAU,YAAY,CAAC;AAAA,IACjG;AACA,WAAO;AAAA,MACN;AAAA,MACA;AAAA,MACA,QAAQ,CAAAC,aAAW;AAClB,cAAM,UAAUC,mBAAAA,uBAAA;AAChB,4BAAoB,UAAU,SAASD,QAAO;AAC9C,eAAO,QAAQ,OAAA;AAAA,MAChB;AAAA,MACA,aAAa,oBAAoB,SAAS,8BAA8B;AAAA,MACxE,SAAS;AAAA,IAAA;AAAA,EAEX;AAAA,EAEO,sBAAsB,QAAgB,WAAuD;AACnG,UAAM,SAAS,CAAA;AACf,UAAM,kBAAkB,CAAA;AACxB,eAAW,gBAAgB,UAAU,eAAe;AACnD,UAAI,aAAa,iBAAiBE,kDAAyB,MAAM,aAAa,iBAAiBC,uBAAAA,uBAAuB,IAAI;AACzH,wBAAgB,KAAK,aAAa,OAAO,IAAI;AAAA,MAC9C;AACA,YAAM,cAAc,KAAK;AAAA,QACxB;AAAA,QACA;AAAA,QACA;AAAA,UACC,eAAe,UAAU;AAAA,QAAA;AAAA,QAE1B;AAAA,UACC;AAAA,QAAA;AAAA,MACD;AAED,eAAS,YAAY;AACrB,aAAO,KAAK,WAAW;AAAA,IACxB;AACA,WAAO;AAAA,EACR;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationDescriber.js","sources":["../../../../packages/schema-migrations/src/MigrationDescriber.ts"],"sourcesContent":["import {\n\tcreateEntityModification, createViewModification,\n\temptyModificationDescriptionContext,\n\tModificationDescription,\n\tModificationDescriptionContext,\n\tModificationHandler,\n\tModificationHandlerCreateSqlOptions,\n\tModificationHandlerFactory,\n\tModificationHandlerOptions,\n\tSchemaUpdateError,\n} from './modifications'\nimport { createMigrationBuilder } from '@contember/database-migrations'\nimport { Migration } from './Migration'\nimport { Schema } from '@contember/schema'\n\nexport interface ModificationDescriptionResult {\n\tmodification: Migration.Modification\n\tschema: Schema\n\tdescription: ModificationDescription\n\thandler: ModificationHandler<any>\n\tgetSql: (options: ModificationHandlerCreateSqlOptions) => string\n}\n\nexport class MigrationDescriber {\n\tconstructor(private readonly modificationHandlerFactory: ModificationHandlerFactory) {\n\t}\n\n\tpublic describeModification(\n\t\tschema: Schema,\n\t\tmodification: Migration.Modification,\n\t\toptions: ModificationHandlerOptions,\n\t\tmodificationDescriptionContext: ModificationDescriptionContext = emptyModificationDescriptionContext,\n\t): ModificationDescriptionResult {\n\t\tconst modificationHandler = this.modificationHandlerFactory.create(\n\t\t\tmodification.modification,\n\t\t\tmodification,\n\t\t\tschema,\n\t\t\toptions,\n\t\t)\n\t\ttry {\n\t\t\tschema = modificationHandler.getSchemaUpdater()({ schema })\n\t\t} catch (e) {\n\t\t\tif (!(e instanceof SchemaUpdateError)) {\n\t\t\t\tthrow e\n\t\t\t}\n\t\t\tthrow new SchemaUpdateError(e.message + '\\n for modification: \\n' + JSON.stringify(modification))\n\t\t}\n\t\treturn {\n\t\t\tmodification,\n\t\t\tschema,\n\t\t\tgetSql: options => {\n\t\t\t\tconst builder = createMigrationBuilder()\n\t\t\t\tmodificationHandler.createSql(builder, options)\n\t\t\t\treturn builder.getSql()\n\t\t\t},\n\t\t\tdescription: modificationHandler.describe(modificationDescriptionContext),\n\t\t\thandler: modificationHandler,\n\t\t}\n\t}\n\n\tpublic describeModifications(schema: Schema, migration: Migration): ModificationDescriptionResult[] {\n\t\tconst result = []\n\t\tconst createdEntities = []\n\t\tfor (const modification of migration.modifications) {\n\t\t\tif (modification.modification === createEntityModification.id || modification.modification === createViewModification.id) {\n\t\t\t\tcreatedEntities.push(modification.entity.name)\n\t\t\t}\n\t\t\tconst description = this.describeModification(\n\t\t\t\tschema,\n\t\t\t\tmodification,\n\t\t\t\t{\n\t\t\t\t\tformatVersion: migration.formatVersion,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcreatedEntities,\n\t\t\t\t})\n\t\t\tschema = description.schema\n\t\t\tresult.push(description)\n\t\t}\n\t\treturn result\n\t}\n}\n"],"names":["options"],"mappings":";;;;;;;;;;AAuBO,MAAM,mBAAmB;AAAA,EAC/B,YAA6B,4BAAwD;AAAxD,SAAA,6BAAA;AAAA,EAAA;AAAA,EAGtB,qBACN,QACA,cACA,SACA,iCAAiE,qCACjC;AAC1B,UAAA,sBAAsB,KAAK,2BAA2B;AAAA,MAC3D,aAAa;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,IACD;AACI,QAAA;AACH,eAAS,oBAAoB,mBAAmB,EAAE,QAAQ;AAAA,aAClD,GAAG;AACP,UAAA,EAAE,aAAa,oBAAoB;AAChC,cAAA;AAAA,MAAA;AAED,YAAA,IAAI,kBAAkB,EAAE,UAAU,4BAA4B,KAAK,UAAU,YAAY,CAAC;AAAA,IAAA;AAE1F,WAAA;AAAA,MACN;AAAA,MACA;AAAA,MACA,QAAQ,CAAAA,aAAW;AAClB,cAAM,UAAU,uBAAuB;AACnB,4BAAA,UAAU,SAASA,QAAO;AAC9C,eAAO,QAAQ,OAAO;AAAA,MACvB;AAAA,MACA,aAAa,oBAAoB,SAAS,8BAA8B;AAAA,MACxE,SAAS;AAAA,IACV;AAAA,EAAA;AAAA,EAGM,sBAAsB,QAAgB,WAAuD;AACnG,UAAM,SAAS,CAAC;AAChB,UAAM,kBAAkB,CAAC;AACd,eAAA,gBAAgB,UAAU,eAAe;AACnD,UAAI,aAAa,iBAAiB,yBAAyB,MAAM,aAAa,iBAAiB,uBAAuB,IAAI;AACzG,wBAAA,KAAK,aAAa,OAAO,IAAI;AAAA,MAAA;AAE9C,YAAM,cAAc,KAAK;AAAA,QACxB;AAAA,QACA;AAAA,QACA;AAAA,UACC,eAAe,UAAU;AAAA,QAC1B;AAAA,QACA;AAAA,UACC;AAAA,QAAA;AAAA,MACA;AACF,eAAS,YAAY;AACrB,aAAO,KAAK,WAAW;AAAA,IAAA;AAEjB,WAAA;AAAA,EAAA;AAET;"}
1
+ {"version":3,"file":"MigrationDescriber.js","sources":["../../../../packages/schema-migrations/src/MigrationDescriber.ts"],"sourcesContent":["import {\n\tcreateEntityModification,\n\tcreateViewModification,\n\temptyModificationDescriptionContext,\n\tModificationDescription,\n\tModificationDescriptionContext,\n\tModificationHandler,\n\tModificationHandlerCreateSqlOptions,\n\tModificationHandlerFactory,\n\tModificationHandlerOptions,\n\tSchemaUpdateError,\n} from './modifications'\nimport { createMigrationBuilder } from '@contember/database-migrations'\nimport { Migration } from './Migration'\nimport { Schema } from '@contember/schema'\n\nexport interface ModificationDescriptionResult {\n\tmodification: Migration.Modification\n\tschema: Schema\n\tdescription: ModificationDescription\n\thandler: ModificationHandler<any>\n\tgetSql: (options: ModificationHandlerCreateSqlOptions) => string\n}\n\nexport class MigrationDescriber {\n\tconstructor(private readonly modificationHandlerFactory: ModificationHandlerFactory) {\n\t}\n\n\tpublic describeModification(\n\t\tschema: Schema,\n\t\tmodification: Migration.Modification,\n\t\toptions: ModificationHandlerOptions,\n\t\tmodificationDescriptionContext: ModificationDescriptionContext = emptyModificationDescriptionContext,\n\t): ModificationDescriptionResult {\n\t\tconst modificationHandler = this.modificationHandlerFactory.create(\n\t\t\tmodification.modification,\n\t\t\tmodification,\n\t\t\tschema,\n\t\t\toptions,\n\t\t)\n\t\ttry {\n\t\t\tschema = modificationHandler.getSchemaUpdater()({ schema })\n\t\t} catch (e) {\n\t\t\tif (!(e instanceof SchemaUpdateError)) {\n\t\t\t\tthrow e\n\t\t\t}\n\t\t\tthrow new SchemaUpdateError(e.message + '\\n for modification: \\n' + JSON.stringify(modification))\n\t\t}\n\t\treturn {\n\t\t\tmodification,\n\t\t\tschema,\n\t\t\tgetSql: options => {\n\t\t\t\tconst builder = createMigrationBuilder()\n\t\t\t\tmodificationHandler.createSql(builder, options)\n\t\t\t\treturn builder.getSql()\n\t\t\t},\n\t\t\tdescription: modificationHandler.describe(modificationDescriptionContext),\n\t\t\thandler: modificationHandler,\n\t\t}\n\t}\n\n\tpublic describeModifications(schema: Schema, migration: Migration): ModificationDescriptionResult[] {\n\t\tconst result = []\n\t\tconst createdEntities = []\n\t\tfor (const modification of migration.modifications) {\n\t\t\tif (modification.modification === createEntityModification.id || modification.modification === createViewModification.id) {\n\t\t\t\tcreatedEntities.push(modification.entity.name)\n\t\t\t}\n\t\t\tconst description = this.describeModification(\n\t\t\t\tschema,\n\t\t\t\tmodification,\n\t\t\t\t{\n\t\t\t\t\tformatVersion: migration.formatVersion,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcreatedEntities,\n\t\t\t\t},\n\t\t\t)\n\t\t\tschema = description.schema\n\t\t\tresult.push(description)\n\t\t}\n\t\treturn result\n\t}\n}\n"],"names":["options"],"mappings":";;;;;;;;;;AAwBO,MAAM,mBAAmB;AAAA,EAC/B,YAA6B,4BAAwD;AAAxD,SAAA,6BAAA;AAAA,EAC7B;AAAA,EAEO,qBACN,QACA,cACA,SACA,iCAAiE,qCACjC;AAChC,UAAM,sBAAsB,KAAK,2BAA2B;AAAA,MAC3D,aAAa;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAED,QAAI;AACH,eAAS,oBAAoB,mBAAmB,EAAE,QAAQ;AAAA,IAC3D,SAAS,GAAG;AACX,UAAI,EAAE,aAAa,oBAAoB;AACtC,cAAM;AAAA,MACP;AACA,YAAM,IAAI,kBAAkB,EAAE,UAAU,4BAA4B,KAAK,UAAU,YAAY,CAAC;AAAA,IACjG;AACA,WAAO;AAAA,MACN;AAAA,MACA;AAAA,MACA,QAAQ,CAAAA,aAAW;AAClB,cAAM,UAAU,uBAAA;AAChB,4BAAoB,UAAU,SAASA,QAAO;AAC9C,eAAO,QAAQ,OAAA;AAAA,MAChB;AAAA,MACA,aAAa,oBAAoB,SAAS,8BAA8B;AAAA,MACxE,SAAS;AAAA,IAAA;AAAA,EAEX;AAAA,EAEO,sBAAsB,QAAgB,WAAuD;AACnG,UAAM,SAAS,CAAA;AACf,UAAM,kBAAkB,CAAA;AACxB,eAAW,gBAAgB,UAAU,eAAe;AACnD,UAAI,aAAa,iBAAiB,yBAAyB,MAAM,aAAa,iBAAiB,uBAAuB,IAAI;AACzH,wBAAgB,KAAK,aAAa,OAAO,IAAI;AAAA,MAC9C;AACA,YAAM,cAAc,KAAK;AAAA,QACxB;AAAA,QACA;AAAA,QACA;AAAA,UACC,eAAe,UAAU;AAAA,QAAA;AAAA,QAE1B;AAAA,UACC;AAAA,QAAA;AAAA,MACD;AAED,eAAS,YAAY;AACrB,aAAO,KAAK,WAAW;AAAA,IACxB;AACA,WAAO;AAAA,EACR;AACD;"}
@@ -105,7 +105,7 @@ class SchemaDiffer {
105
105
  new UpdateEntityOrderByModification.UpdateEntityOrderByDiffer(),
106
106
  new UpdateTargetModification.UpdateTargetDiffer(),
107
107
  new CreateTargetModification.CreateTargetDiffer(),
108
- new UpdateTriggerModification.UpdateTriggerDiffer(),
108
+ new UpdateTriggerModification.UpdateTriggerDiffer(this.options),
109
109
  new CreateTriggerModification.CreateTriggerDiffer(),
110
110
  new RemoveTriggerModification.RemoveTriggerDiffer(),
111
111
  new RemoveTargetModification.RemoveTargetDiffer()
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaDiffer.cjs","sources":["../../../../packages/schema-migrations/src/SchemaDiffer.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { compareArraysIgnoreOrder, deepCompare, isInverseRelation, isOwningRelation, isRelation, SchemaValidator, ValidationError } from '@contember/schema-utils'\nimport { SchemaMigrator } from './SchemaMigrator'\nimport { Migration } from './Migration'\nimport { ImplementationException } from './exceptions'\nimport {\n\tConvertOneHasManyToManyHasManyRelationDiffer,\n\tConvertOneToManyRelationDiffer,\n\tCreateColumnDiffer,\n\tCreateEntityDiffer,\n\tCreateEnumDiffer,\n\tCreateRelationDiffer,\n\tCreateRelationInverseSideDiffer,\n\tCreateUniqueConstraintDiffer,\n\tCreateViewDiffer,\n\tDiffer,\n\tDisableOrphanRemovalDiffer,\n\tEnableOrphanRemovalDiffer,\n\tMakeRelationNotNullDiffer,\n\tMakeRelationNullableDiffer,\n\tRemoveEntityDiffer,\n\tRemoveEnumDiffer,\n\tRemoveFieldDiffer,\n\tRemoveUniqueConstraintDiffer,\n\tToggleEventLogDiffer,\n\tToggleJunctionEventLogDiffer,\n\tUpdateAclSchemaDiffer,\n\tUpdateColumnDefinitionDiffer,\n\tUpdateColumnNameDiffer,\n\tUpdateEntityOrderByDiffer,\n\tUpdateEntityTableNameDiffer,\n\tUpdateEnumDiffer,\n\tUpdateRelationOnDeleteDiffer,\n\tUpdateRelationOrderByDiffer,\n\tUpdateValidationSchemaDiffer,\n\tVERSION_LATEST,\n} from './modifications'\nimport { RemoveChangedFieldDiffer, RemoveViewDiffer } from './modifications/differs'\nimport { CreateIndexDiffer, RemoveIndexDiffer } from './modifications/indexes'\nimport { CreateTriggerDiffer, RemoveTriggerDiffer, UpdateTriggerDiffer } from './modifications/actions'\nimport { UpdateTargetDiffer } from './modifications/actions/UpdateTargetModification'\nimport { CreateTargetDiffer } from './modifications/actions/CreateTargetModification'\nimport { RemoveTargetDiffer } from './modifications/actions/RemoveTargetModification'\nimport { UpdateSettingsDiffer } from './modifications/settings'\nimport { RemoveIndexNamesDiffer } from './modifications/upgrade/RemoveIndexNamesModification'\nimport { ConvertOneHasManyToOneHasOneRelationDiffer } from './modifications/relations/ConvertOneHasManyToOneHasOneRelationModification'\n\ntype DiffOptions = { skipRecreateValidation?: boolean; skipInitialSchemaValidation?: boolean }\n\nexport class SchemaDiffer {\n\tconstructor(\n\t\tprivate readonly schemaMigrator: SchemaMigrator,\n\t\tprivate readonly options?: {\n\t\t\tmaxPatchSize?: number\n\t\t},\n\t) {}\n\n\tdiffSchemas(originalSchema: Schema, updatedSchema: Schema, {\n\t\tskipInitialSchemaValidation = false,\n\t\tskipRecreateValidation = false,\n\t}: DiffOptions = {}): Migration.Modification[] {\n\t\tif (!skipInitialSchemaValidation) {\n\t\t\tconst originalErrors = SchemaValidator.validate(originalSchema)\n\t\t\tif (originalErrors.length > 0) {\n\t\t\t\tthrow new InvalidSchemaException('original schema is not valid', originalErrors)\n\t\t\t}\n\t\t}\n\t\tconst updatedErrors = SchemaValidator.validate(updatedSchema)\n\t\tif (updatedErrors.length > 0) {\n\t\t\tthrow new InvalidSchemaException('updated schema is not valid', updatedErrors)\n\t\t}\n\n\t\tconst differs: Differ[] = [\n\t\t\tnew RemoveIndexNamesDiffer(),\n\t\t\tnew UpdateSettingsDiffer(),\n\t\t\tnew ConvertOneToManyRelationDiffer(),\n\t\t\tnew ConvertOneHasManyToManyHasManyRelationDiffer(),\n\t\t\tnew ConvertOneHasManyToOneHasOneRelationDiffer(),\n\t\t\tnew RemoveUniqueConstraintDiffer(),\n\t\t\tnew RemoveIndexDiffer(),\n\t\t\tnew RemoveViewDiffer(),\n\t\t\tnew RemoveEntityDiffer(),\n\t\t\tnew RemoveFieldDiffer(),\n\t\t\tnew CreateEnumDiffer(),\n\t\t\tnew UpdateEntityTableNameDiffer(),\n\t\t\tnew ToggleEventLogDiffer(),\n\t\t\tnew ToggleJunctionEventLogDiffer(),\n\t\t\tnew UpdateColumnDefinitionDiffer(),\n\t\t\tnew UpdateColumnNameDiffer(),\n\t\t\tnew UpdateRelationOnDeleteDiffer(),\n\t\t\tnew MakeRelationNotNullDiffer(),\n\t\t\tnew MakeRelationNullableDiffer(),\n\t\t\tnew EnableOrphanRemovalDiffer(),\n\t\t\tnew DisableOrphanRemovalDiffer(),\n\t\t\tnew UpdateRelationOrderByDiffer(),\n\t\t\tnew UpdateEnumDiffer(),\n\t\t\tnew RemoveChangedFieldDiffer(it => !isRelation(it) || isOwningRelation(it)),\n\t\t\tnew RemoveChangedFieldDiffer(it => isRelation(it) && isInverseRelation(it)),\n\t\t\tnew CreateEntityDiffer(),\n\t\t\tnew CreateColumnDiffer(),\n\t\t\tnew CreateRelationDiffer(),\n\t\t\tnew CreateViewDiffer(),\n\t\t\tnew CreateRelationInverseSideDiffer(),\n\t\t\tnew CreateUniqueConstraintDiffer(),\n\t\t\tnew CreateIndexDiffer(),\n\t\t\tnew RemoveEnumDiffer(),\n\t\t\tnew UpdateAclSchemaDiffer(this.options),\n\t\t\tnew UpdateValidationSchemaDiffer(this.options),\n\t\t\tnew UpdateEntityOrderByDiffer(),\n\t\t\tnew UpdateTargetDiffer(),\n\t\t\tnew CreateTargetDiffer(),\n\t\t\tnew UpdateTriggerDiffer(),\n\t\t\tnew CreateTriggerDiffer(),\n\t\t\tnew RemoveTriggerDiffer(),\n\t\t\tnew RemoveTargetDiffer(),\n\t\t]\n\n\t\tconst diffs: Migration.Modification[] = []\n\t\tlet appliedDiffsSchema = originalSchema\n\t\tfor (const differ of differs) {\n\t\t\tconst differDiffs = differ.createDiff(appliedDiffsSchema, updatedSchema)\n\t\t\tappliedDiffsSchema = this.schemaMigrator.applyModifications(appliedDiffsSchema, differDiffs, VERSION_LATEST)\n\t\t\tdiffs.push(...differDiffs)\n\t\t}\n\n\t\tif (!skipRecreateValidation) {\n\t\t\tconst errors = deepCompare(updatedSchema, appliedDiffsSchema, [], path => {\n\t\t\t\tif (path[0] === 'model' && path[1] === 'entities' && (path[3] === 'unique' || path[3] === 'index')) {\n\t\t\t\t\treturn (a, b) => {\n\t\t\t\t\t\treturn compareArraysIgnoreOrder(a, b, path)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn null\n\t\t\t})\n\t\t\tif (errors.length === 0) {\n\t\t\t\treturn diffs\n\t\t\t}\n\t\t\tlet message = 'Updated schema cannot be recreated by the generated diff:'\n\t\t\tfor (const err of errors) {\n\t\t\t\tmessage += '\\n\\t' + err.path.join('.') + ': ' + err.message\n\t\t\t}\n\t\t\tmessage += '\\n\\nPlease fill a bug report'\n\t\t\tthrow new ImplementationException(message)\n\t\t}\n\n\t\treturn diffs\n\t}\n}\n\nexport class InvalidSchemaException extends Error {\n\tconstructor(message: string, public readonly validationErrors: ValidationError[]) {\n\t\tsuper(message)\n\t}\n}\n"],"names":["SchemaValidator","RemoveIndexNamesDiffer","UpdateSettingsDiffer","ConvertOneToManyRelationDiffer","ConvertOneHasManyToManyHasManyRelationDiffer","ConvertOneHasManyToOneHasOneRelationDiffer","RemoveUniqueConstraintDiffer","RemoveIndexDiffer","RemoveViewDiffer","RemoveEntityDiffer","RemoveFieldDiffer","CreateEnumDiffer","UpdateEntityTableNameDiffer","ToggleEventLogDiffer","ToggleJunctionEventLogDiffer","UpdateColumnDefinitionDiffer","UpdateColumnNameDiffer","UpdateRelationOnDeleteDiffer","MakeRelationNotNullDiffer","MakeRelationNullableDiffer","EnableOrphanRemovalDiffer","DisableOrphanRemovalDiffer","UpdateRelationOrderByDiffer","UpdateEnumDiffer","RemoveChangedFieldDiffer","isRelation","isOwningRelation","isInverseRelation","CreateEntityDiffer","CreateColumnDiffer","CreateRelationDiffer","CreateViewDiffer","CreateRelationInverseSideDiffer","CreateUniqueConstraintDiffer","CreateIndexDiffer","RemoveEnumDiffer","UpdateAclSchemaDiffer","UpdateValidationSchemaDiffer","UpdateEntityOrderByDiffer","UpdateTargetDiffer","CreateTargetDiffer","UpdateTriggerDiffer","CreateTriggerDiffer","RemoveTriggerDiffer","RemoveTargetDiffer","VERSION_LATEST","deepCompare","compareArraysIgnoreOrder","ImplementationException"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiDO,MAAM,aAAa;AAAA,EACzB,YACkB,gBACA,SAGhB;AAJgB,SAAA,iBAAA;AACA,SAAA,UAAA;AAAA,EAAA;AAAA,EAKlB,YAAY,gBAAwB,eAAuB;AAAA,IAC1D,8BAA8B;AAAA,IAC9B,yBAAyB;AAAA,EAC1B,IAAiB,IAA8B;AAC9C,QAAI,CAAC,6BAA6B;AAC3B,YAAA,iBAAiBA,YAAAA,gBAAgB,SAAS,cAAc;AAC1D,UAAA,eAAe,SAAS,GAAG;AACxB,cAAA,IAAI,uBAAuB,gCAAgC,cAAc;AAAA,MAAA;AAAA,IAChF;AAEK,UAAA,gBAAgBA,YAAAA,gBAAgB,SAAS,aAAa;AACxD,QAAA,cAAc,SAAS,GAAG;AACvB,YAAA,IAAI,uBAAuB,+BAA+B,aAAa;AAAA,IAAA;AAG9E,UAAM,UAAoB;AAAA,MACzB,IAAIC,oDAAuB;AAAA,MAC3B,IAAIC,gDAAqB;AAAA,MACzB,IAAIC,oEAA+B;AAAA,MACnC,IAAIC,gGAA6C;AAAA,MACjD,IAAIC,4FAA2C;AAAA,MAC/C,IAAIC,gEAA6B;AAAA,MACjC,IAAIC,0CAAkB;AAAA,MACtB,IAAIC,kCAAiB;AAAA,MACrB,IAAIC,4CAAmB;AAAA,MACvB,IAAIC,0CAAkB;AAAA,MACtB,IAAIC,wCAAiB;AAAA,MACrB,IAAIC,8DAA4B;AAAA,MAChC,IAAIC,gDAAqB;AAAA,MACzB,IAAIC,gEAA6B;AAAA,MACjC,IAAIC,gEAA6B;AAAA,MACjC,IAAIC,oDAAuB;AAAA,MAC3B,IAAIC,gEAA6B;AAAA,MACjC,IAAIC,0DAA0B;AAAA,MAC9B,IAAIC,4DAA2B;AAAA,MAC/B,IAAIC,0DAA0B;AAAA,MAC9B,IAAIC,4DAA2B;AAAA,MAC/B,IAAIC,8DAA4B;AAAA,MAChC,IAAIC,wCAAiB;AAAA,MACrB,IAAIC,kDAAyB,CAAM,OAAA,CAACC,YAAAA,WAAW,EAAE,KAAKC,YAAAA,iBAAiB,EAAE,CAAC;AAAA,MAC1E,IAAIF,yBAAAA,yBAAyB,CAAM,OAAAC,YAAAA,WAAW,EAAE,KAAKE,YAAAA,kBAAkB,EAAE,CAAC;AAAA,MAC1E,IAAIC,4CAAmB;AAAA,MACvB,IAAIC,4CAAmB;AAAA,MACvB,IAAIC,gDAAqB;AAAA,MACzB,IAAIC,wCAAiB;AAAA,MACrB,IAAIC,sEAAgC;AAAA,MACpC,IAAIC,gEAA6B;AAAA,MACjC,IAAIC,0CAAkB;AAAA,MACtB,IAAIC,wCAAiB;AAAA,MACrB,IAAIC,4BAAsB,sBAAA,KAAK,OAAO;AAAA,MACtC,IAAIC,mCAA6B,6BAAA,KAAK,OAAO;AAAA,MAC7C,IAAIC,0DAA0B;AAAA,MAC9B,IAAIC,4CAAmB;AAAA,MACvB,IAAIC,4CAAmB;AAAA,MACvB,IAAIC,8CAAoB;AAAA,MACxB,IAAIC,8CAAoB;AAAA,MACxB,IAAIC,8CAAoB;AAAA,MACxB,IAAIC,yBAAmB,mBAAA;AAAA,IACxB;AAEA,UAAM,QAAkC,CAAC;AACzC,QAAI,qBAAqB;AACzB,eAAW,UAAU,SAAS;AAC7B,YAAM,cAAc,OAAO,WAAW,oBAAoB,aAAa;AACvE,2BAAqB,KAAK,eAAe,mBAAmB,oBAAoB,aAAaC,mCAAc;AACrG,YAAA,KAAK,GAAG,WAAW;AAAA,IAAA;AAG1B,QAAI,CAAC,wBAAwB;AAC5B,YAAM,SAASC,YAAAA,YAAY,eAAe,oBAAoB,CAAA,GAAI,CAAQ,SAAA;AACzE,YAAI,KAAK,CAAC,MAAM,WAAW,KAAK,CAAC,MAAM,eAAe,KAAK,CAAC,MAAM,YAAY,KAAK,CAAC,MAAM,UAAU;AAC5F,iBAAA,CAAC,GAAG,MAAM;AACT,mBAAAC,qCAAyB,GAAG,GAAG,IAAI;AAAA,UAC3C;AAAA,QAAA;AAEM,eAAA;AAAA,MAAA,CACP;AACG,UAAA,OAAO,WAAW,GAAG;AACjB,eAAA;AAAA,MAAA;AAER,UAAI,UAAU;AACd,iBAAW,OAAO,QAAQ;AACzB,mBAAW,QAAS,IAAI,KAAK,KAAK,GAAG,IAAI,OAAO,IAAI;AAAA,MAAA;AAE1C,iBAAA;AACL,YAAA,IAAIC,mCAAwB,OAAO;AAAA,IAAA;AAGnC,WAAA;AAAA,EAAA;AAET;AAEO,MAAM,+BAA+B,MAAM;AAAA,EACjD,YAAY,SAAiC,kBAAqC;AACjF,UAAM,OAAO;AAD+B,SAAA,mBAAA;AAAA,EAAA;AAG9C;;;"}
1
+ {"version":3,"file":"SchemaDiffer.cjs","sources":["../../../../packages/schema-migrations/src/SchemaDiffer.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport {\n\tcompareArraysIgnoreOrder,\n\tdeepCompare,\n\tisInverseRelation,\n\tisOwningRelation,\n\tisRelation,\n\tSchemaValidator,\n\tValidationError,\n} from '@contember/schema-utils'\nimport { SchemaMigrator } from './SchemaMigrator'\nimport { Migration } from './Migration'\nimport { ImplementationException } from './exceptions'\nimport {\n\tConvertOneHasManyToManyHasManyRelationDiffer,\n\tConvertOneToManyRelationDiffer,\n\tCreateColumnDiffer,\n\tCreateEntityDiffer,\n\tCreateEnumDiffer,\n\tCreateRelationDiffer,\n\tCreateRelationInverseSideDiffer,\n\tCreateUniqueConstraintDiffer,\n\tCreateViewDiffer,\n\tDiffer,\n\tDisableOrphanRemovalDiffer,\n\tEnableOrphanRemovalDiffer,\n\tMakeRelationNotNullDiffer,\n\tMakeRelationNullableDiffer,\n\tRemoveEntityDiffer,\n\tRemoveEnumDiffer,\n\tRemoveFieldDiffer,\n\tRemoveUniqueConstraintDiffer,\n\tToggleEventLogDiffer,\n\tToggleJunctionEventLogDiffer,\n\tUpdateAclSchemaDiffer,\n\tUpdateColumnDefinitionDiffer,\n\tUpdateColumnNameDiffer,\n\tUpdateEntityOrderByDiffer,\n\tUpdateEntityTableNameDiffer,\n\tUpdateEnumDiffer,\n\tUpdateRelationOnDeleteDiffer,\n\tUpdateRelationOrderByDiffer,\n\tUpdateValidationSchemaDiffer,\n\tVERSION_LATEST,\n} from './modifications'\nimport { RemoveChangedFieldDiffer, RemoveViewDiffer } from './modifications/differs'\nimport { CreateIndexDiffer, RemoveIndexDiffer } from './modifications/indexes'\nimport { CreateTriggerDiffer, RemoveTriggerDiffer, UpdateTriggerDiffer } from './modifications/actions'\nimport { UpdateTargetDiffer } from './modifications/actions/UpdateTargetModification'\nimport { CreateTargetDiffer } from './modifications/actions/CreateTargetModification'\nimport { RemoveTargetDiffer } from './modifications/actions/RemoveTargetModification'\nimport { UpdateSettingsDiffer } from './modifications/settings'\nimport { RemoveIndexNamesDiffer } from './modifications/upgrade/RemoveIndexNamesModification'\nimport { ConvertOneHasManyToOneHasOneRelationDiffer } from './modifications/relations/ConvertOneHasManyToOneHasOneRelationModification'\n\ntype DiffOptions = { skipRecreateValidation?: boolean; skipInitialSchemaValidation?: boolean }\n\nexport class SchemaDiffer {\n\tconstructor(\n\t\tprivate readonly schemaMigrator: SchemaMigrator,\n\t\tprivate readonly options?: {\n\t\t\tmaxPatchSize?: number\n\t\t},\n\t) {}\n\n\tdiffSchemas(originalSchema: Schema, updatedSchema: Schema, {\n\t\tskipInitialSchemaValidation = false,\n\t\tskipRecreateValidation = false,\n\t}: DiffOptions = {}): Migration.Modification[] {\n\t\tif (!skipInitialSchemaValidation) {\n\t\t\tconst originalErrors = SchemaValidator.validate(originalSchema)\n\t\t\tif (originalErrors.length > 0) {\n\t\t\t\tthrow new InvalidSchemaException('original schema is not valid', originalErrors)\n\t\t\t}\n\t\t}\n\t\tconst updatedErrors = SchemaValidator.validate(updatedSchema)\n\t\tif (updatedErrors.length > 0) {\n\t\t\tthrow new InvalidSchemaException('updated schema is not valid', updatedErrors)\n\t\t}\n\n\t\tconst differs: Differ[] = [\n\t\t\tnew RemoveIndexNamesDiffer(),\n\t\t\tnew UpdateSettingsDiffer(),\n\t\t\tnew ConvertOneToManyRelationDiffer(),\n\t\t\tnew ConvertOneHasManyToManyHasManyRelationDiffer(),\n\t\t\tnew ConvertOneHasManyToOneHasOneRelationDiffer(),\n\t\t\tnew RemoveUniqueConstraintDiffer(),\n\t\t\tnew RemoveIndexDiffer(),\n\t\t\tnew RemoveViewDiffer(),\n\t\t\tnew RemoveEntityDiffer(),\n\t\t\tnew RemoveFieldDiffer(),\n\t\t\tnew CreateEnumDiffer(),\n\t\t\tnew UpdateEntityTableNameDiffer(),\n\t\t\tnew ToggleEventLogDiffer(),\n\t\t\tnew ToggleJunctionEventLogDiffer(),\n\t\t\tnew UpdateColumnDefinitionDiffer(),\n\t\t\tnew UpdateColumnNameDiffer(),\n\t\t\tnew UpdateRelationOnDeleteDiffer(),\n\t\t\tnew MakeRelationNotNullDiffer(),\n\t\t\tnew MakeRelationNullableDiffer(),\n\t\t\tnew EnableOrphanRemovalDiffer(),\n\t\t\tnew DisableOrphanRemovalDiffer(),\n\t\t\tnew UpdateRelationOrderByDiffer(),\n\t\t\tnew UpdateEnumDiffer(),\n\t\t\tnew RemoveChangedFieldDiffer(it => !isRelation(it) || isOwningRelation(it)),\n\t\t\tnew RemoveChangedFieldDiffer(it => isRelation(it) && isInverseRelation(it)),\n\t\t\tnew CreateEntityDiffer(),\n\t\t\tnew CreateColumnDiffer(),\n\t\t\tnew CreateRelationDiffer(),\n\t\t\tnew CreateViewDiffer(),\n\t\t\tnew CreateRelationInverseSideDiffer(),\n\t\t\tnew CreateUniqueConstraintDiffer(),\n\t\t\tnew CreateIndexDiffer(),\n\t\t\tnew RemoveEnumDiffer(),\n\t\t\tnew UpdateAclSchemaDiffer(this.options),\n\t\t\tnew UpdateValidationSchemaDiffer(this.options),\n\t\t\tnew UpdateEntityOrderByDiffer(),\n\t\t\tnew UpdateTargetDiffer(),\n\t\t\tnew CreateTargetDiffer(),\n\t\t\tnew UpdateTriggerDiffer(this.options),\n\t\t\tnew CreateTriggerDiffer(),\n\t\t\tnew RemoveTriggerDiffer(),\n\t\t\tnew RemoveTargetDiffer(),\n\t\t]\n\n\t\tconst diffs: Migration.Modification[] = []\n\t\tlet appliedDiffsSchema = originalSchema\n\t\tfor (const differ of differs) {\n\t\t\tconst differDiffs = differ.createDiff(appliedDiffsSchema, updatedSchema)\n\t\t\tappliedDiffsSchema = this.schemaMigrator.applyModifications(appliedDiffsSchema, differDiffs, VERSION_LATEST)\n\t\t\tdiffs.push(...differDiffs)\n\t\t}\n\n\t\tif (!skipRecreateValidation) {\n\t\t\tconst errors = deepCompare(updatedSchema, appliedDiffsSchema, [], path => {\n\t\t\t\tif (path[0] === 'model' && path[1] === 'entities' && (path[3] === 'unique' || path[3] === 'index')) {\n\t\t\t\t\treturn (a, b) => {\n\t\t\t\t\t\treturn compareArraysIgnoreOrder(a, b, path)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn null\n\t\t\t})\n\t\t\tif (errors.length === 0) {\n\t\t\t\treturn diffs\n\t\t\t}\n\t\t\tlet message = 'Updated schema cannot be recreated by the generated diff:'\n\t\t\tfor (const err of errors) {\n\t\t\t\tmessage += '\\n\\t' + err.path.join('.') + ': ' + err.message\n\t\t\t}\n\t\t\tmessage += '\\n\\nPlease fill a bug report'\n\t\t\tthrow new ImplementationException(message)\n\t\t}\n\n\t\treturn diffs\n\t}\n}\n\nexport class InvalidSchemaException extends Error {\n\tconstructor(message: string, public readonly validationErrors: ValidationError[]) {\n\t\tsuper(message)\n\t}\n}\n"],"names":["SchemaValidator","RemoveIndexNamesDiffer","UpdateSettingsDiffer","ConvertOneToManyRelationDiffer","ConvertOneHasManyToManyHasManyRelationDiffer","ConvertOneHasManyToOneHasOneRelationDiffer","RemoveUniqueConstraintDiffer","RemoveIndexDiffer","RemoveViewDiffer","RemoveEntityDiffer","RemoveFieldDiffer","CreateEnumDiffer","UpdateEntityTableNameDiffer","ToggleEventLogDiffer","ToggleJunctionEventLogDiffer","UpdateColumnDefinitionDiffer","UpdateColumnNameDiffer","UpdateRelationOnDeleteDiffer","MakeRelationNotNullDiffer","MakeRelationNullableDiffer","EnableOrphanRemovalDiffer","DisableOrphanRemovalDiffer","UpdateRelationOrderByDiffer","UpdateEnumDiffer","RemoveChangedFieldDiffer","isRelation","isOwningRelation","isInverseRelation","CreateEntityDiffer","CreateColumnDiffer","CreateRelationDiffer","CreateViewDiffer","CreateRelationInverseSideDiffer","CreateUniqueConstraintDiffer","CreateIndexDiffer","RemoveEnumDiffer","UpdateAclSchemaDiffer","UpdateValidationSchemaDiffer","UpdateEntityOrderByDiffer","UpdateTargetDiffer","CreateTargetDiffer","UpdateTriggerDiffer","CreateTriggerDiffer","RemoveTriggerDiffer","RemoveTargetDiffer","VERSION_LATEST","deepCompare","compareArraysIgnoreOrder","ImplementationException"],"mappings":"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"}
@@ -103,7 +103,7 @@ class SchemaDiffer {
103
103
  new UpdateEntityOrderByDiffer(),
104
104
  new UpdateTargetDiffer(),
105
105
  new CreateTargetDiffer(),
106
- new UpdateTriggerDiffer(),
106
+ new UpdateTriggerDiffer(this.options),
107
107
  new CreateTriggerDiffer(),
108
108
  new RemoveTriggerDiffer(),
109
109
  new RemoveTargetDiffer()
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaDiffer.js","sources":["../../../../packages/schema-migrations/src/SchemaDiffer.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { compareArraysIgnoreOrder, deepCompare, isInverseRelation, isOwningRelation, isRelation, SchemaValidator, ValidationError } from '@contember/schema-utils'\nimport { SchemaMigrator } from './SchemaMigrator'\nimport { Migration } from './Migration'\nimport { ImplementationException } from './exceptions'\nimport {\n\tConvertOneHasManyToManyHasManyRelationDiffer,\n\tConvertOneToManyRelationDiffer,\n\tCreateColumnDiffer,\n\tCreateEntityDiffer,\n\tCreateEnumDiffer,\n\tCreateRelationDiffer,\n\tCreateRelationInverseSideDiffer,\n\tCreateUniqueConstraintDiffer,\n\tCreateViewDiffer,\n\tDiffer,\n\tDisableOrphanRemovalDiffer,\n\tEnableOrphanRemovalDiffer,\n\tMakeRelationNotNullDiffer,\n\tMakeRelationNullableDiffer,\n\tRemoveEntityDiffer,\n\tRemoveEnumDiffer,\n\tRemoveFieldDiffer,\n\tRemoveUniqueConstraintDiffer,\n\tToggleEventLogDiffer,\n\tToggleJunctionEventLogDiffer,\n\tUpdateAclSchemaDiffer,\n\tUpdateColumnDefinitionDiffer,\n\tUpdateColumnNameDiffer,\n\tUpdateEntityOrderByDiffer,\n\tUpdateEntityTableNameDiffer,\n\tUpdateEnumDiffer,\n\tUpdateRelationOnDeleteDiffer,\n\tUpdateRelationOrderByDiffer,\n\tUpdateValidationSchemaDiffer,\n\tVERSION_LATEST,\n} from './modifications'\nimport { RemoveChangedFieldDiffer, RemoveViewDiffer } from './modifications/differs'\nimport { CreateIndexDiffer, RemoveIndexDiffer } from './modifications/indexes'\nimport { CreateTriggerDiffer, RemoveTriggerDiffer, UpdateTriggerDiffer } from './modifications/actions'\nimport { UpdateTargetDiffer } from './modifications/actions/UpdateTargetModification'\nimport { CreateTargetDiffer } from './modifications/actions/CreateTargetModification'\nimport { RemoveTargetDiffer } from './modifications/actions/RemoveTargetModification'\nimport { UpdateSettingsDiffer } from './modifications/settings'\nimport { RemoveIndexNamesDiffer } from './modifications/upgrade/RemoveIndexNamesModification'\nimport { ConvertOneHasManyToOneHasOneRelationDiffer } from './modifications/relations/ConvertOneHasManyToOneHasOneRelationModification'\n\ntype DiffOptions = { skipRecreateValidation?: boolean; skipInitialSchemaValidation?: boolean }\n\nexport class SchemaDiffer {\n\tconstructor(\n\t\tprivate readonly schemaMigrator: SchemaMigrator,\n\t\tprivate readonly options?: {\n\t\t\tmaxPatchSize?: number\n\t\t},\n\t) {}\n\n\tdiffSchemas(originalSchema: Schema, updatedSchema: Schema, {\n\t\tskipInitialSchemaValidation = false,\n\t\tskipRecreateValidation = false,\n\t}: DiffOptions = {}): Migration.Modification[] {\n\t\tif (!skipInitialSchemaValidation) {\n\t\t\tconst originalErrors = SchemaValidator.validate(originalSchema)\n\t\t\tif (originalErrors.length > 0) {\n\t\t\t\tthrow new InvalidSchemaException('original schema is not valid', originalErrors)\n\t\t\t}\n\t\t}\n\t\tconst updatedErrors = SchemaValidator.validate(updatedSchema)\n\t\tif (updatedErrors.length > 0) {\n\t\t\tthrow new InvalidSchemaException('updated schema is not valid', updatedErrors)\n\t\t}\n\n\t\tconst differs: Differ[] = [\n\t\t\tnew RemoveIndexNamesDiffer(),\n\t\t\tnew UpdateSettingsDiffer(),\n\t\t\tnew ConvertOneToManyRelationDiffer(),\n\t\t\tnew ConvertOneHasManyToManyHasManyRelationDiffer(),\n\t\t\tnew ConvertOneHasManyToOneHasOneRelationDiffer(),\n\t\t\tnew RemoveUniqueConstraintDiffer(),\n\t\t\tnew RemoveIndexDiffer(),\n\t\t\tnew RemoveViewDiffer(),\n\t\t\tnew RemoveEntityDiffer(),\n\t\t\tnew RemoveFieldDiffer(),\n\t\t\tnew CreateEnumDiffer(),\n\t\t\tnew UpdateEntityTableNameDiffer(),\n\t\t\tnew ToggleEventLogDiffer(),\n\t\t\tnew ToggleJunctionEventLogDiffer(),\n\t\t\tnew UpdateColumnDefinitionDiffer(),\n\t\t\tnew UpdateColumnNameDiffer(),\n\t\t\tnew UpdateRelationOnDeleteDiffer(),\n\t\t\tnew MakeRelationNotNullDiffer(),\n\t\t\tnew MakeRelationNullableDiffer(),\n\t\t\tnew EnableOrphanRemovalDiffer(),\n\t\t\tnew DisableOrphanRemovalDiffer(),\n\t\t\tnew UpdateRelationOrderByDiffer(),\n\t\t\tnew UpdateEnumDiffer(),\n\t\t\tnew RemoveChangedFieldDiffer(it => !isRelation(it) || isOwningRelation(it)),\n\t\t\tnew RemoveChangedFieldDiffer(it => isRelation(it) && isInverseRelation(it)),\n\t\t\tnew CreateEntityDiffer(),\n\t\t\tnew CreateColumnDiffer(),\n\t\t\tnew CreateRelationDiffer(),\n\t\t\tnew CreateViewDiffer(),\n\t\t\tnew CreateRelationInverseSideDiffer(),\n\t\t\tnew CreateUniqueConstraintDiffer(),\n\t\t\tnew CreateIndexDiffer(),\n\t\t\tnew RemoveEnumDiffer(),\n\t\t\tnew UpdateAclSchemaDiffer(this.options),\n\t\t\tnew UpdateValidationSchemaDiffer(this.options),\n\t\t\tnew UpdateEntityOrderByDiffer(),\n\t\t\tnew UpdateTargetDiffer(),\n\t\t\tnew CreateTargetDiffer(),\n\t\t\tnew UpdateTriggerDiffer(),\n\t\t\tnew CreateTriggerDiffer(),\n\t\t\tnew RemoveTriggerDiffer(),\n\t\t\tnew RemoveTargetDiffer(),\n\t\t]\n\n\t\tconst diffs: Migration.Modification[] = []\n\t\tlet appliedDiffsSchema = originalSchema\n\t\tfor (const differ of differs) {\n\t\t\tconst differDiffs = differ.createDiff(appliedDiffsSchema, updatedSchema)\n\t\t\tappliedDiffsSchema = this.schemaMigrator.applyModifications(appliedDiffsSchema, differDiffs, VERSION_LATEST)\n\t\t\tdiffs.push(...differDiffs)\n\t\t}\n\n\t\tif (!skipRecreateValidation) {\n\t\t\tconst errors = deepCompare(updatedSchema, appliedDiffsSchema, [], path => {\n\t\t\t\tif (path[0] === 'model' && path[1] === 'entities' && (path[3] === 'unique' || path[3] === 'index')) {\n\t\t\t\t\treturn (a, b) => {\n\t\t\t\t\t\treturn compareArraysIgnoreOrder(a, b, path)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn null\n\t\t\t})\n\t\t\tif (errors.length === 0) {\n\t\t\t\treturn diffs\n\t\t\t}\n\t\t\tlet message = 'Updated schema cannot be recreated by the generated diff:'\n\t\t\tfor (const err of errors) {\n\t\t\t\tmessage += '\\n\\t' + err.path.join('.') + ': ' + err.message\n\t\t\t}\n\t\t\tmessage += '\\n\\nPlease fill a bug report'\n\t\t\tthrow new ImplementationException(message)\n\t\t}\n\n\t\treturn diffs\n\t}\n}\n\nexport class InvalidSchemaException extends Error {\n\tconstructor(message: string, public readonly validationErrors: ValidationError[]) {\n\t\tsuper(message)\n\t}\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SchemaDiffer.js","sources":["../../../../packages/schema-migrations/src/SchemaDiffer.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport {\n\tcompareArraysIgnoreOrder,\n\tdeepCompare,\n\tisInverseRelation,\n\tisOwningRelation,\n\tisRelation,\n\tSchemaValidator,\n\tValidationError,\n} from '@contember/schema-utils'\nimport { SchemaMigrator } from './SchemaMigrator'\nimport { Migration } from './Migration'\nimport { ImplementationException } from './exceptions'\nimport {\n\tConvertOneHasManyToManyHasManyRelationDiffer,\n\tConvertOneToManyRelationDiffer,\n\tCreateColumnDiffer,\n\tCreateEntityDiffer,\n\tCreateEnumDiffer,\n\tCreateRelationDiffer,\n\tCreateRelationInverseSideDiffer,\n\tCreateUniqueConstraintDiffer,\n\tCreateViewDiffer,\n\tDiffer,\n\tDisableOrphanRemovalDiffer,\n\tEnableOrphanRemovalDiffer,\n\tMakeRelationNotNullDiffer,\n\tMakeRelationNullableDiffer,\n\tRemoveEntityDiffer,\n\tRemoveEnumDiffer,\n\tRemoveFieldDiffer,\n\tRemoveUniqueConstraintDiffer,\n\tToggleEventLogDiffer,\n\tToggleJunctionEventLogDiffer,\n\tUpdateAclSchemaDiffer,\n\tUpdateColumnDefinitionDiffer,\n\tUpdateColumnNameDiffer,\n\tUpdateEntityOrderByDiffer,\n\tUpdateEntityTableNameDiffer,\n\tUpdateEnumDiffer,\n\tUpdateRelationOnDeleteDiffer,\n\tUpdateRelationOrderByDiffer,\n\tUpdateValidationSchemaDiffer,\n\tVERSION_LATEST,\n} from './modifications'\nimport { RemoveChangedFieldDiffer, RemoveViewDiffer } from './modifications/differs'\nimport { CreateIndexDiffer, RemoveIndexDiffer } from './modifications/indexes'\nimport { CreateTriggerDiffer, RemoveTriggerDiffer, UpdateTriggerDiffer } from './modifications/actions'\nimport { UpdateTargetDiffer } from './modifications/actions/UpdateTargetModification'\nimport { CreateTargetDiffer } from './modifications/actions/CreateTargetModification'\nimport { RemoveTargetDiffer } from './modifications/actions/RemoveTargetModification'\nimport { UpdateSettingsDiffer } from './modifications/settings'\nimport { RemoveIndexNamesDiffer } from './modifications/upgrade/RemoveIndexNamesModification'\nimport { ConvertOneHasManyToOneHasOneRelationDiffer } from './modifications/relations/ConvertOneHasManyToOneHasOneRelationModification'\n\ntype DiffOptions = { skipRecreateValidation?: boolean; skipInitialSchemaValidation?: boolean }\n\nexport class SchemaDiffer {\n\tconstructor(\n\t\tprivate readonly schemaMigrator: SchemaMigrator,\n\t\tprivate readonly options?: {\n\t\t\tmaxPatchSize?: number\n\t\t},\n\t) {}\n\n\tdiffSchemas(originalSchema: Schema, updatedSchema: Schema, {\n\t\tskipInitialSchemaValidation = false,\n\t\tskipRecreateValidation = false,\n\t}: DiffOptions = {}): Migration.Modification[] {\n\t\tif (!skipInitialSchemaValidation) {\n\t\t\tconst originalErrors = SchemaValidator.validate(originalSchema)\n\t\t\tif (originalErrors.length > 0) {\n\t\t\t\tthrow new InvalidSchemaException('original schema is not valid', originalErrors)\n\t\t\t}\n\t\t}\n\t\tconst updatedErrors = SchemaValidator.validate(updatedSchema)\n\t\tif (updatedErrors.length > 0) {\n\t\t\tthrow new InvalidSchemaException('updated schema is not valid', updatedErrors)\n\t\t}\n\n\t\tconst differs: Differ[] = [\n\t\t\tnew RemoveIndexNamesDiffer(),\n\t\t\tnew UpdateSettingsDiffer(),\n\t\t\tnew ConvertOneToManyRelationDiffer(),\n\t\t\tnew ConvertOneHasManyToManyHasManyRelationDiffer(),\n\t\t\tnew ConvertOneHasManyToOneHasOneRelationDiffer(),\n\t\t\tnew RemoveUniqueConstraintDiffer(),\n\t\t\tnew RemoveIndexDiffer(),\n\t\t\tnew RemoveViewDiffer(),\n\t\t\tnew RemoveEntityDiffer(),\n\t\t\tnew RemoveFieldDiffer(),\n\t\t\tnew CreateEnumDiffer(),\n\t\t\tnew UpdateEntityTableNameDiffer(),\n\t\t\tnew ToggleEventLogDiffer(),\n\t\t\tnew ToggleJunctionEventLogDiffer(),\n\t\t\tnew UpdateColumnDefinitionDiffer(),\n\t\t\tnew UpdateColumnNameDiffer(),\n\t\t\tnew UpdateRelationOnDeleteDiffer(),\n\t\t\tnew MakeRelationNotNullDiffer(),\n\t\t\tnew MakeRelationNullableDiffer(),\n\t\t\tnew EnableOrphanRemovalDiffer(),\n\t\t\tnew DisableOrphanRemovalDiffer(),\n\t\t\tnew UpdateRelationOrderByDiffer(),\n\t\t\tnew UpdateEnumDiffer(),\n\t\t\tnew RemoveChangedFieldDiffer(it => !isRelation(it) || isOwningRelation(it)),\n\t\t\tnew RemoveChangedFieldDiffer(it => isRelation(it) && isInverseRelation(it)),\n\t\t\tnew CreateEntityDiffer(),\n\t\t\tnew CreateColumnDiffer(),\n\t\t\tnew CreateRelationDiffer(),\n\t\t\tnew CreateViewDiffer(),\n\t\t\tnew CreateRelationInverseSideDiffer(),\n\t\t\tnew CreateUniqueConstraintDiffer(),\n\t\t\tnew CreateIndexDiffer(),\n\t\t\tnew RemoveEnumDiffer(),\n\t\t\tnew UpdateAclSchemaDiffer(this.options),\n\t\t\tnew UpdateValidationSchemaDiffer(this.options),\n\t\t\tnew UpdateEntityOrderByDiffer(),\n\t\t\tnew UpdateTargetDiffer(),\n\t\t\tnew CreateTargetDiffer(),\n\t\t\tnew UpdateTriggerDiffer(this.options),\n\t\t\tnew CreateTriggerDiffer(),\n\t\t\tnew RemoveTriggerDiffer(),\n\t\t\tnew RemoveTargetDiffer(),\n\t\t]\n\n\t\tconst diffs: Migration.Modification[] = []\n\t\tlet appliedDiffsSchema = originalSchema\n\t\tfor (const differ of differs) {\n\t\t\tconst differDiffs = differ.createDiff(appliedDiffsSchema, updatedSchema)\n\t\t\tappliedDiffsSchema = this.schemaMigrator.applyModifications(appliedDiffsSchema, differDiffs, VERSION_LATEST)\n\t\t\tdiffs.push(...differDiffs)\n\t\t}\n\n\t\tif (!skipRecreateValidation) {\n\t\t\tconst errors = deepCompare(updatedSchema, appliedDiffsSchema, [], path => {\n\t\t\t\tif (path[0] === 'model' && path[1] === 'entities' && (path[3] === 'unique' || path[3] === 'index')) {\n\t\t\t\t\treturn (a, b) => {\n\t\t\t\t\t\treturn compareArraysIgnoreOrder(a, b, path)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn null\n\t\t\t})\n\t\t\tif (errors.length === 0) {\n\t\t\t\treturn diffs\n\t\t\t}\n\t\t\tlet message = 'Updated schema cannot be recreated by the generated diff:'\n\t\t\tfor (const err of errors) {\n\t\t\t\tmessage += '\\n\\t' + err.path.join('.') + ': ' + err.message\n\t\t\t}\n\t\t\tmessage += '\\n\\nPlease fill a bug report'\n\t\t\tthrow new ImplementationException(message)\n\t\t}\n\n\t\treturn diffs\n\t}\n}\n\nexport class InvalidSchemaException extends Error {\n\tconstructor(message: string, public readonly validationErrors: ValidationError[]) {\n\t\tsuper(message)\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyDO,MAAM,aAAa;AAAA,EACzB,YACkB,gBACA,SAGhB;AAJgB,SAAA,iBAAA;AACA,SAAA,UAAA;AAAA,EAGf;AAAA,EAEH,YAAY,gBAAwB,eAAuB;AAAA,IAC1D,8BAA8B;AAAA,IAC9B,yBAAyB;AAAA,EAAA,IACT,IAA8B;AAC9C,QAAI,CAAC,6BAA6B;AACjC,YAAM,iBAAiB,gBAAgB,SAAS,cAAc;AAC9D,UAAI,eAAe,SAAS,GAAG;AAC9B,cAAM,IAAI,uBAAuB,gCAAgC,cAAc;AAAA,MAChF;AAAA,IACD;AACA,UAAM,gBAAgB,gBAAgB,SAAS,aAAa;AAC5D,QAAI,cAAc,SAAS,GAAG;AAC7B,YAAM,IAAI,uBAAuB,+BAA+B,aAAa;AAAA,IAC9E;AAEA,UAAM,UAAoB;AAAA,MACzB,IAAI,uBAAA;AAAA,MACJ,IAAI,qBAAA;AAAA,MACJ,IAAI,+BAAA;AAAA,MACJ,IAAI,6CAAA;AAAA,MACJ,IAAI,2CAAA;AAAA,MACJ,IAAI,6BAAA;AAAA,MACJ,IAAI,kBAAA;AAAA,MACJ,IAAI,iBAAA;AAAA,MACJ,IAAI,mBAAA;AAAA,MACJ,IAAI,kBAAA;AAAA,MACJ,IAAI,iBAAA;AAAA,MACJ,IAAI,4BAAA;AAAA,MACJ,IAAI,qBAAA;AAAA,MACJ,IAAI,6BAAA;AAAA,MACJ,IAAI,6BAAA;AAAA,MACJ,IAAI,uBAAA;AAAA,MACJ,IAAI,6BAAA;AAAA,MACJ,IAAI,0BAAA;AAAA,MACJ,IAAI,2BAAA;AAAA,MACJ,IAAI,0BAAA;AAAA,MACJ,IAAI,2BAAA;AAAA,MACJ,IAAI,4BAAA;AAAA,MACJ,IAAI,iBAAA;AAAA,MACJ,IAAI,yBAAyB,CAAA,OAAM,CAAC,WAAW,EAAE,KAAK,iBAAiB,EAAE,CAAC;AAAA,MAC1E,IAAI,yBAAyB,CAAA,OAAM,WAAW,EAAE,KAAK,kBAAkB,EAAE,CAAC;AAAA,MAC1E,IAAI,mBAAA;AAAA,MACJ,IAAI,mBAAA;AAAA,MACJ,IAAI,qBAAA;AAAA,MACJ,IAAI,iBAAA;AAAA,MACJ,IAAI,gCAAA;AAAA,MACJ,IAAI,6BAAA;AAAA,MACJ,IAAI,kBAAA;AAAA,MACJ,IAAI,iBAAA;AAAA,MACJ,IAAI,sBAAsB,KAAK,OAAO;AAAA,MACtC,IAAI,6BAA6B,KAAK,OAAO;AAAA,MAC7C,IAAI,0BAAA;AAAA,MACJ,IAAI,mBAAA;AAAA,MACJ,IAAI,mBAAA;AAAA,MACJ,IAAI,oBAAoB,KAAK,OAAO;AAAA,MACpC,IAAI,oBAAA;AAAA,MACJ,IAAI,oBAAA;AAAA,MACJ,IAAI,mBAAA;AAAA,IAAmB;AAGxB,UAAM,QAAkC,CAAA;AACxC,QAAI,qBAAqB;AACzB,eAAW,UAAU,SAAS;AAC7B,YAAM,cAAc,OAAO,WAAW,oBAAoB,aAAa;AACvE,2BAAqB,KAAK,eAAe,mBAAmB,oBAAoB,aAAa,cAAc;AAC3G,YAAM,KAAK,GAAG,WAAW;AAAA,IAC1B;AAEA,QAAI,CAAC,wBAAwB;AAC5B,YAAM,SAAS,YAAY,eAAe,oBAAoB,CAAA,GAAI,CAAA,SAAQ;AACzE,YAAI,KAAK,CAAC,MAAM,WAAW,KAAK,CAAC,MAAM,eAAe,KAAK,CAAC,MAAM,YAAY,KAAK,CAAC,MAAM,UAAU;AACnG,iBAAO,CAAC,GAAG,MAAM;AAChB,mBAAO,yBAAyB,GAAG,GAAG,IAAI;AAAA,UAC3C;AAAA,QACD;AACA,eAAO;AAAA,MACR,CAAC;AACD,UAAI,OAAO,WAAW,GAAG;AACxB,eAAO;AAAA,MACR;AACA,UAAI,UAAU;AACd,iBAAW,OAAO,QAAQ;AACzB,mBAAW,QAAS,IAAI,KAAK,KAAK,GAAG,IAAI,OAAO,IAAI;AAAA,MACrD;AACA,iBAAW;AACX,YAAM,IAAI,wBAAwB,OAAO;AAAA,IAC1C;AAEA,WAAO;AAAA,EACR;AACD;AAEO,MAAM,+BAA+B,MAAM;AAAA,EACjD,YAAY,SAAiC,kBAAqC;AACjF,UAAM,OAAO;AAD+B,SAAA,mBAAA;AAAA,EAE7C;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaMigrator.cjs","sources":["../../../../packages/schema-migrations/src/SchemaMigrator.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { ModificationHandlerFactory } from './modifications'\nimport { Migration } from './Migration'\n\nexport class SchemaMigrator {\n\tconstructor(private readonly modificationHandlerFactory: ModificationHandlerFactory) {}\n\n\tpublic applyModifications(schema: Schema, diff: readonly Migration.Modification[], formatVersion: number): Schema {\n\t\tfor (const modification of diff) {\n\t\t\tconst { modification: name, ...data } = modification\n\t\t\tconst modificationHandler = this.modificationHandlerFactory.create(name, data, schema, {\n\t\t\t\tformatVersion,\n\t\t\t})\n\t\t\tschema = modificationHandler.getSchemaUpdater()({ schema })\n\t\t}\n\t\treturn schema\n\t}\n}\n"],"names":[],"mappings":";;AAIO,MAAM,eAAe;AAAA,EAC3B,YAA6B,4BAAwD;AAAxD,SAAA,6BAAA;AAAA,EAAA;AAAA,EAEtB,mBAAmB,QAAgB,MAAyC,eAA+B;AACjH,eAAW,gBAAgB,MAAM;AAChC,YAAM,EAAE,cAAc,MAAM,GAAG,KAAS,IAAA;AACxC,YAAM,sBAAsB,KAAK,2BAA2B,OAAO,MAAM,MAAM,QAAQ;AAAA,QACtF;AAAA,MAAA,CACA;AACD,eAAS,oBAAoB,mBAAmB,EAAE,QAAQ;AAAA,IAAA;AAEpD,WAAA;AAAA,EAAA;AAET;;"}
1
+ {"version":3,"file":"SchemaMigrator.cjs","sources":["../../../../packages/schema-migrations/src/SchemaMigrator.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { ModificationHandlerFactory } from './modifications'\nimport { Migration } from './Migration'\n\nexport class SchemaMigrator {\n\tconstructor(private readonly modificationHandlerFactory: ModificationHandlerFactory) {}\n\n\tpublic applyModifications(schema: Schema, diff: readonly Migration.Modification[], formatVersion: number): Schema {\n\t\tfor (const modification of diff) {\n\t\t\tconst { modification: name, ...data } = modification\n\t\t\tconst modificationHandler = this.modificationHandlerFactory.create(name, data, schema, {\n\t\t\t\tformatVersion,\n\t\t\t})\n\t\t\tschema = modificationHandler.getSchemaUpdater()({ schema })\n\t\t}\n\t\treturn schema\n\t}\n}\n"],"names":[],"mappings":";;AAIO,MAAM,eAAe;AAAA,EAC3B,YAA6B,4BAAwD;AAAxD,SAAA,6BAAA;AAAA,EAAyD;AAAA,EAE/E,mBAAmB,QAAgB,MAAyC,eAA+B;AACjH,eAAW,gBAAgB,MAAM;AAChC,YAAM,EAAE,cAAc,MAAM,GAAG,SAAS;AACxC,YAAM,sBAAsB,KAAK,2BAA2B,OAAO,MAAM,MAAM,QAAQ;AAAA,QACtF;AAAA,MAAA,CACA;AACD,eAAS,oBAAoB,mBAAmB,EAAE,QAAQ;AAAA,IAC3D;AACA,WAAO;AAAA,EACR;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaMigrator.js","sources":["../../../../packages/schema-migrations/src/SchemaMigrator.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { ModificationHandlerFactory } from './modifications'\nimport { Migration } from './Migration'\n\nexport class SchemaMigrator {\n\tconstructor(private readonly modificationHandlerFactory: ModificationHandlerFactory) {}\n\n\tpublic applyModifications(schema: Schema, diff: readonly Migration.Modification[], formatVersion: number): Schema {\n\t\tfor (const modification of diff) {\n\t\t\tconst { modification: name, ...data } = modification\n\t\t\tconst modificationHandler = this.modificationHandlerFactory.create(name, data, schema, {\n\t\t\t\tformatVersion,\n\t\t\t})\n\t\t\tschema = modificationHandler.getSchemaUpdater()({ schema })\n\t\t}\n\t\treturn schema\n\t}\n}\n"],"names":[],"mappings":"AAIO,MAAM,eAAe;AAAA,EAC3B,YAA6B,4BAAwD;AAAxD,SAAA,6BAAA;AAAA,EAAA;AAAA,EAEtB,mBAAmB,QAAgB,MAAyC,eAA+B;AACjH,eAAW,gBAAgB,MAAM;AAChC,YAAM,EAAE,cAAc,MAAM,GAAG,KAAS,IAAA;AACxC,YAAM,sBAAsB,KAAK,2BAA2B,OAAO,MAAM,MAAM,QAAQ;AAAA,QACtF;AAAA,MAAA,CACA;AACD,eAAS,oBAAoB,mBAAmB,EAAE,QAAQ;AAAA,IAAA;AAEpD,WAAA;AAAA,EAAA;AAET;"}
1
+ {"version":3,"file":"SchemaMigrator.js","sources":["../../../../packages/schema-migrations/src/SchemaMigrator.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { ModificationHandlerFactory } from './modifications'\nimport { Migration } from './Migration'\n\nexport class SchemaMigrator {\n\tconstructor(private readonly modificationHandlerFactory: ModificationHandlerFactory) {}\n\n\tpublic applyModifications(schema: Schema, diff: readonly Migration.Modification[], formatVersion: number): Schema {\n\t\tfor (const modification of diff) {\n\t\t\tconst { modification: name, ...data } = modification\n\t\t\tconst modificationHandler = this.modificationHandlerFactory.create(name, data, schema, {\n\t\t\t\tformatVersion,\n\t\t\t})\n\t\t\tschema = modificationHandler.getSchemaUpdater()({ schema })\n\t\t}\n\t\treturn schema\n\t}\n}\n"],"names":[],"mappings":"AAIO,MAAM,eAAe;AAAA,EAC3B,YAA6B,4BAAwD;AAAxD,SAAA,6BAAA;AAAA,EAAyD;AAAA,EAE/E,mBAAmB,QAAgB,MAAyC,eAA+B;AACjH,eAAW,gBAAgB,MAAM;AAChC,YAAM,EAAE,cAAc,MAAM,GAAG,SAAS;AACxC,YAAM,sBAAsB,KAAK,2BAA2B,OAAO,MAAM,MAAM,QAAQ;AAAA,QACtF;AAAA,MAAA,CACA;AACD,eAAS,oBAAoB,mBAAmB,EAAE,QAAQ;AAAA,IAC3D;AACA,WAAO;AAAA,EACR;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ModificationHandler.cjs","sources":["../../../../../packages/schema-migrations/src/modifications/ModificationHandler.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { SchemaUpdater } from './utils/schemaUpdateUtils'\nimport { Schema } from '@contember/schema'\nimport { Migration } from '../Migration'\nimport { DatabaseMetadata } from '@contember/database'\n\nexport interface ModificationDescription {\n\tmessage: string\n\tisDestructive?: boolean\n\tfailureWarning?: string\n}\n\nexport const emptyModificationDescriptionContext: ModificationDescriptionContext = { createdEntities: [] }\nexport type ModificationDescriptionContext = { createdEntities: string[] }\n\nexport interface ModificationHandler<Data> {\n\tcreateSql(builder: MigrationBuilder, options: ModificationHandlerCreateSqlOptions): void\n\n\tgetSchemaUpdater(): SchemaUpdater\n\n\tdescribe(context: ModificationDescriptionContext): ModificationDescription\n}\n\nexport interface ModificationHandlerCreateSqlOptions {\n\tsystemSchema: string\n\tdatabaseMetadata: DatabaseMetadata\n\tinvalidateDatabaseMetadata: () => void\n}\n\nexport interface ModificationHandlerOptions {\n\tformatVersion: number\n}\n\nexport interface ModificationHandlerConstructor<Data> {\n\tnew(data: Data, schema: Schema, options: ModificationHandlerOptions): ModificationHandler<Data>\n}\n\nexport interface Differ<Data = { [field: string]: any }> {\n\tcreateDiff: (originalSchema: Schema, updatedSchema: Schema) => Migration.Modification<Data>[]\n}\n\n\nexport interface ModificationType<Id extends String, Data> {\n\tid: Id\n\tcreateModification: (data: Data) => Migration.Modification<Data>\n\tcreateHandler: (data: Data, schema: Schema, options: ModificationHandlerOptions) => ModificationHandler<Data>\n}\n\nexport const createModificationType = <Data, Id extends string>({ handler, id }: {\n\tid: Id\n\thandler: ModificationHandlerConstructor<Data>\n}): ModificationType<Id, Data> => {\n\treturn {\n\t\tid,\n\t\tcreateModification: data => ({ modification: id, ...data }),\n\t\tcreateHandler: (data, schema, options) => new handler(data, schema, options),\n\t}\n}\n"],"names":[],"mappings":";;AAYO,MAAM,sCAAsE,EAAE,iBAAiB,CAAG,EAAA;AAoClG,MAAM,yBAAyB,CAA0B,EAAE,SAAS,SAGzC;AAC1B,SAAA;AAAA,IACN;AAAA,IACA,oBAAoB,CAAS,UAAA,EAAE,cAAc,IAAI,GAAG;IACpD,eAAe,CAAC,MAAM,QAAQ,YAAY,IAAI,QAAQ,MAAM,QAAQ,OAAO;AAAA,EAC5E;AACD;;;"}
1
+ {"version":3,"file":"ModificationHandler.cjs","sources":["../../../../../packages/schema-migrations/src/modifications/ModificationHandler.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { SchemaUpdater } from './utils/schemaUpdateUtils'\nimport { Schema } from '@contember/schema'\nimport { Migration } from '../Migration'\nimport { DatabaseMetadata } from '@contember/database'\n\nexport interface ModificationDescription {\n\tmessage: string\n\tisDestructive?: boolean\n\tfailureWarning?: string\n}\n\nexport const emptyModificationDescriptionContext: ModificationDescriptionContext = { createdEntities: [] }\nexport type ModificationDescriptionContext = { createdEntities: string[] }\n\nexport interface ModificationHandler<Data> {\n\tcreateSql(builder: MigrationBuilder, options: ModificationHandlerCreateSqlOptions): void\n\n\tgetSchemaUpdater(): SchemaUpdater\n\n\tdescribe(context: ModificationDescriptionContext): ModificationDescription\n}\n\nexport interface ModificationHandlerCreateSqlOptions {\n\tsystemSchema: string\n\tdatabaseMetadata: DatabaseMetadata\n\tinvalidateDatabaseMetadata: () => void\n}\n\nexport interface ModificationHandlerOptions {\n\tformatVersion: number\n}\n\nexport interface ModificationHandlerConstructor<Data> {\n\tnew(data: Data, schema: Schema, options: ModificationHandlerOptions): ModificationHandler<Data>\n}\n\nexport interface Differ<Data = { [field: string]: any }> {\n\tcreateDiff: (originalSchema: Schema, updatedSchema: Schema) => Migration.Modification<Data>[]\n}\n\nexport interface ModificationType<Id extends String, Data> {\n\tid: Id\n\tcreateModification: (data: Data) => Migration.Modification<Data>\n\tcreateHandler: (data: Data, schema: Schema, options: ModificationHandlerOptions) => ModificationHandler<Data>\n}\n\nexport const createModificationType = <Data, Id extends string>({ handler, id }: {\n\tid: Id\n\thandler: ModificationHandlerConstructor<Data>\n}): ModificationType<Id, Data> => {\n\treturn {\n\t\tid,\n\t\tcreateModification: data => ({ modification: id, ...data }),\n\t\tcreateHandler: (data, schema, options) => new handler(data, schema, options),\n\t}\n}\n"],"names":[],"mappings":";;AAYO,MAAM,sCAAsE,EAAE,iBAAiB,CAAA,EAAC;AAmChG,MAAM,yBAAyB,CAA0B,EAAE,SAAS,SAGzC;AACjC,SAAO;AAAA,IACN;AAAA,IACA,oBAAoB,CAAA,UAAS,EAAE,cAAc,IAAI,GAAG;IACpD,eAAe,CAAC,MAAM,QAAQ,YAAY,IAAI,QAAQ,MAAM,QAAQ,OAAO;AAAA,EAAA;AAE7E;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ModificationHandler.js","sources":["../../../../../packages/schema-migrations/src/modifications/ModificationHandler.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { SchemaUpdater } from './utils/schemaUpdateUtils'\nimport { Schema } from '@contember/schema'\nimport { Migration } from '../Migration'\nimport { DatabaseMetadata } from '@contember/database'\n\nexport interface ModificationDescription {\n\tmessage: string\n\tisDestructive?: boolean\n\tfailureWarning?: string\n}\n\nexport const emptyModificationDescriptionContext: ModificationDescriptionContext = { createdEntities: [] }\nexport type ModificationDescriptionContext = { createdEntities: string[] }\n\nexport interface ModificationHandler<Data> {\n\tcreateSql(builder: MigrationBuilder, options: ModificationHandlerCreateSqlOptions): void\n\n\tgetSchemaUpdater(): SchemaUpdater\n\n\tdescribe(context: ModificationDescriptionContext): ModificationDescription\n}\n\nexport interface ModificationHandlerCreateSqlOptions {\n\tsystemSchema: string\n\tdatabaseMetadata: DatabaseMetadata\n\tinvalidateDatabaseMetadata: () => void\n}\n\nexport interface ModificationHandlerOptions {\n\tformatVersion: number\n}\n\nexport interface ModificationHandlerConstructor<Data> {\n\tnew(data: Data, schema: Schema, options: ModificationHandlerOptions): ModificationHandler<Data>\n}\n\nexport interface Differ<Data = { [field: string]: any }> {\n\tcreateDiff: (originalSchema: Schema, updatedSchema: Schema) => Migration.Modification<Data>[]\n}\n\n\nexport interface ModificationType<Id extends String, Data> {\n\tid: Id\n\tcreateModification: (data: Data) => Migration.Modification<Data>\n\tcreateHandler: (data: Data, schema: Schema, options: ModificationHandlerOptions) => ModificationHandler<Data>\n}\n\nexport const createModificationType = <Data, Id extends string>({ handler, id }: {\n\tid: Id\n\thandler: ModificationHandlerConstructor<Data>\n}): ModificationType<Id, Data> => {\n\treturn {\n\t\tid,\n\t\tcreateModification: data => ({ modification: id, ...data }),\n\t\tcreateHandler: (data, schema, options) => new handler(data, schema, options),\n\t}\n}\n"],"names":[],"mappings":"AAYO,MAAM,sCAAsE,EAAE,iBAAiB,CAAG,EAAA;AAoClG,MAAM,yBAAyB,CAA0B,EAAE,SAAS,SAGzC;AAC1B,SAAA;AAAA,IACN;AAAA,IACA,oBAAoB,CAAS,UAAA,EAAE,cAAc,IAAI,GAAG;IACpD,eAAe,CAAC,MAAM,QAAQ,YAAY,IAAI,QAAQ,MAAM,QAAQ,OAAO;AAAA,EAC5E;AACD;"}
1
+ {"version":3,"file":"ModificationHandler.js","sources":["../../../../../packages/schema-migrations/src/modifications/ModificationHandler.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { SchemaUpdater } from './utils/schemaUpdateUtils'\nimport { Schema } from '@contember/schema'\nimport { Migration } from '../Migration'\nimport { DatabaseMetadata } from '@contember/database'\n\nexport interface ModificationDescription {\n\tmessage: string\n\tisDestructive?: boolean\n\tfailureWarning?: string\n}\n\nexport const emptyModificationDescriptionContext: ModificationDescriptionContext = { createdEntities: [] }\nexport type ModificationDescriptionContext = { createdEntities: string[] }\n\nexport interface ModificationHandler<Data> {\n\tcreateSql(builder: MigrationBuilder, options: ModificationHandlerCreateSqlOptions): void\n\n\tgetSchemaUpdater(): SchemaUpdater\n\n\tdescribe(context: ModificationDescriptionContext): ModificationDescription\n}\n\nexport interface ModificationHandlerCreateSqlOptions {\n\tsystemSchema: string\n\tdatabaseMetadata: DatabaseMetadata\n\tinvalidateDatabaseMetadata: () => void\n}\n\nexport interface ModificationHandlerOptions {\n\tformatVersion: number\n}\n\nexport interface ModificationHandlerConstructor<Data> {\n\tnew(data: Data, schema: Schema, options: ModificationHandlerOptions): ModificationHandler<Data>\n}\n\nexport interface Differ<Data = { [field: string]: any }> {\n\tcreateDiff: (originalSchema: Schema, updatedSchema: Schema) => Migration.Modification<Data>[]\n}\n\nexport interface ModificationType<Id extends String, Data> {\n\tid: Id\n\tcreateModification: (data: Data) => Migration.Modification<Data>\n\tcreateHandler: (data: Data, schema: Schema, options: ModificationHandlerOptions) => ModificationHandler<Data>\n}\n\nexport const createModificationType = <Data, Id extends string>({ handler, id }: {\n\tid: Id\n\thandler: ModificationHandlerConstructor<Data>\n}): ModificationType<Id, Data> => {\n\treturn {\n\t\tid,\n\t\tcreateModification: data => ({ modification: id, ...data }),\n\t\tcreateHandler: (data, schema, options) => new handler(data, schema, options),\n\t}\n}\n"],"names":[],"mappings":"AAYO,MAAM,sCAAsE,EAAE,iBAAiB,CAAA,EAAC;AAmChG,MAAM,yBAAyB,CAA0B,EAAE,SAAS,SAGzC;AACjC,SAAO;AAAA,IACN;AAAA,IACA,oBAAoB,CAAA,UAAS,EAAE,cAAc,IAAI,GAAG;IACpD,eAAe,CAAC,MAAM,QAAQ,YAAY,IAAI,QAAQ,MAAM,QAAQ,OAAO;AAAA,EAAA;AAE7E;"}
@@ -40,6 +40,7 @@ const UpdateSettingsModification = require("./settings/UpdateSettingsModificatio
40
40
  const CreateTriggerModification = require("./actions/CreateTriggerModification.cjs");
41
41
  const RemoveTriggerModification = require("./actions/RemoveTriggerModification.cjs");
42
42
  const UpdateTriggerModification = require("./actions/UpdateTriggerModification.cjs");
43
+ const PatchTriggerModification = require("./actions/PatchTriggerModification.cjs");
43
44
  const CreateTargetModification = require("./actions/CreateTargetModification.cjs");
44
45
  const RemoveTargetModification = require("./actions/RemoveTargetModification.cjs");
45
46
  const UpdateTargetModification = require("./actions/UpdateTargetModification.cjs");
@@ -98,6 +99,7 @@ class ModificationHandlerFactory {
98
99
  UpdateEntityOrderByModification.updateEntityOrderByModification,
99
100
  CreateTriggerModification.createTriggerModification,
100
101
  UpdateTriggerModification.updateTriggerModification,
102
+ PatchTriggerModification.patchTriggerModification,
101
103
  RemoveTriggerModification.removeTriggerModification,
102
104
  CreateTargetModification.createTargetModification,
103
105
  UpdateTargetModification.updateTargetModification,
@@ -1 +1 @@
1
- {"version":3,"file":"ModificationHandlerFactory.cjs","sources":["../../../../../packages/schema-migrations/src/modifications/ModificationHandlerFactory.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { ModificationHandler, ModificationHandlerOptions, ModificationType } from './ModificationHandler'\nimport { patchAclSchemaModification, updateAclSchemaModification } from './acl'\nimport { createColumnModification, updateColumnDefinitionModification, updateColumnNameModification } from './columns'\nimport { createUniqueConstraintModification, removeUniqueConstraintModification } from './constraints'\nimport {\n\tcreateEntityModification,\n\tcreateViewModification,\n\tremoveEntityModification,\n\ttoggleEventLogModification,\n\tupdateEntityNameModification,\n\tupdateEntityTableNameModification,\n} from './entities'\nimport { updateViewModification } from './entities/UpdateViewModification'\nimport { createEnumModification, removeEnumModification, updateEnumModification } from './enums'\nimport { removeFieldModification, updateFieldNameModification } from './fields'\nimport {\n\tconvertOneHasManyToManyHasManyRelationModification,\n\tconvertOneToManyRelationModification,\n\tcreateRelationInverseSideModification,\n\tcreateRelationModification,\n\tdisableOrphanRemovalModification,\n\tenableOrphanRemovalModification,\n\tmakeRelationNotNullModification,\n\tmakeRelationNullableModification,\n\ttoggleJunctionEventLogModification,\n\tupdateRelationOnDeleteModification,\n\tupdateRelationOrderByModification,\n} from './relations'\nimport { patchValidationSchemaModification, updateValidationSchemaModification } from './validation'\nimport { createIndexModification, removeIndexModification } from './indexes'\nimport { updateSettingsModification } from './settings'\nimport { createTriggerModification, removeTriggerModification, updateTriggerModification } from './actions'\nimport { createTargetModification } from './actions/CreateTargetModification'\nimport { removeTargetModification } from './actions/RemoveTargetModification'\nimport { updateTargetModification } from './actions/UpdateTargetModification'\nimport { updateEntityOrderByModification } from './entities/UpdateEntityOrderByModification'\nimport { removeIndexNamesModification } from './upgrade/RemoveIndexNamesModification'\nimport { convertOneHasManyToOneHasOneRelationModification } from './relations/ConvertOneHasManyToOneHasOneRelationModification'\n\n\nclass ModificationHandlerFactory {\n\tconstructor(private readonly map: Record<string, ModificationType<string, any>>) {}\n\n\tpublic create<D>(name: string, data: D, schema: Schema, options: ModificationHandlerOptions): ModificationHandler<D> {\n\t\tif (!this.map[name]) {\n\t\t\tthrow new Error(`Undefined modification handler for ${name}`)\n\t\t}\n\t\treturn this.map[name].createHandler(data, schema, options)\n\t}\n}\n\nnamespace ModificationHandlerFactory {\n\ttype HandlerMap<D> = { [modificationName: string]: ModificationType<string, D> }\n\n\tconst handlers = [\n\t\tremoveIndexNamesModification,\n\t\tupdateSettingsModification,\n\t\tupdateAclSchemaModification,\n\t\tpatchAclSchemaModification,\n\t\tcreateColumnModification,\n\t\tupdateColumnDefinitionModification,\n\t\tupdateColumnNameModification,\n\t\tcreateUniqueConstraintModification,\n\t\tremoveUniqueConstraintModification,\n\t\tcreateIndexModification,\n\t\tremoveIndexModification,\n\t\tcreateEntityModification,\n\t\tremoveEntityModification,\n\t\tupdateEntityNameModification,\n\t\tupdateEntityTableNameModification,\n\t\tupdateViewModification,\n\t\tcreateViewModification,\n\t\tcreateEnumModification,\n\t\tremoveEnumModification,\n\t\tupdateEnumModification,\n\t\tremoveFieldModification,\n\t\tupdateFieldNameModification,\n\t\tcreateRelationInverseSideModification,\n\t\tcreateRelationModification,\n\t\tupdateRelationOnDeleteModification,\n\t\tupdateRelationOrderByModification,\n\t\tmakeRelationNotNullModification,\n\t\tmakeRelationNullableModification,\n\t\tenableOrphanRemovalModification,\n\t\tdisableOrphanRemovalModification,\n\t\tupdateValidationSchemaModification,\n\t\tpatchValidationSchemaModification,\n\t\tconvertOneToManyRelationModification,\n\t\tconvertOneHasManyToOneHasOneRelationModification,\n\t\ttoggleEventLogModification,\n\t\ttoggleJunctionEventLogModification,\n\t\tconvertOneHasManyToManyHasManyRelationModification,\n\t\tupdateEntityOrderByModification,\n\t\tcreateTriggerModification,\n\t\tupdateTriggerModification,\n\t\tremoveTriggerModification,\n\t\tcreateTargetModification,\n\t\tupdateTargetModification,\n\t\tremoveTargetModification,\n\t]\n\n\texport const defaultFactoryMap: HandlerMap<any> = Object.fromEntries(handlers.map(it => [it.id, it]))\n}\n\nexport { ModificationHandlerFactory }\n"],"names":["ModificationHandlerFactory","removeIndexNamesModification","updateSettingsModification","updateAclSchemaModification","patchAclSchemaModification","createColumnModification","updateColumnDefinitionModification","updateColumnNameModification","createUniqueConstraintModification","removeUniqueConstraintModification","createIndexModification","removeIndexModification","createEntityModification","removeEntityModification","updateEntityNameModification","updateEntityTableNameModification","updateViewModification","createViewModification","createEnumModification","removeEnumModification","updateEnumModification","removeFieldModification","updateFieldNameModification","createRelationInverseSideModification","createRelationModification","updateRelationOnDeleteModification","updateRelationOrderByModification","makeRelationNotNullModification","makeRelationNullableModification","enableOrphanRemovalModification","disableOrphanRemovalModification","updateValidationSchemaModification","patchValidationSchemaModification","convertOneToManyRelationModification","convertOneHasManyToOneHasOneRelationModification","toggleEventLogModification","toggleJunctionEventLogModification","convertOneHasManyToManyHasManyRelationModification","updateEntityOrderByModification","createTriggerModification","updateTriggerModification","removeTriggerModification","createTargetModification","updateTargetModification","removeTargetModification"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCA,MAAM,2BAA2B;AAAA,EAChC,YAA6B,KAAoD;AAApD,SAAA,MAAA;AAAA,EAAA;AAAA,EAEtB,OAAU,MAAc,MAAS,QAAgB,SAA6D;AACpH,QAAI,CAAC,KAAK,IAAI,IAAI,GAAG;AACpB,YAAM,IAAI,MAAM,sCAAsC,IAAI,EAAE;AAAA,IAAA;AAE7D,WAAO,KAAK,IAAI,IAAI,EAAE,cAAc,MAAM,QAAQ,OAAO;AAAA,EAAA;AAE3D;AAAA,CAEA,CAAUA,gCAAV;AAGC,QAAM,WAAW;AAAA,IAChBC,6BAAA;AAAA,IACAC,2BAAA;AAAA,IACAC,4BAAA;AAAA,IACAC,2BAAA;AAAA,IACAC,yBAAA;AAAA,IACAC,mCAAA;AAAA,IACAC,6BAAA;AAAA,IACAC,mCAAA;AAAA,IACAC,mCAAA;AAAA,IACAC,wBAAA;AAAA,IACAC,wBAAA;AAAA,IACAC,yBAAA;AAAA,IACAC,yBAAA;AAAA,IACAC,6BAAA;AAAA,IACAC,kCAAA;AAAA,IACAC,uBAAA;AAAA,IACAC,uBAAA;AAAA,IACAC,uBAAA;AAAA,IACAC,uBAAA;AAAA,IACAC,uBAAA;AAAA,IACAC,wBAAA;AAAA,IACAC,4BAAA;AAAA,IACAC,sCAAA;AAAA,IACAC,2BAAA;AAAA,IACAC,mCAAA;AAAA,IACAC,kCAAA;AAAA,IACAC,gCAAA;AAAA,IACAC,iCAAA;AAAA,IACAC,gCAAA;AAAA,IACAC,iCAAA;AAAA,IACAC,mCAAA;AAAA,IACAC,kCAAA;AAAA,IACAC,qCAAA;AAAA,IACAC,iDAAA;AAAA,IACAC,2BAAA;AAAA,IACAC,mCAAA;AAAA,IACAC,mDAAA;AAAA,IACAC,gCAAA;AAAA,IACAC,0BAAA;AAAA,IACAC,0BAAA;AAAA,IACAC,0BAAA;AAAA,IACAC,yBAAA;AAAA,IACAC,yBAAA;AAAA,IACAC,yBAAAA;AAAAA,EACD;AAEa5C,8BAAA,oBAAqC,OAAO,YAAY,SAAS,IAAI,CAAM,OAAA,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;AAAA,GAlD3F,+BAAA,6BAAA,CAAA,EAAA;;"}
1
+ {"version":3,"file":"ModificationHandlerFactory.cjs","sources":["../../../../../packages/schema-migrations/src/modifications/ModificationHandlerFactory.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { ModificationHandler, ModificationHandlerOptions, ModificationType } from './ModificationHandler'\nimport { patchAclSchemaModification, updateAclSchemaModification } from './acl'\nimport { createColumnModification, updateColumnDefinitionModification, updateColumnNameModification } from './columns'\nimport { createUniqueConstraintModification, removeUniqueConstraintModification } from './constraints'\nimport {\n\tcreateEntityModification,\n\tcreateViewModification,\n\tremoveEntityModification,\n\ttoggleEventLogModification,\n\tupdateEntityNameModification,\n\tupdateEntityTableNameModification,\n} from './entities'\nimport { updateViewModification } from './entities/UpdateViewModification'\nimport { createEnumModification, removeEnumModification, updateEnumModification } from './enums'\nimport { removeFieldModification, updateFieldNameModification } from './fields'\nimport {\n\tconvertOneHasManyToManyHasManyRelationModification,\n\tconvertOneToManyRelationModification,\n\tcreateRelationInverseSideModification,\n\tcreateRelationModification,\n\tdisableOrphanRemovalModification,\n\tenableOrphanRemovalModification,\n\tmakeRelationNotNullModification,\n\tmakeRelationNullableModification,\n\ttoggleJunctionEventLogModification,\n\tupdateRelationOnDeleteModification,\n\tupdateRelationOrderByModification,\n} from './relations'\nimport { patchValidationSchemaModification, updateValidationSchemaModification } from './validation'\nimport { createIndexModification, removeIndexModification } from './indexes'\nimport { updateSettingsModification } from './settings'\nimport { createTriggerModification, patchTriggerModification, removeTriggerModification, updateTriggerModification } from './actions'\nimport { createTargetModification } from './actions/CreateTargetModification'\nimport { removeTargetModification } from './actions/RemoveTargetModification'\nimport { updateTargetModification } from './actions/UpdateTargetModification'\nimport { updateEntityOrderByModification } from './entities/UpdateEntityOrderByModification'\nimport { removeIndexNamesModification } from './upgrade/RemoveIndexNamesModification'\nimport { convertOneHasManyToOneHasOneRelationModification } from './relations/ConvertOneHasManyToOneHasOneRelationModification'\n\nclass ModificationHandlerFactory {\n\tconstructor(private readonly map: Record<string, ModificationType<string, any>>) {}\n\n\tpublic create<D>(name: string, data: D, schema: Schema, options: ModificationHandlerOptions): ModificationHandler<D> {\n\t\tif (!this.map[name]) {\n\t\t\tthrow new Error(`Undefined modification handler for ${name}`)\n\t\t}\n\t\treturn this.map[name].createHandler(data, schema, options)\n\t}\n}\n\nnamespace ModificationHandlerFactory {\n\ttype HandlerMap<D> = { [modificationName: string]: ModificationType<string, D> }\n\n\tconst handlers = [\n\t\tremoveIndexNamesModification,\n\t\tupdateSettingsModification,\n\t\tupdateAclSchemaModification,\n\t\tpatchAclSchemaModification,\n\t\tcreateColumnModification,\n\t\tupdateColumnDefinitionModification,\n\t\tupdateColumnNameModification,\n\t\tcreateUniqueConstraintModification,\n\t\tremoveUniqueConstraintModification,\n\t\tcreateIndexModification,\n\t\tremoveIndexModification,\n\t\tcreateEntityModification,\n\t\tremoveEntityModification,\n\t\tupdateEntityNameModification,\n\t\tupdateEntityTableNameModification,\n\t\tupdateViewModification,\n\t\tcreateViewModification,\n\t\tcreateEnumModification,\n\t\tremoveEnumModification,\n\t\tupdateEnumModification,\n\t\tremoveFieldModification,\n\t\tupdateFieldNameModification,\n\t\tcreateRelationInverseSideModification,\n\t\tcreateRelationModification,\n\t\tupdateRelationOnDeleteModification,\n\t\tupdateRelationOrderByModification,\n\t\tmakeRelationNotNullModification,\n\t\tmakeRelationNullableModification,\n\t\tenableOrphanRemovalModification,\n\t\tdisableOrphanRemovalModification,\n\t\tupdateValidationSchemaModification,\n\t\tpatchValidationSchemaModification,\n\t\tconvertOneToManyRelationModification,\n\t\tconvertOneHasManyToOneHasOneRelationModification,\n\t\ttoggleEventLogModification,\n\t\ttoggleJunctionEventLogModification,\n\t\tconvertOneHasManyToManyHasManyRelationModification,\n\t\tupdateEntityOrderByModification,\n\t\tcreateTriggerModification,\n\t\tupdateTriggerModification,\n\t\tpatchTriggerModification,\n\t\tremoveTriggerModification,\n\t\tcreateTargetModification,\n\t\tupdateTargetModification,\n\t\tremoveTargetModification,\n\t]\n\n\texport const defaultFactoryMap: HandlerMap<any> = Object.fromEntries(handlers.map(it => [it.id, it]))\n}\n\nexport { ModificationHandlerFactory }\n"],"names":["ModificationHandlerFactory","removeIndexNamesModification","updateSettingsModification","updateAclSchemaModification","patchAclSchemaModification","createColumnModification","updateColumnDefinitionModification","updateColumnNameModification","createUniqueConstraintModification","removeUniqueConstraintModification","createIndexModification","removeIndexModification","createEntityModification","removeEntityModification","updateEntityNameModification","updateEntityTableNameModification","updateViewModification","createViewModification","createEnumModification","removeEnumModification","updateEnumModification","removeFieldModification","updateFieldNameModification","createRelationInverseSideModification","createRelationModification","updateRelationOnDeleteModification","updateRelationOrderByModification","makeRelationNotNullModification","makeRelationNullableModification","enableOrphanRemovalModification","disableOrphanRemovalModification","updateValidationSchemaModification","patchValidationSchemaModification","convertOneToManyRelationModification","convertOneHasManyToOneHasOneRelationModification","toggleEventLogModification","toggleJunctionEventLogModification","convertOneHasManyToManyHasManyRelationModification","updateEntityOrderByModification","createTriggerModification","updateTriggerModification","patchTriggerModification","removeTriggerModification","createTargetModification","updateTargetModification","removeTargetModification"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA,MAAM,2BAA2B;AAAA,EAChC,YAA6B,KAAoD;AAApD,SAAA,MAAA;AAAA,EAAqD;AAAA,EAE3E,OAAU,MAAc,MAAS,QAAgB,SAA6D;AACpH,QAAI,CAAC,KAAK,IAAI,IAAI,GAAG;AACpB,YAAM,IAAI,MAAM,sCAAsC,IAAI,EAAE;AAAA,IAC7D;AACA,WAAO,KAAK,IAAI,IAAI,EAAE,cAAc,MAAM,QAAQ,OAAO;AAAA,EAC1D;AACD;AAAA,CAEA,CAAUA,gCAAV;AAGC,QAAM,WAAW;AAAA,IAChBC,6BAAAA;AAAAA,IACAC,2BAAAA;AAAAA,IACAC,4BAAAA;AAAAA,IACAC,2BAAAA;AAAAA,IACAC,yBAAAA;AAAAA,IACAC,mCAAAA;AAAAA,IACAC,6BAAAA;AAAAA,IACAC,mCAAAA;AAAAA,IACAC,mCAAAA;AAAAA,IACAC,wBAAAA;AAAAA,IACAC,wBAAAA;AAAAA,IACAC,yBAAAA;AAAAA,IACAC,yBAAAA;AAAAA,IACAC,6BAAAA;AAAAA,IACAC,kCAAAA;AAAAA,IACAC,uBAAAA;AAAAA,IACAC,uBAAAA;AAAAA,IACAC,uBAAAA;AAAAA,IACAC,uBAAAA;AAAAA,IACAC,uBAAAA;AAAAA,IACAC,wBAAAA;AAAAA,IACAC,4BAAAA;AAAAA,IACAC,sCAAAA;AAAAA,IACAC,2BAAAA;AAAAA,IACAC,mCAAAA;AAAAA,IACAC,kCAAAA;AAAAA,IACAC,gCAAAA;AAAAA,IACAC,iCAAAA;AAAAA,IACAC,gCAAAA;AAAAA,IACAC,iCAAAA;AAAAA,IACAC,mCAAAA;AAAAA,IACAC,kCAAAA;AAAAA,IACAC,qCAAAA;AAAAA,IACAC,iDAAAA;AAAAA,IACAC,2BAAAA;AAAAA,IACAC,mCAAAA;AAAAA,IACAC,mDAAAA;AAAAA,IACAC,gCAAAA;AAAAA,IACAC,0BAAAA;AAAAA,IACAC,0BAAAA;AAAAA,IACAC,yBAAAA;AAAAA,IACAC,0BAAAA;AAAAA,IACAC,yBAAAA;AAAAA,IACAC,yBAAAA;AAAAA,IACAC,yBAAAA;AAAAA,EAAA;AAGY7C,8BAAA,oBAAqC,OAAO,YAAY,SAAS,IAAI,CAAA,OAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;AAAA,GAnD3F,+BAAA,6BAAA,CAAA,EAAA;;"}
@@ -38,6 +38,7 @@ import { updateSettingsModification } from "./settings/UpdateSettingsModificatio
38
38
  import { createTriggerModification } from "./actions/CreateTriggerModification.js";
39
39
  import { removeTriggerModification } from "./actions/RemoveTriggerModification.js";
40
40
  import { updateTriggerModification } from "./actions/UpdateTriggerModification.js";
41
+ import { patchTriggerModification } from "./actions/PatchTriggerModification.js";
41
42
  import { createTargetModification } from "./actions/CreateTargetModification.js";
42
43
  import { removeTargetModification } from "./actions/RemoveTargetModification.js";
43
44
  import { updateTargetModification } from "./actions/UpdateTargetModification.js";
@@ -96,6 +97,7 @@ class ModificationHandlerFactory {
96
97
  updateEntityOrderByModification,
97
98
  createTriggerModification,
98
99
  updateTriggerModification,
100
+ patchTriggerModification,
99
101
  removeTriggerModification,
100
102
  createTargetModification,
101
103
  updateTargetModification,
@@ -1 +1 @@
1
- {"version":3,"file":"ModificationHandlerFactory.js","sources":["../../../../../packages/schema-migrations/src/modifications/ModificationHandlerFactory.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { ModificationHandler, ModificationHandlerOptions, ModificationType } from './ModificationHandler'\nimport { patchAclSchemaModification, updateAclSchemaModification } from './acl'\nimport { createColumnModification, updateColumnDefinitionModification, updateColumnNameModification } from './columns'\nimport { createUniqueConstraintModification, removeUniqueConstraintModification } from './constraints'\nimport {\n\tcreateEntityModification,\n\tcreateViewModification,\n\tremoveEntityModification,\n\ttoggleEventLogModification,\n\tupdateEntityNameModification,\n\tupdateEntityTableNameModification,\n} from './entities'\nimport { updateViewModification } from './entities/UpdateViewModification'\nimport { createEnumModification, removeEnumModification, updateEnumModification } from './enums'\nimport { removeFieldModification, updateFieldNameModification } from './fields'\nimport {\n\tconvertOneHasManyToManyHasManyRelationModification,\n\tconvertOneToManyRelationModification,\n\tcreateRelationInverseSideModification,\n\tcreateRelationModification,\n\tdisableOrphanRemovalModification,\n\tenableOrphanRemovalModification,\n\tmakeRelationNotNullModification,\n\tmakeRelationNullableModification,\n\ttoggleJunctionEventLogModification,\n\tupdateRelationOnDeleteModification,\n\tupdateRelationOrderByModification,\n} from './relations'\nimport { patchValidationSchemaModification, updateValidationSchemaModification } from './validation'\nimport { createIndexModification, removeIndexModification } from './indexes'\nimport { updateSettingsModification } from './settings'\nimport { createTriggerModification, removeTriggerModification, updateTriggerModification } from './actions'\nimport { createTargetModification } from './actions/CreateTargetModification'\nimport { removeTargetModification } from './actions/RemoveTargetModification'\nimport { updateTargetModification } from './actions/UpdateTargetModification'\nimport { updateEntityOrderByModification } from './entities/UpdateEntityOrderByModification'\nimport { removeIndexNamesModification } from './upgrade/RemoveIndexNamesModification'\nimport { convertOneHasManyToOneHasOneRelationModification } from './relations/ConvertOneHasManyToOneHasOneRelationModification'\n\n\nclass ModificationHandlerFactory {\n\tconstructor(private readonly map: Record<string, ModificationType<string, any>>) {}\n\n\tpublic create<D>(name: string, data: D, schema: Schema, options: ModificationHandlerOptions): ModificationHandler<D> {\n\t\tif (!this.map[name]) {\n\t\t\tthrow new Error(`Undefined modification handler for ${name}`)\n\t\t}\n\t\treturn this.map[name].createHandler(data, schema, options)\n\t}\n}\n\nnamespace ModificationHandlerFactory {\n\ttype HandlerMap<D> = { [modificationName: string]: ModificationType<string, D> }\n\n\tconst handlers = [\n\t\tremoveIndexNamesModification,\n\t\tupdateSettingsModification,\n\t\tupdateAclSchemaModification,\n\t\tpatchAclSchemaModification,\n\t\tcreateColumnModification,\n\t\tupdateColumnDefinitionModification,\n\t\tupdateColumnNameModification,\n\t\tcreateUniqueConstraintModification,\n\t\tremoveUniqueConstraintModification,\n\t\tcreateIndexModification,\n\t\tremoveIndexModification,\n\t\tcreateEntityModification,\n\t\tremoveEntityModification,\n\t\tupdateEntityNameModification,\n\t\tupdateEntityTableNameModification,\n\t\tupdateViewModification,\n\t\tcreateViewModification,\n\t\tcreateEnumModification,\n\t\tremoveEnumModification,\n\t\tupdateEnumModification,\n\t\tremoveFieldModification,\n\t\tupdateFieldNameModification,\n\t\tcreateRelationInverseSideModification,\n\t\tcreateRelationModification,\n\t\tupdateRelationOnDeleteModification,\n\t\tupdateRelationOrderByModification,\n\t\tmakeRelationNotNullModification,\n\t\tmakeRelationNullableModification,\n\t\tenableOrphanRemovalModification,\n\t\tdisableOrphanRemovalModification,\n\t\tupdateValidationSchemaModification,\n\t\tpatchValidationSchemaModification,\n\t\tconvertOneToManyRelationModification,\n\t\tconvertOneHasManyToOneHasOneRelationModification,\n\t\ttoggleEventLogModification,\n\t\ttoggleJunctionEventLogModification,\n\t\tconvertOneHasManyToManyHasManyRelationModification,\n\t\tupdateEntityOrderByModification,\n\t\tcreateTriggerModification,\n\t\tupdateTriggerModification,\n\t\tremoveTriggerModification,\n\t\tcreateTargetModification,\n\t\tupdateTargetModification,\n\t\tremoveTargetModification,\n\t]\n\n\texport const defaultFactoryMap: HandlerMap<any> = Object.fromEntries(handlers.map(it => [it.id, it]))\n}\n\nexport { ModificationHandlerFactory }\n"],"names":["ModificationHandlerFactory"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCA,MAAM,2BAA2B;AAAA,EAChC,YAA6B,KAAoD;AAApD,SAAA,MAAA;AAAA,EAAA;AAAA,EAEtB,OAAU,MAAc,MAAS,QAAgB,SAA6D;AACpH,QAAI,CAAC,KAAK,IAAI,IAAI,GAAG;AACpB,YAAM,IAAI,MAAM,sCAAsC,IAAI,EAAE;AAAA,IAAA;AAE7D,WAAO,KAAK,IAAI,IAAI,EAAE,cAAc,MAAM,QAAQ,OAAO;AAAA,EAAA;AAE3D;AAAA,CAEA,CAAUA,gCAAV;AAGC,QAAM,WAAW;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAEaA,8BAAA,oBAAqC,OAAO,YAAY,SAAS,IAAI,CAAM,OAAA,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;AAAA,GAlD3F,+BAAA,6BAAA,CAAA,EAAA;"}
1
+ {"version":3,"file":"ModificationHandlerFactory.js","sources":["../../../../../packages/schema-migrations/src/modifications/ModificationHandlerFactory.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { ModificationHandler, ModificationHandlerOptions, ModificationType } from './ModificationHandler'\nimport { patchAclSchemaModification, updateAclSchemaModification } from './acl'\nimport { createColumnModification, updateColumnDefinitionModification, updateColumnNameModification } from './columns'\nimport { createUniqueConstraintModification, removeUniqueConstraintModification } from './constraints'\nimport {\n\tcreateEntityModification,\n\tcreateViewModification,\n\tremoveEntityModification,\n\ttoggleEventLogModification,\n\tupdateEntityNameModification,\n\tupdateEntityTableNameModification,\n} from './entities'\nimport { updateViewModification } from './entities/UpdateViewModification'\nimport { createEnumModification, removeEnumModification, updateEnumModification } from './enums'\nimport { removeFieldModification, updateFieldNameModification } from './fields'\nimport {\n\tconvertOneHasManyToManyHasManyRelationModification,\n\tconvertOneToManyRelationModification,\n\tcreateRelationInverseSideModification,\n\tcreateRelationModification,\n\tdisableOrphanRemovalModification,\n\tenableOrphanRemovalModification,\n\tmakeRelationNotNullModification,\n\tmakeRelationNullableModification,\n\ttoggleJunctionEventLogModification,\n\tupdateRelationOnDeleteModification,\n\tupdateRelationOrderByModification,\n} from './relations'\nimport { patchValidationSchemaModification, updateValidationSchemaModification } from './validation'\nimport { createIndexModification, removeIndexModification } from './indexes'\nimport { updateSettingsModification } from './settings'\nimport { createTriggerModification, patchTriggerModification, removeTriggerModification, updateTriggerModification } from './actions'\nimport { createTargetModification } from './actions/CreateTargetModification'\nimport { removeTargetModification } from './actions/RemoveTargetModification'\nimport { updateTargetModification } from './actions/UpdateTargetModification'\nimport { updateEntityOrderByModification } from './entities/UpdateEntityOrderByModification'\nimport { removeIndexNamesModification } from './upgrade/RemoveIndexNamesModification'\nimport { convertOneHasManyToOneHasOneRelationModification } from './relations/ConvertOneHasManyToOneHasOneRelationModification'\n\nclass ModificationHandlerFactory {\n\tconstructor(private readonly map: Record<string, ModificationType<string, any>>) {}\n\n\tpublic create<D>(name: string, data: D, schema: Schema, options: ModificationHandlerOptions): ModificationHandler<D> {\n\t\tif (!this.map[name]) {\n\t\t\tthrow new Error(`Undefined modification handler for ${name}`)\n\t\t}\n\t\treturn this.map[name].createHandler(data, schema, options)\n\t}\n}\n\nnamespace ModificationHandlerFactory {\n\ttype HandlerMap<D> = { [modificationName: string]: ModificationType<string, D> }\n\n\tconst handlers = [\n\t\tremoveIndexNamesModification,\n\t\tupdateSettingsModification,\n\t\tupdateAclSchemaModification,\n\t\tpatchAclSchemaModification,\n\t\tcreateColumnModification,\n\t\tupdateColumnDefinitionModification,\n\t\tupdateColumnNameModification,\n\t\tcreateUniqueConstraintModification,\n\t\tremoveUniqueConstraintModification,\n\t\tcreateIndexModification,\n\t\tremoveIndexModification,\n\t\tcreateEntityModification,\n\t\tremoveEntityModification,\n\t\tupdateEntityNameModification,\n\t\tupdateEntityTableNameModification,\n\t\tupdateViewModification,\n\t\tcreateViewModification,\n\t\tcreateEnumModification,\n\t\tremoveEnumModification,\n\t\tupdateEnumModification,\n\t\tremoveFieldModification,\n\t\tupdateFieldNameModification,\n\t\tcreateRelationInverseSideModification,\n\t\tcreateRelationModification,\n\t\tupdateRelationOnDeleteModification,\n\t\tupdateRelationOrderByModification,\n\t\tmakeRelationNotNullModification,\n\t\tmakeRelationNullableModification,\n\t\tenableOrphanRemovalModification,\n\t\tdisableOrphanRemovalModification,\n\t\tupdateValidationSchemaModification,\n\t\tpatchValidationSchemaModification,\n\t\tconvertOneToManyRelationModification,\n\t\tconvertOneHasManyToOneHasOneRelationModification,\n\t\ttoggleEventLogModification,\n\t\ttoggleJunctionEventLogModification,\n\t\tconvertOneHasManyToManyHasManyRelationModification,\n\t\tupdateEntityOrderByModification,\n\t\tcreateTriggerModification,\n\t\tupdateTriggerModification,\n\t\tpatchTriggerModification,\n\t\tremoveTriggerModification,\n\t\tcreateTargetModification,\n\t\tupdateTargetModification,\n\t\tremoveTargetModification,\n\t]\n\n\texport const defaultFactoryMap: HandlerMap<any> = Object.fromEntries(handlers.map(it => [it.id, it]))\n}\n\nexport { ModificationHandlerFactory }\n"],"names":["ModificationHandlerFactory"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA,MAAM,2BAA2B;AAAA,EAChC,YAA6B,KAAoD;AAApD,SAAA,MAAA;AAAA,EAAqD;AAAA,EAE3E,OAAU,MAAc,MAAS,QAAgB,SAA6D;AACpH,QAAI,CAAC,KAAK,IAAI,IAAI,GAAG;AACpB,YAAM,IAAI,MAAM,sCAAsC,IAAI,EAAE;AAAA,IAC7D;AACA,WAAO,KAAK,IAAI,IAAI,EAAE,cAAc,MAAM,QAAQ,OAAO;AAAA,EAC1D;AACD;AAAA,CAEA,CAAUA,gCAAV;AAGC,QAAM,WAAW;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGYA,8BAAA,oBAAqC,OAAO,YAAY,SAAS,IAAI,CAAA,OAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;AAAA,GAnD3F,+BAAA,6BAAA,CAAA,EAAA;"}
@@ -1 +1 @@
1
- {"version":3,"file":"NoopModification.cjs","sources":["../../../../../packages/schema-migrations/src/modifications/NoopModification.ts"],"sourcesContent":["import { ModificationHandler } from './ModificationHandler'\nimport { MigrationBuilder } from '@contember/database-migrations'\nimport { SchemaUpdater } from './utils/schemaUpdateUtils'\n\nexport class NoopModification implements ModificationHandler<{}> {\n\tcreateSql(builder: MigrationBuilder): void | Promise<void> {}\n\n\tgetSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => schema\n\t}\n\n\tdescribe() {\n\t\treturn { message: '[internal]' }\n\t}\n}\n"],"names":[],"mappings":";;AAIO,MAAM,iBAAoD;AAAA,EAChE,UAAU,SAAiD;AAAA,EAAA;AAAA,EAE3D,mBAAkC;AAC1B,WAAA,CAAC,EAAE,OAAA,MAAa;AAAA,EAAA;AAAA,EAGxB,WAAW;AACH,WAAA,EAAE,SAAS,aAAa;AAAA,EAAA;AAEjC;;"}
1
+ {"version":3,"file":"NoopModification.cjs","sources":["../../../../../packages/schema-migrations/src/modifications/NoopModification.ts"],"sourcesContent":["import { ModificationHandler } from './ModificationHandler'\nimport { MigrationBuilder } from '@contember/database-migrations'\nimport { SchemaUpdater } from './utils/schemaUpdateUtils'\n\nexport class NoopModification implements ModificationHandler<{}> {\n\tcreateSql(builder: MigrationBuilder): void | Promise<void> {}\n\n\tgetSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => schema\n\t}\n\n\tdescribe() {\n\t\treturn { message: '[internal]' }\n\t}\n}\n"],"names":[],"mappings":";;AAIO,MAAM,iBAAoD;AAAA,EAChE,UAAU,SAAiD;AAAA,EAAC;AAAA,EAE5D,mBAAkC;AACjC,WAAO,CAAC,EAAE,OAAA,MAAa;AAAA,EACxB;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,aAAA;AAAA,EACnB;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"NoopModification.js","sources":["../../../../../packages/schema-migrations/src/modifications/NoopModification.ts"],"sourcesContent":["import { ModificationHandler } from './ModificationHandler'\nimport { MigrationBuilder } from '@contember/database-migrations'\nimport { SchemaUpdater } from './utils/schemaUpdateUtils'\n\nexport class NoopModification implements ModificationHandler<{}> {\n\tcreateSql(builder: MigrationBuilder): void | Promise<void> {}\n\n\tgetSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => schema\n\t}\n\n\tdescribe() {\n\t\treturn { message: '[internal]' }\n\t}\n}\n"],"names":[],"mappings":"AAIO,MAAM,iBAAoD;AAAA,EAChE,UAAU,SAAiD;AAAA,EAAA;AAAA,EAE3D,mBAAkC;AAC1B,WAAA,CAAC,EAAE,OAAA,MAAa;AAAA,EAAA;AAAA,EAGxB,WAAW;AACH,WAAA,EAAE,SAAS,aAAa;AAAA,EAAA;AAEjC;"}
1
+ {"version":3,"file":"NoopModification.js","sources":["../../../../../packages/schema-migrations/src/modifications/NoopModification.ts"],"sourcesContent":["import { ModificationHandler } from './ModificationHandler'\nimport { MigrationBuilder } from '@contember/database-migrations'\nimport { SchemaUpdater } from './utils/schemaUpdateUtils'\n\nexport class NoopModification implements ModificationHandler<{}> {\n\tcreateSql(builder: MigrationBuilder): void | Promise<void> {}\n\n\tgetSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => schema\n\t}\n\n\tdescribe() {\n\t\treturn { message: '[internal]' }\n\t}\n}\n"],"names":[],"mappings":"AAIO,MAAM,iBAAoD;AAAA,EAChE,UAAU,SAAiD;AAAA,EAAC;AAAA,EAE5D,mBAAkC;AACjC,WAAO,CAAC,EAAE,OAAA,MAAa;AAAA,EACxB;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,aAAA;AAAA,EACnB;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PatchAclSchemaModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/acl/PatchAclSchemaModification.ts"],"sourcesContent":["import { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, ModificationHandler } from '../ModificationHandler'\nimport { applyPatch, Operation } from 'rfc6902'\nimport deepCopy from '../../utils/deepCopy'\n\nexport class PatchAclSchemaModificationHandler implements ModificationHandler<PatchAclSchemaModificationData>{\n\tconstructor(private readonly data: PatchAclSchemaModificationData) {}\n\n\tpublic createSql(): void {}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => {\n\t\t\tconst acl = deepCopy(schema.acl)\n\t\t\tconst result = applyPatch(acl, this.data.patch).filter(it => it !== null)\n\t\t\tif (result.length > 0) {\n\t\t\t\tthrow result[0]\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...schema,\n\t\t\t\tacl,\n\t\t\t}\n\t\t}\n\t}\n\n\tdescribe() {\n\t\treturn { message: 'Update ACL schema' }\n\t}\n}\n\nexport const patchAclSchemaModification = createModificationType({\n\tid: 'patchAclSchema',\n\thandler: PatchAclSchemaModificationHandler,\n})\n\nexport interface PatchAclSchemaModificationData {\n\tpatch: Operation[]\n}\n"],"names":["applyPatch","createModificationType"],"mappings":";;;;;AAKO,MAAM,kCAAgG;AAAA,EAC5G,YAA6B,MAAsC;AAAtC,SAAA,OAAA;AAAA,EAAA;AAAA,EAEtB,YAAkB;AAAA,EAAA;AAAA,EAElB,mBAAkC;AACjC,WAAA,CAAC,EAAE,aAAa;AAChB,YAAA,MAAM,SAAS,OAAO,GAAG;AACzB,YAAA,SAASA,QAAAA,WAAW,KAAK,KAAK,KAAK,KAAK,EAAE,OAAO,CAAM,OAAA,OAAO,IAAI;AACpE,UAAA,OAAO,SAAS,GAAG;AACtB,cAAM,OAAO,CAAC;AAAA,MAAA;AAGR,aAAA;AAAA,QACN,GAAG;AAAA,QACH;AAAA,MACD;AAAA,IACD;AAAA,EAAA;AAAA,EAGD,WAAW;AACH,WAAA,EAAE,SAAS,oBAAoB;AAAA,EAAA;AAExC;AAEO,MAAM,6BAA6BC,oBAAAA,uBAAuB;AAAA,EAChE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;;;"}
1
+ {"version":3,"file":"PatchAclSchemaModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/acl/PatchAclSchemaModification.ts"],"sourcesContent":["import { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, ModificationHandler } from '../ModificationHandler'\nimport { applyPatch, Operation } from 'rfc6902'\nimport deepCopy from '../../utils/deepCopy'\n\nexport class PatchAclSchemaModificationHandler implements ModificationHandler<PatchAclSchemaModificationData> {\n\tconstructor(private readonly data: PatchAclSchemaModificationData) {}\n\n\tpublic createSql(): void {}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => {\n\t\t\tconst acl = deepCopy(schema.acl)\n\t\t\tconst result = applyPatch(acl, this.data.patch).filter(it => it !== null)\n\t\t\tif (result.length > 0) {\n\t\t\t\tthrow result[0]\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...schema,\n\t\t\t\tacl,\n\t\t\t}\n\t\t}\n\t}\n\n\tdescribe() {\n\t\treturn { message: 'Update ACL schema' }\n\t}\n}\n\nexport const patchAclSchemaModification = createModificationType({\n\tid: 'patchAclSchema',\n\thandler: PatchAclSchemaModificationHandler,\n})\n\nexport interface PatchAclSchemaModificationData {\n\tpatch: Operation[]\n}\n"],"names":["applyPatch","createModificationType"],"mappings":";;;;;AAKO,MAAM,kCAAiG;AAAA,EAC7G,YAA6B,MAAsC;AAAtC,SAAA,OAAA;AAAA,EAAuC;AAAA,EAE7D,YAAkB;AAAA,EAAC;AAAA,EAEnB,mBAAkC;AACxC,WAAO,CAAC,EAAE,aAAa;AACtB,YAAM,MAAM,SAAS,OAAO,GAAG;AAC/B,YAAM,SAASA,QAAAA,WAAW,KAAK,KAAK,KAAK,KAAK,EAAE,OAAO,CAAA,OAAM,OAAO,IAAI;AACxE,UAAI,OAAO,SAAS,GAAG;AACtB,cAAM,OAAO,CAAC;AAAA,MACf;AAEA,aAAO;AAAA,QACN,GAAG;AAAA,QACH;AAAA,MAAA;AAAA,IAEF;AAAA,EACD;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,oBAAA;AAAA,EACnB;AACD;AAEO,MAAM,6BAA6BC,oBAAAA,uBAAuB;AAAA,EAChE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PatchAclSchemaModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/acl/PatchAclSchemaModification.ts"],"sourcesContent":["import { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, ModificationHandler } from '../ModificationHandler'\nimport { applyPatch, Operation } from 'rfc6902'\nimport deepCopy from '../../utils/deepCopy'\n\nexport class PatchAclSchemaModificationHandler implements ModificationHandler<PatchAclSchemaModificationData>{\n\tconstructor(private readonly data: PatchAclSchemaModificationData) {}\n\n\tpublic createSql(): void {}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => {\n\t\t\tconst acl = deepCopy(schema.acl)\n\t\t\tconst result = applyPatch(acl, this.data.patch).filter(it => it !== null)\n\t\t\tif (result.length > 0) {\n\t\t\t\tthrow result[0]\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...schema,\n\t\t\t\tacl,\n\t\t\t}\n\t\t}\n\t}\n\n\tdescribe() {\n\t\treturn { message: 'Update ACL schema' }\n\t}\n}\n\nexport const patchAclSchemaModification = createModificationType({\n\tid: 'patchAclSchema',\n\thandler: PatchAclSchemaModificationHandler,\n})\n\nexport interface PatchAclSchemaModificationData {\n\tpatch: Operation[]\n}\n"],"names":[],"mappings":";;;AAKO,MAAM,kCAAgG;AAAA,EAC5G,YAA6B,MAAsC;AAAtC,SAAA,OAAA;AAAA,EAAA;AAAA,EAEtB,YAAkB;AAAA,EAAA;AAAA,EAElB,mBAAkC;AACjC,WAAA,CAAC,EAAE,aAAa;AAChB,YAAA,MAAM,SAAS,OAAO,GAAG;AACzB,YAAA,SAAS,WAAW,KAAK,KAAK,KAAK,KAAK,EAAE,OAAO,CAAM,OAAA,OAAO,IAAI;AACpE,UAAA,OAAO,SAAS,GAAG;AACtB,cAAM,OAAO,CAAC;AAAA,MAAA;AAGR,aAAA;AAAA,QACN,GAAG;AAAA,QACH;AAAA,MACD;AAAA,IACD;AAAA,EAAA;AAAA,EAGD,WAAW;AACH,WAAA,EAAE,SAAS,oBAAoB;AAAA,EAAA;AAExC;AAEO,MAAM,6BAA6B,uBAAuB;AAAA,EAChE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;"}
1
+ {"version":3,"file":"PatchAclSchemaModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/acl/PatchAclSchemaModification.ts"],"sourcesContent":["import { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, ModificationHandler } from '../ModificationHandler'\nimport { applyPatch, Operation } from 'rfc6902'\nimport deepCopy from '../../utils/deepCopy'\n\nexport class PatchAclSchemaModificationHandler implements ModificationHandler<PatchAclSchemaModificationData> {\n\tconstructor(private readonly data: PatchAclSchemaModificationData) {}\n\n\tpublic createSql(): void {}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => {\n\t\t\tconst acl = deepCopy(schema.acl)\n\t\t\tconst result = applyPatch(acl, this.data.patch).filter(it => it !== null)\n\t\t\tif (result.length > 0) {\n\t\t\t\tthrow result[0]\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...schema,\n\t\t\t\tacl,\n\t\t\t}\n\t\t}\n\t}\n\n\tdescribe() {\n\t\treturn { message: 'Update ACL schema' }\n\t}\n}\n\nexport const patchAclSchemaModification = createModificationType({\n\tid: 'patchAclSchema',\n\thandler: PatchAclSchemaModificationHandler,\n})\n\nexport interface PatchAclSchemaModificationData {\n\tpatch: Operation[]\n}\n"],"names":[],"mappings":";;;AAKO,MAAM,kCAAiG;AAAA,EAC7G,YAA6B,MAAsC;AAAtC,SAAA,OAAA;AAAA,EAAuC;AAAA,EAE7D,YAAkB;AAAA,EAAC;AAAA,EAEnB,mBAAkC;AACxC,WAAO,CAAC,EAAE,aAAa;AACtB,YAAM,MAAM,SAAS,OAAO,GAAG;AAC/B,YAAM,SAAS,WAAW,KAAK,KAAK,KAAK,KAAK,EAAE,OAAO,CAAA,OAAM,OAAO,IAAI;AACxE,UAAI,OAAO,SAAS,GAAG;AACtB,cAAM,OAAO,CAAC;AAAA,MACf;AAEA,aAAO;AAAA,QACN,GAAG;AAAA,QACH;AAAA,MAAA;AAAA,IAEF;AAAA,EACD;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,oBAAA;AAAA,EACnB;AACD;AAEO,MAAM,6BAA6B,uBAAuB;AAAA,EAChE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;"}
@@ -33,7 +33,7 @@ class UpdateAclSchemaDiffer {
33
33
  return [];
34
34
  }
35
35
  const patch = rfc6902.createPatch(originalSchema.acl, updatedSchema.acl);
36
- if (patch.length <= (this.options?.maxPatchSize ?? 100)) {
36
+ if (patch.length <= (this.options?.maxPatchSize ?? 1e3)) {
37
37
  return [PatchAclSchemaModification.patchAclSchemaModification.createModification({ patch })];
38
38
  }
39
39
  return [updateAclSchemaModification.createModification({ schema: updatedSchema.acl })];
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateAclSchemaModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/acl/UpdateAclSchemaModification.ts"],"sourcesContent":["import { Acl, Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport deepEqual from 'fast-deep-equal'\nimport { createPatch } from 'rfc6902'\nimport { patchAclSchemaModification } from './PatchAclSchemaModification'\n\nexport class UpdateAclSchemaModificationHandler implements ModificationHandler<UpdateAclSchemaModificationData>{\n\tconstructor(private readonly data: UpdateAclSchemaModificationData) {}\n\n\tpublic createSql(): void {}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => ({\n\t\t\t...schema,\n\t\t\tacl: this.data.schema,\n\t\t})\n\t}\n\n\tdescribe() {\n\t\treturn { message: 'Update ACL schema' }\n\t}\n}\n\nexport interface UpdateAclSchemaModificationData {\n\tschema: Acl.Schema\n}\n\nexport const updateAclSchemaModification = createModificationType({\n\tid: 'updateAclSchema',\n\thandler: UpdateAclSchemaModificationHandler,\n})\n\nexport class UpdateAclSchemaDiffer implements Differ {\n\tconstructor(\n\t\tprivate readonly options?: {\n\t\t\tmaxPatchSize?: number\n\t\t},\n\t) {\n\t}\n\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\tif (deepEqual(originalSchema.acl, updatedSchema.acl)) {\n\t\t\treturn []\n\t\t}\n\t\tconst patch = createPatch(originalSchema.acl, updatedSchema.acl)\n\t\tif (patch.length <= (this.options?.maxPatchSize ?? 100)) {\n\t\t\treturn [patchAclSchemaModification.createModification({ patch })]\n\t\t}\n\t\treturn [updateAclSchemaModification.createModification({ schema: updatedSchema.acl })]\n\t}\n}\n"],"names":["createModificationType","createPatch","patchAclSchemaModification"],"mappings":";;;;;;AAOO,MAAM,mCAAkG;AAAA,EAC9G,YAA6B,MAAuC;AAAvC,SAAA,OAAA;AAAA,EAAA;AAAA,EAEtB,YAAkB;AAAA,EAAA;AAAA,EAElB,mBAAkC;AACjC,WAAA,CAAC,EAAE,cAAc;AAAA,MACvB,GAAG;AAAA,MACH,KAAK,KAAK,KAAK;AAAA,IAAA;AAAA,EAChB;AAAA,EAGD,WAAW;AACH,WAAA,EAAE,SAAS,oBAAoB;AAAA,EAAA;AAExC;AAMO,MAAM,8BAA8BA,oBAAAA,uBAAuB;AAAA,EACjE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,sBAAwC;AAAA,EACpD,YACkB,SAGhB;AAHgB,SAAA,UAAA;AAAA,EAAA;AAAA,EAMlB,WAAW,gBAAwB,eAAuB;AACzD,QAAI,UAAU,eAAe,KAAK,cAAc,GAAG,GAAG;AACrD,aAAO,CAAC;AAAA,IAAA;AAET,UAAM,QAAQC,QAAAA,YAAY,eAAe,KAAK,cAAc,GAAG;AAC/D,QAAI,MAAM,WAAW,KAAK,SAAS,gBAAgB,MAAM;AACxD,aAAO,CAACC,2BAAAA,2BAA2B,mBAAmB,EAAE,MAAO,CAAA,CAAC;AAAA,IAAA;AAE1D,WAAA,CAAC,4BAA4B,mBAAmB,EAAE,QAAQ,cAAc,IAAA,CAAK,CAAC;AAAA,EAAA;AAEvF;;;;"}
1
+ {"version":3,"file":"UpdateAclSchemaModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/acl/UpdateAclSchemaModification.ts"],"sourcesContent":["import { Acl, Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport deepEqual from 'fast-deep-equal'\nimport { createPatch } from 'rfc6902'\nimport { patchAclSchemaModification } from './PatchAclSchemaModification'\n\nexport class UpdateAclSchemaModificationHandler implements ModificationHandler<UpdateAclSchemaModificationData> {\n\tconstructor(private readonly data: UpdateAclSchemaModificationData) {}\n\n\tpublic createSql(): void {}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => ({\n\t\t\t...schema,\n\t\t\tacl: this.data.schema,\n\t\t})\n\t}\n\n\tdescribe() {\n\t\treturn { message: 'Update ACL schema' }\n\t}\n}\n\nexport interface UpdateAclSchemaModificationData {\n\tschema: Acl.Schema\n}\n\nexport const updateAclSchemaModification = createModificationType({\n\tid: 'updateAclSchema',\n\thandler: UpdateAclSchemaModificationHandler,\n})\n\nexport class UpdateAclSchemaDiffer implements Differ {\n\tconstructor(\n\t\tprivate readonly options?: {\n\t\t\tmaxPatchSize?: number\n\t\t},\n\t) {\n\t}\n\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\tif (deepEqual(originalSchema.acl, updatedSchema.acl)) {\n\t\t\treturn []\n\t\t}\n\t\tconst patch = createPatch(originalSchema.acl, updatedSchema.acl)\n\t\tif (patch.length <= (this.options?.maxPatchSize ?? 1000)) {\n\t\t\treturn [patchAclSchemaModification.createModification({ patch })]\n\t\t}\n\t\treturn [updateAclSchemaModification.createModification({ schema: updatedSchema.acl })]\n\t}\n}\n"],"names":["createModificationType","createPatch","patchAclSchemaModification"],"mappings":";;;;;;AAOO,MAAM,mCAAmG;AAAA,EAC/G,YAA6B,MAAuC;AAAvC,SAAA,OAAA;AAAA,EAAwC;AAAA,EAE9D,YAAkB;AAAA,EAAC;AAAA,EAEnB,mBAAkC;AACxC,WAAO,CAAC,EAAE,cAAc;AAAA,MACvB,GAAG;AAAA,MACH,KAAK,KAAK,KAAK;AAAA,IAAA;AAAA,EAEjB;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,oBAAA;AAAA,EACnB;AACD;AAMO,MAAM,8BAA8BA,oBAAAA,uBAAuB;AAAA,EACjE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,sBAAwC;AAAA,EACpD,YACkB,SAGhB;AAHgB,SAAA,UAAA;AAAA,EAIlB;AAAA,EAEA,WAAW,gBAAwB,eAAuB;AACzD,QAAI,UAAU,eAAe,KAAK,cAAc,GAAG,GAAG;AACrD,aAAO,CAAA;AAAA,IACR;AACA,UAAM,QAAQC,QAAAA,YAAY,eAAe,KAAK,cAAc,GAAG;AAC/D,QAAI,MAAM,WAAW,KAAK,SAAS,gBAAgB,MAAO;AACzD,aAAO,CAACC,2BAAAA,2BAA2B,mBAAmB,EAAE,MAAA,CAAO,CAAC;AAAA,IACjE;AACA,WAAO,CAAC,4BAA4B,mBAAmB,EAAE,QAAQ,cAAc,IAAA,CAAK,CAAC;AAAA,EACtF;AACD;;;;"}
@@ -31,7 +31,7 @@ class UpdateAclSchemaDiffer {
31
31
  return [];
32
32
  }
33
33
  const patch = createPatch(originalSchema.acl, updatedSchema.acl);
34
- if (patch.length <= (this.options?.maxPatchSize ?? 100)) {
34
+ if (patch.length <= (this.options?.maxPatchSize ?? 1e3)) {
35
35
  return [patchAclSchemaModification.createModification({ patch })];
36
36
  }
37
37
  return [updateAclSchemaModification.createModification({ schema: updatedSchema.acl })];
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateAclSchemaModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/acl/UpdateAclSchemaModification.ts"],"sourcesContent":["import { Acl, Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport deepEqual from 'fast-deep-equal'\nimport { createPatch } from 'rfc6902'\nimport { patchAclSchemaModification } from './PatchAclSchemaModification'\n\nexport class UpdateAclSchemaModificationHandler implements ModificationHandler<UpdateAclSchemaModificationData>{\n\tconstructor(private readonly data: UpdateAclSchemaModificationData) {}\n\n\tpublic createSql(): void {}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => ({\n\t\t\t...schema,\n\t\t\tacl: this.data.schema,\n\t\t})\n\t}\n\n\tdescribe() {\n\t\treturn { message: 'Update ACL schema' }\n\t}\n}\n\nexport interface UpdateAclSchemaModificationData {\n\tschema: Acl.Schema\n}\n\nexport const updateAclSchemaModification = createModificationType({\n\tid: 'updateAclSchema',\n\thandler: UpdateAclSchemaModificationHandler,\n})\n\nexport class UpdateAclSchemaDiffer implements Differ {\n\tconstructor(\n\t\tprivate readonly options?: {\n\t\t\tmaxPatchSize?: number\n\t\t},\n\t) {\n\t}\n\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\tif (deepEqual(originalSchema.acl, updatedSchema.acl)) {\n\t\t\treturn []\n\t\t}\n\t\tconst patch = createPatch(originalSchema.acl, updatedSchema.acl)\n\t\tif (patch.length <= (this.options?.maxPatchSize ?? 100)) {\n\t\t\treturn [patchAclSchemaModification.createModification({ patch })]\n\t\t}\n\t\treturn [updateAclSchemaModification.createModification({ schema: updatedSchema.acl })]\n\t}\n}\n"],"names":[],"mappings":";;;;AAOO,MAAM,mCAAkG;AAAA,EAC9G,YAA6B,MAAuC;AAAvC,SAAA,OAAA;AAAA,EAAA;AAAA,EAEtB,YAAkB;AAAA,EAAA;AAAA,EAElB,mBAAkC;AACjC,WAAA,CAAC,EAAE,cAAc;AAAA,MACvB,GAAG;AAAA,MACH,KAAK,KAAK,KAAK;AAAA,IAAA;AAAA,EAChB;AAAA,EAGD,WAAW;AACH,WAAA,EAAE,SAAS,oBAAoB;AAAA,EAAA;AAExC;AAMO,MAAM,8BAA8B,uBAAuB;AAAA,EACjE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,sBAAwC;AAAA,EACpD,YACkB,SAGhB;AAHgB,SAAA,UAAA;AAAA,EAAA;AAAA,EAMlB,WAAW,gBAAwB,eAAuB;AACzD,QAAI,UAAU,eAAe,KAAK,cAAc,GAAG,GAAG;AACrD,aAAO,CAAC;AAAA,IAAA;AAET,UAAM,QAAQ,YAAY,eAAe,KAAK,cAAc,GAAG;AAC/D,QAAI,MAAM,WAAW,KAAK,SAAS,gBAAgB,MAAM;AACxD,aAAO,CAAC,2BAA2B,mBAAmB,EAAE,MAAO,CAAA,CAAC;AAAA,IAAA;AAE1D,WAAA,CAAC,4BAA4B,mBAAmB,EAAE,QAAQ,cAAc,IAAA,CAAK,CAAC;AAAA,EAAA;AAEvF;"}
1
+ {"version":3,"file":"UpdateAclSchemaModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/acl/UpdateAclSchemaModification.ts"],"sourcesContent":["import { Acl, Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport deepEqual from 'fast-deep-equal'\nimport { createPatch } from 'rfc6902'\nimport { patchAclSchemaModification } from './PatchAclSchemaModification'\n\nexport class UpdateAclSchemaModificationHandler implements ModificationHandler<UpdateAclSchemaModificationData> {\n\tconstructor(private readonly data: UpdateAclSchemaModificationData) {}\n\n\tpublic createSql(): void {}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => ({\n\t\t\t...schema,\n\t\t\tacl: this.data.schema,\n\t\t})\n\t}\n\n\tdescribe() {\n\t\treturn { message: 'Update ACL schema' }\n\t}\n}\n\nexport interface UpdateAclSchemaModificationData {\n\tschema: Acl.Schema\n}\n\nexport const updateAclSchemaModification = createModificationType({\n\tid: 'updateAclSchema',\n\thandler: UpdateAclSchemaModificationHandler,\n})\n\nexport class UpdateAclSchemaDiffer implements Differ {\n\tconstructor(\n\t\tprivate readonly options?: {\n\t\t\tmaxPatchSize?: number\n\t\t},\n\t) {\n\t}\n\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\tif (deepEqual(originalSchema.acl, updatedSchema.acl)) {\n\t\t\treturn []\n\t\t}\n\t\tconst patch = createPatch(originalSchema.acl, updatedSchema.acl)\n\t\tif (patch.length <= (this.options?.maxPatchSize ?? 1000)) {\n\t\t\treturn [patchAclSchemaModification.createModification({ patch })]\n\t\t}\n\t\treturn [updateAclSchemaModification.createModification({ schema: updatedSchema.acl })]\n\t}\n}\n"],"names":[],"mappings":";;;;AAOO,MAAM,mCAAmG;AAAA,EAC/G,YAA6B,MAAuC;AAAvC,SAAA,OAAA;AAAA,EAAwC;AAAA,EAE9D,YAAkB;AAAA,EAAC;AAAA,EAEnB,mBAAkC;AACxC,WAAO,CAAC,EAAE,cAAc;AAAA,MACvB,GAAG;AAAA,MACH,KAAK,KAAK,KAAK;AAAA,IAAA;AAAA,EAEjB;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,oBAAA;AAAA,EACnB;AACD;AAMO,MAAM,8BAA8B,uBAAuB;AAAA,EACjE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,sBAAwC;AAAA,EACpD,YACkB,SAGhB;AAHgB,SAAA,UAAA;AAAA,EAIlB;AAAA,EAEA,WAAW,gBAAwB,eAAuB;AACzD,QAAI,UAAU,eAAe,KAAK,cAAc,GAAG,GAAG;AACrD,aAAO,CAAA;AAAA,IACR;AACA,UAAM,QAAQ,YAAY,eAAe,KAAK,cAAc,GAAG;AAC/D,QAAI,MAAM,WAAW,KAAK,SAAS,gBAAgB,MAAO;AACzD,aAAO,CAAC,2BAA2B,mBAAmB,EAAE,MAAA,CAAO,CAAC;AAAA,IACjE;AACA,WAAO,CAAC,4BAA4B,mBAAmB,EAAE,QAAQ,cAAc,IAAA,CAAK,CAAC;AAAA,EACtF;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"CreateTargetModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/actions/CreateTargetModification.ts"],"sourcesContent":["import { Actions, Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class CreateTargetModificationHandler implements ModificationHandler<CreateTargetModificationData> {\n\tconstructor(private readonly data: CreateTargetModificationData) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => ({\n\t\t\t...schema,\n\t\t\tactions: {\n\t\t\t\t...schema.actions,\n\t\t\t\ttargets: {\n\t\t\t\t\t...schema.actions.targets,\n\t\t\t\t\t[this.data.target.name]: this.data.target,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Create target ${this.data.target.name}` }\n\t}\n}\n\nexport interface CreateTargetModificationData {\n\ttarget: Actions.AnyTarget\n}\n\nexport const createTargetModification = createModificationType({\n\tid: 'createTarget',\n\thandler: CreateTargetModificationHandler,\n})\n\nexport class CreateTargetDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.actions.targets)\n\t\t\t.filter(([name]) => !originalSchema.actions.targets[name])\n\t\t\t.map(([, target]) => createTargetModification.createModification({ target }))\n\t}\n}\n"],"names":["createModificationType"],"mappings":";;;AAIO,MAAM,gCAA6F;AAAA,EACzG,YAA6B,MAAoC;AAApC,SAAA,OAAA;AAAA,EAAA;AAAA,EAGtB,YAAkB;AAAA,EAAA;AAAA,EAGlB,mBAAkC;AACjC,WAAA,CAAC,EAAE,cAAc;AAAA,MACvB,GAAG;AAAA,MACH,SAAS;AAAA,QACR,GAAG,OAAO;AAAA,QACV,SAAS;AAAA,UACR,GAAG,OAAO,QAAQ;AAAA,UAClB,CAAC,KAAK,KAAK,OAAO,IAAI,GAAG,KAAK,KAAK;AAAA,QAAA;AAAA,MACpC;AAAA,IACD;AAAA,EACD;AAAA,EAGD,WAAW;AACV,WAAO,EAAE,SAAS,iBAAiB,KAAK,KAAK,OAAO,IAAI,GAAG;AAAA,EAAA;AAE7D;AAMO,MAAM,2BAA2BA,oBAAAA,uBAAuB;AAAA,EAC9D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,mBAAqC;AAAA,EACjD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,QAAQ,cAAc,QAAQ,OAAO,EACjD,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,eAAe,QAAQ,QAAQ,IAAI,CAAC,EACxD,IAAI,CAAC,CAAA,EAAG,MAAM,MAAM,yBAAyB,mBAAmB,EAAE,OAAQ,CAAA,CAAC;AAAA,EAAA;AAE/E;;;;"}
1
+ {"version":3,"file":"CreateTargetModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/actions/CreateTargetModification.ts"],"sourcesContent":["import { Actions, Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class CreateTargetModificationHandler implements ModificationHandler<CreateTargetModificationData> {\n\tconstructor(private readonly data: CreateTargetModificationData) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => ({\n\t\t\t...schema,\n\t\t\tactions: {\n\t\t\t\t...schema.actions,\n\t\t\t\ttargets: {\n\t\t\t\t\t...schema.actions.targets,\n\t\t\t\t\t[this.data.target.name]: this.data.target,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Create target ${this.data.target.name}` }\n\t}\n}\n\nexport interface CreateTargetModificationData {\n\ttarget: Actions.AnyTarget\n}\n\nexport const createTargetModification = createModificationType({\n\tid: 'createTarget',\n\thandler: CreateTargetModificationHandler,\n})\n\nexport class CreateTargetDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.actions.targets)\n\t\t\t.filter(([name]) => !originalSchema.actions.targets[name])\n\t\t\t.map(([, target]) => createTargetModification.createModification({ target }))\n\t}\n}\n"],"names":["createModificationType"],"mappings":";;;AAIO,MAAM,gCAA6F;AAAA,EACzG,YAA6B,MAAoC;AAApC,SAAA,OAAA;AAAA,EAC7B;AAAA,EAEO,YAAkB;AAAA,EACzB;AAAA,EAEO,mBAAkC;AACxC,WAAO,CAAC,EAAE,cAAc;AAAA,MACvB,GAAG;AAAA,MACH,SAAS;AAAA,QACR,GAAG,OAAO;AAAA,QACV,SAAS;AAAA,UACR,GAAG,OAAO,QAAQ;AAAA,UAClB,CAAC,KAAK,KAAK,OAAO,IAAI,GAAG,KAAK,KAAK;AAAA,QAAA;AAAA,MACpC;AAAA,IACD;AAAA,EAEF;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,iBAAiB,KAAK,KAAK,OAAO,IAAI,GAAA;AAAA,EACzD;AACD;AAMO,MAAM,2BAA2BA,oBAAAA,uBAAuB;AAAA,EAC9D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,mBAAqC;AAAA,EACjD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,QAAQ,cAAc,QAAQ,OAAO,EACjD,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,eAAe,QAAQ,QAAQ,IAAI,CAAC,EACxD,IAAI,CAAC,CAAA,EAAG,MAAM,MAAM,yBAAyB,mBAAmB,EAAE,OAAA,CAAQ,CAAC;AAAA,EAC9E;AACD;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"CreateTargetModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/actions/CreateTargetModification.ts"],"sourcesContent":["import { Actions, Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class CreateTargetModificationHandler implements ModificationHandler<CreateTargetModificationData> {\n\tconstructor(private readonly data: CreateTargetModificationData) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => ({\n\t\t\t...schema,\n\t\t\tactions: {\n\t\t\t\t...schema.actions,\n\t\t\t\ttargets: {\n\t\t\t\t\t...schema.actions.targets,\n\t\t\t\t\t[this.data.target.name]: this.data.target,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Create target ${this.data.target.name}` }\n\t}\n}\n\nexport interface CreateTargetModificationData {\n\ttarget: Actions.AnyTarget\n}\n\nexport const createTargetModification = createModificationType({\n\tid: 'createTarget',\n\thandler: CreateTargetModificationHandler,\n})\n\nexport class CreateTargetDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.actions.targets)\n\t\t\t.filter(([name]) => !originalSchema.actions.targets[name])\n\t\t\t.map(([, target]) => createTargetModification.createModification({ target }))\n\t}\n}\n"],"names":[],"mappings":";AAIO,MAAM,gCAA6F;AAAA,EACzG,YAA6B,MAAoC;AAApC,SAAA,OAAA;AAAA,EAAA;AAAA,EAGtB,YAAkB;AAAA,EAAA;AAAA,EAGlB,mBAAkC;AACjC,WAAA,CAAC,EAAE,cAAc;AAAA,MACvB,GAAG;AAAA,MACH,SAAS;AAAA,QACR,GAAG,OAAO;AAAA,QACV,SAAS;AAAA,UACR,GAAG,OAAO,QAAQ;AAAA,UAClB,CAAC,KAAK,KAAK,OAAO,IAAI,GAAG,KAAK,KAAK;AAAA,QAAA;AAAA,MACpC;AAAA,IACD;AAAA,EACD;AAAA,EAGD,WAAW;AACV,WAAO,EAAE,SAAS,iBAAiB,KAAK,KAAK,OAAO,IAAI,GAAG;AAAA,EAAA;AAE7D;AAMO,MAAM,2BAA2B,uBAAuB;AAAA,EAC9D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,mBAAqC;AAAA,EACjD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,QAAQ,cAAc,QAAQ,OAAO,EACjD,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,eAAe,QAAQ,QAAQ,IAAI,CAAC,EACxD,IAAI,CAAC,CAAA,EAAG,MAAM,MAAM,yBAAyB,mBAAmB,EAAE,OAAQ,CAAA,CAAC;AAAA,EAAA;AAE/E;"}
1
+ {"version":3,"file":"CreateTargetModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/actions/CreateTargetModification.ts"],"sourcesContent":["import { Actions, Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class CreateTargetModificationHandler implements ModificationHandler<CreateTargetModificationData> {\n\tconstructor(private readonly data: CreateTargetModificationData) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => ({\n\t\t\t...schema,\n\t\t\tactions: {\n\t\t\t\t...schema.actions,\n\t\t\t\ttargets: {\n\t\t\t\t\t...schema.actions.targets,\n\t\t\t\t\t[this.data.target.name]: this.data.target,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Create target ${this.data.target.name}` }\n\t}\n}\n\nexport interface CreateTargetModificationData {\n\ttarget: Actions.AnyTarget\n}\n\nexport const createTargetModification = createModificationType({\n\tid: 'createTarget',\n\thandler: CreateTargetModificationHandler,\n})\n\nexport class CreateTargetDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.actions.targets)\n\t\t\t.filter(([name]) => !originalSchema.actions.targets[name])\n\t\t\t.map(([, target]) => createTargetModification.createModification({ target }))\n\t}\n}\n"],"names":[],"mappings":";AAIO,MAAM,gCAA6F;AAAA,EACzG,YAA6B,MAAoC;AAApC,SAAA,OAAA;AAAA,EAC7B;AAAA,EAEO,YAAkB;AAAA,EACzB;AAAA,EAEO,mBAAkC;AACxC,WAAO,CAAC,EAAE,cAAc;AAAA,MACvB,GAAG;AAAA,MACH,SAAS;AAAA,QACR,GAAG,OAAO;AAAA,QACV,SAAS;AAAA,UACR,GAAG,OAAO,QAAQ;AAAA,UAClB,CAAC,KAAK,KAAK,OAAO,IAAI,GAAG,KAAK,KAAK;AAAA,QAAA;AAAA,MACpC;AAAA,IACD;AAAA,EAEF;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,iBAAiB,KAAK,KAAK,OAAO,IAAI,GAAA;AAAA,EACzD;AACD;AAMO,MAAM,2BAA2B,uBAAuB;AAAA,EAC9D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,mBAAqC;AAAA,EACjD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,QAAQ,cAAc,QAAQ,OAAO,EACjD,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,eAAe,QAAQ,QAAQ,IAAI,CAAC,EACxD,IAAI,CAAC,CAAA,EAAG,MAAM,MAAM,yBAAyB,mBAAmB,EAAE,OAAA,CAAQ,CAAC;AAAA,EAC9E;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"CreateTriggerModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/actions/CreateTriggerModification.ts"],"sourcesContent":["import { Actions, Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class CreateTriggerModificationHandler implements ModificationHandler<CreateTriggerModificationData> {\n\tconstructor(private readonly data: CreateTriggerModificationData) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => ({\n\t\t\t...schema,\n\t\t\tactions: {\n\t\t\t\t...schema.actions,\n\t\t\t\ttriggers: {\n\t\t\t\t\t...schema.actions.triggers,\n\t\t\t\t\t[this.data.trigger.name]: this.data.trigger,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Create trigger ${this.data.trigger.name}` }\n\t}\n}\n\nexport interface CreateTriggerModificationData {\n\ttrigger: Actions.AnyTrigger\n}\n\nexport const createTriggerModification = createModificationType({\n\tid: 'createTrigger',\n\thandler: CreateTriggerModificationHandler,\n})\n\nexport class CreateTriggerDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.actions.triggers)\n\t\t\t.filter(([name]) => !originalSchema.actions.triggers[name])\n\t\t\t.map(([, trigger]) => createTriggerModification.createModification({ trigger }))\n\t}\n}\n"],"names":["createModificationType"],"mappings":";;;AAIO,MAAM,iCAA+F;AAAA,EAC3G,YAA6B,MAAqC;AAArC,SAAA,OAAA;AAAA,EAAA;AAAA,EAGtB,YAAkB;AAAA,EAAA;AAAA,EAGlB,mBAAkC;AACjC,WAAA,CAAC,EAAE,cAAc;AAAA,MACvB,GAAG;AAAA,MACH,SAAS;AAAA,QACR,GAAG,OAAO;AAAA,QACV,UAAU;AAAA,UACT,GAAG,OAAO,QAAQ;AAAA,UAClB,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,KAAK,KAAK;AAAA,QAAA;AAAA,MACrC;AAAA,IACD;AAAA,EACD;AAAA,EAGD,WAAW;AACV,WAAO,EAAE,SAAS,kBAAkB,KAAK,KAAK,QAAQ,IAAI,GAAG;AAAA,EAAA;AAE/D;AAMO,MAAM,4BAA4BA,oBAAAA,uBAAuB;AAAA,EAC/D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,oBAAsC;AAAA,EAClD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,QAAQ,cAAc,QAAQ,QAAQ,EAClD,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,eAAe,QAAQ,SAAS,IAAI,CAAC,EACzD,IAAI,CAAC,CAAA,EAAG,OAAO,MAAM,0BAA0B,mBAAmB,EAAE,QAAS,CAAA,CAAC;AAAA,EAAA;AAElF;;;;"}
1
+ {"version":3,"file":"CreateTriggerModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/actions/CreateTriggerModification.ts"],"sourcesContent":["import { Actions, Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class CreateTriggerModificationHandler implements ModificationHandler<CreateTriggerModificationData> {\n\tconstructor(private readonly data: CreateTriggerModificationData) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => ({\n\t\t\t...schema,\n\t\t\tactions: {\n\t\t\t\t...schema.actions,\n\t\t\t\ttriggers: {\n\t\t\t\t\t...schema.actions.triggers,\n\t\t\t\t\t[this.data.trigger.name]: this.data.trigger,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Create trigger ${this.data.trigger.name}` }\n\t}\n}\n\nexport interface CreateTriggerModificationData {\n\ttrigger: Actions.AnyTrigger\n}\n\nexport const createTriggerModification = createModificationType({\n\tid: 'createTrigger',\n\thandler: CreateTriggerModificationHandler,\n})\n\nexport class CreateTriggerDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.actions.triggers)\n\t\t\t.filter(([name]) => !originalSchema.actions.triggers[name])\n\t\t\t.map(([, trigger]) => createTriggerModification.createModification({ trigger }))\n\t}\n}\n"],"names":["createModificationType"],"mappings":";;;AAIO,MAAM,iCAA+F;AAAA,EAC3G,YAA6B,MAAqC;AAArC,SAAA,OAAA;AAAA,EAC7B;AAAA,EAEO,YAAkB;AAAA,EACzB;AAAA,EAEO,mBAAkC;AACxC,WAAO,CAAC,EAAE,cAAc;AAAA,MACvB,GAAG;AAAA,MACH,SAAS;AAAA,QACR,GAAG,OAAO;AAAA,QACV,UAAU;AAAA,UACT,GAAG,OAAO,QAAQ;AAAA,UAClB,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,KAAK,KAAK;AAAA,QAAA;AAAA,MACrC;AAAA,IACD;AAAA,EAEF;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,kBAAkB,KAAK,KAAK,QAAQ,IAAI,GAAA;AAAA,EAC3D;AACD;AAMO,MAAM,4BAA4BA,oBAAAA,uBAAuB;AAAA,EAC/D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,oBAAsC;AAAA,EAClD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,QAAQ,cAAc,QAAQ,QAAQ,EAClD,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,eAAe,QAAQ,SAAS,IAAI,CAAC,EACzD,IAAI,CAAC,CAAA,EAAG,OAAO,MAAM,0BAA0B,mBAAmB,EAAE,QAAA,CAAS,CAAC;AAAA,EACjF;AACD;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"CreateTriggerModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/actions/CreateTriggerModification.ts"],"sourcesContent":["import { Actions, Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class CreateTriggerModificationHandler implements ModificationHandler<CreateTriggerModificationData> {\n\tconstructor(private readonly data: CreateTriggerModificationData) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => ({\n\t\t\t...schema,\n\t\t\tactions: {\n\t\t\t\t...schema.actions,\n\t\t\t\ttriggers: {\n\t\t\t\t\t...schema.actions.triggers,\n\t\t\t\t\t[this.data.trigger.name]: this.data.trigger,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Create trigger ${this.data.trigger.name}` }\n\t}\n}\n\nexport interface CreateTriggerModificationData {\n\ttrigger: Actions.AnyTrigger\n}\n\nexport const createTriggerModification = createModificationType({\n\tid: 'createTrigger',\n\thandler: CreateTriggerModificationHandler,\n})\n\nexport class CreateTriggerDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.actions.triggers)\n\t\t\t.filter(([name]) => !originalSchema.actions.triggers[name])\n\t\t\t.map(([, trigger]) => createTriggerModification.createModification({ trigger }))\n\t}\n}\n"],"names":[],"mappings":";AAIO,MAAM,iCAA+F;AAAA,EAC3G,YAA6B,MAAqC;AAArC,SAAA,OAAA;AAAA,EAAA;AAAA,EAGtB,YAAkB;AAAA,EAAA;AAAA,EAGlB,mBAAkC;AACjC,WAAA,CAAC,EAAE,cAAc;AAAA,MACvB,GAAG;AAAA,MACH,SAAS;AAAA,QACR,GAAG,OAAO;AAAA,QACV,UAAU;AAAA,UACT,GAAG,OAAO,QAAQ;AAAA,UAClB,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,KAAK,KAAK;AAAA,QAAA;AAAA,MACrC;AAAA,IACD;AAAA,EACD;AAAA,EAGD,WAAW;AACV,WAAO,EAAE,SAAS,kBAAkB,KAAK,KAAK,QAAQ,IAAI,GAAG;AAAA,EAAA;AAE/D;AAMO,MAAM,4BAA4B,uBAAuB;AAAA,EAC/D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,oBAAsC;AAAA,EAClD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,QAAQ,cAAc,QAAQ,QAAQ,EAClD,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,eAAe,QAAQ,SAAS,IAAI,CAAC,EACzD,IAAI,CAAC,CAAA,EAAG,OAAO,MAAM,0BAA0B,mBAAmB,EAAE,QAAS,CAAA,CAAC;AAAA,EAAA;AAElF;"}
1
+ {"version":3,"file":"CreateTriggerModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/actions/CreateTriggerModification.ts"],"sourcesContent":["import { Actions, Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class CreateTriggerModificationHandler implements ModificationHandler<CreateTriggerModificationData> {\n\tconstructor(private readonly data: CreateTriggerModificationData) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => ({\n\t\t\t...schema,\n\t\t\tactions: {\n\t\t\t\t...schema.actions,\n\t\t\t\ttriggers: {\n\t\t\t\t\t...schema.actions.triggers,\n\t\t\t\t\t[this.data.trigger.name]: this.data.trigger,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Create trigger ${this.data.trigger.name}` }\n\t}\n}\n\nexport interface CreateTriggerModificationData {\n\ttrigger: Actions.AnyTrigger\n}\n\nexport const createTriggerModification = createModificationType({\n\tid: 'createTrigger',\n\thandler: CreateTriggerModificationHandler,\n})\n\nexport class CreateTriggerDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.actions.triggers)\n\t\t\t.filter(([name]) => !originalSchema.actions.triggers[name])\n\t\t\t.map(([, trigger]) => createTriggerModification.createModification({ trigger }))\n\t}\n}\n"],"names":[],"mappings":";AAIO,MAAM,iCAA+F;AAAA,EAC3G,YAA6B,MAAqC;AAArC,SAAA,OAAA;AAAA,EAC7B;AAAA,EAEO,YAAkB;AAAA,EACzB;AAAA,EAEO,mBAAkC;AACxC,WAAO,CAAC,EAAE,cAAc;AAAA,MACvB,GAAG;AAAA,MACH,SAAS;AAAA,QACR,GAAG,OAAO;AAAA,QACV,UAAU;AAAA,UACT,GAAG,OAAO,QAAQ;AAAA,UAClB,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,KAAK,KAAK;AAAA,QAAA;AAAA,MACrC;AAAA,IACD;AAAA,EAEF;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,kBAAkB,KAAK,KAAK,QAAQ,IAAI,GAAA;AAAA,EAC3D;AACD;AAMO,MAAM,4BAA4B,uBAAuB;AAAA,EAC/D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,oBAAsC;AAAA,EAClD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,QAAQ,cAAc,QAAQ,QAAQ,EAClD,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,eAAe,QAAQ,SAAS,IAAI,CAAC,EACzD,IAAI,CAAC,CAAA,EAAG,OAAO,MAAM,0BAA0B,mBAAmB,EAAE,QAAA,CAAS,CAAC;AAAA,EACjF;AACD;"}