@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
@@ -1 +1 @@
1
- {"version":3,"file":"CreateViewModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/CreateViewModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport { Migration } from '../../Migration'\nimport { PossibleEntityShapeInMigrations } from '../../utils/PartialEntity.js'\n\nexport class CreateViewModificationHandler implements ModificationHandler<CreateViewModificationData> {\n\tconstructor(private readonly data: CreateViewModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = this.data.entity\n\t\tif (!entity.view) {\n\t\t\tthrow new Error()\n\t\t}\n\t\tif (entity.view.materialized) {\n\t\t\tbuilder.createMaterializedView(entity.tableName, {\n\t\t\t\tdata: this.data.noData !== true,\n\t\t\t}, entity.view.sql)\n\t\t} else {\n\t\t\tbuilder.createView(entity.tableName, {}, entity.view.sql)\n\t\t}\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(({ model }) => ({\n\t\t\t...model,\n\t\t\tentities: {\n\t\t\t\t...model.entities,\n\t\t\t\t[this.data.entity.name]: {\n\t\t\t\t\teventLog: { enabled: true }, // not relevant here...\n\t\t\t\t\t...this.data.entity,\n\t\t\t\t\tunique: Object.values(this.data.entity.unique),\n\t\t\t\t\tindexes: Object.values(this.data.entity.indexes ?? []),\n\t\t\t\t},\n\t\t\t},\n\t\t}))\n\t}\n\n\n\tdescribe() {\n\t\treturn { message: `Add view ${this.data.entity.name}` }\n\t}\n}\n\nexport const createViewModification = createModificationType({\n\tid: 'createView',\n\thandler: CreateViewModificationHandler,\n})\n\nexport class CreateViewDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\tconst newViews = Object.values(updatedSchema.model.entities)\n\t\t\t.filter(it => !originalSchema.model.entities[it.name])\n\t\t\t.filter(it => !!it.view)\n\t\tconst created = new Set<string>()\n\t\tconst modifications: Migration.Modification[] = []\n\t\tconst cascadeCreate = (entity: Model.Entity) => {\n\t\t\tif (originalSchema.model.entities[entity.name] || created.has(entity.name)) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tcreated.add(entity.name)\n\t\t\tfor (const dependency of entity.view?.dependencies ?? []) {\n\t\t\t\tcascadeCreate(updatedSchema.model.entities[dependency])\n\t\t\t}\n\t\t\tmodifications.push(createViewModification.createModification({\n\t\t\t\tentity: {\n\t\t\t\t\t...entity,\n\t\t\t\t\tindexes: [],\n\t\t\t\t\tunique: [],\n\t\t\t\t},\n\t\t\t}))\n\t\t}\n\t\tfor (const view of newViews) {\n\t\t\tcascadeCreate(view)\n\t\t}\n\t\treturn modifications\n\t}\n}\n\nexport interface CreateViewModificationData {\n\tentity: PossibleEntityShapeInMigrations\n\tnoData?: boolean\n}\n"],"names":["updateModel","createModificationType"],"mappings":";;;;AAOO,MAAM,8BAAyF;AAAA,EACrG,YAA6B,MAAmD,QAAgB;AAAnE,SAAA,OAAA;AAAmD,SAAA,SAAA;AAAA,EAAA;AAAA,EAEzE,UAAU,SAAiC;AAC3C,UAAA,SAAS,KAAK,KAAK;AACrB,QAAA,CAAC,OAAO,MAAM;AACjB,YAAM,IAAI,MAAM;AAAA,IAAA;AAEb,QAAA,OAAO,KAAK,cAAc;AACrB,cAAA,uBAAuB,OAAO,WAAW;AAAA,QAChD,MAAM,KAAK,KAAK,WAAW;AAAA,MAAA,GACzB,OAAO,KAAK,GAAG;AAAA,IAAA,OACZ;AACN,cAAQ,WAAW,OAAO,WAAW,CAAA,GAAI,OAAO,KAAK,GAAG;AAAA,IAAA;AAAA,EACzD;AAAA,EAGM,mBAAkC;AACxC,WAAOA,kBAAY,YAAA,CAAC,EAAE,aAAa;AAAA,MAClC,GAAG;AAAA,MACH,UAAU;AAAA,QACT,GAAG,MAAM;AAAA,QACT,CAAC,KAAK,KAAK,OAAO,IAAI,GAAG;AAAA,UACxB,UAAU,EAAE,SAAS,KAAK;AAAA;AAAA,UAC1B,GAAG,KAAK,KAAK;AAAA,UACb,QAAQ,OAAO,OAAO,KAAK,KAAK,OAAO,MAAM;AAAA,UAC7C,SAAS,OAAO,OAAO,KAAK,KAAK,OAAO,WAAW,CAAE,CAAA;AAAA,QAAA;AAAA,MACtD;AAAA,IACD,EACC;AAAA,EAAA;AAAA,EAIH,WAAW;AACV,WAAO,EAAE,SAAS,YAAY,KAAK,KAAK,OAAO,IAAI,GAAG;AAAA,EAAA;AAExD;AAEO,MAAM,yBAAyBC,oBAAAA,uBAAuB;AAAA,EAC5D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,iBAAmC;AAAA,EAC/C,WAAW,gBAAwB,eAAuB;AACnD,UAAA,WAAW,OAAO,OAAO,cAAc,MAAM,QAAQ,EACzD,OAAO,CAAA,OAAM,CAAC,eAAe,MAAM,SAAS,GAAG,IAAI,CAAC,EACpD,OAAO,CAAM,OAAA,CAAC,CAAC,GAAG,IAAI;AAClB,UAAA,8BAAc,IAAY;AAChC,UAAM,gBAA0C,CAAC;AAC3C,UAAA,gBAAgB,CAAC,WAAyB;AAC3C,UAAA,eAAe,MAAM,SAAS,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,GAAG;AAC3E;AAAA,MAAA;AAEO,cAAA,IAAI,OAAO,IAAI;AACvB,iBAAW,cAAc,OAAO,MAAM,gBAAgB,CAAA,GAAI;AACzD,sBAAc,cAAc,MAAM,SAAS,UAAU,CAAC;AAAA,MAAA;AAEzC,oBAAA,KAAK,uBAAuB,mBAAmB;AAAA,QAC5D,QAAQ;AAAA,UACP,GAAG;AAAA,UACH,SAAS,CAAC;AAAA,UACV,QAAQ,CAAA;AAAA,QAAC;AAAA,MACV,CACA,CAAC;AAAA,IACH;AACA,eAAW,QAAQ,UAAU;AAC5B,oBAAc,IAAI;AAAA,IAAA;AAEZ,WAAA;AAAA,EAAA;AAET;;;;"}
1
+ {"version":3,"file":"CreateViewModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/CreateViewModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport { Migration } from '../../Migration'\nimport { PossibleEntityShapeInMigrations } from '../../utils/PartialEntity.js'\n\nexport class CreateViewModificationHandler implements ModificationHandler<CreateViewModificationData> {\n\tconstructor(private readonly data: CreateViewModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = this.data.entity\n\t\tif (!entity.view) {\n\t\t\tthrow new Error()\n\t\t}\n\t\tif (entity.view.materialized) {\n\t\t\tbuilder.createMaterializedView(entity.tableName, {\n\t\t\t\tdata: this.data.noData !== true,\n\t\t\t}, entity.view.sql)\n\t\t} else {\n\t\t\tbuilder.createView(entity.tableName, {}, entity.view.sql)\n\t\t}\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(({ model }) => ({\n\t\t\t...model,\n\t\t\tentities: {\n\t\t\t\t...model.entities,\n\t\t\t\t[this.data.entity.name]: {\n\t\t\t\t\teventLog: { enabled: true }, // not relevant here...\n\t\t\t\t\t...this.data.entity,\n\t\t\t\t\tunique: Object.values(this.data.entity.unique),\n\t\t\t\t\tindexes: Object.values(this.data.entity.indexes ?? []),\n\t\t\t\t},\n\t\t\t},\n\t\t}))\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Add view ${this.data.entity.name}` }\n\t}\n}\n\nexport const createViewModification = createModificationType({\n\tid: 'createView',\n\thandler: CreateViewModificationHandler,\n})\n\nexport class CreateViewDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\tconst newViews = Object.values(updatedSchema.model.entities)\n\t\t\t.filter(it => !originalSchema.model.entities[it.name])\n\t\t\t.filter(it => !!it.view)\n\t\tconst created = new Set<string>()\n\t\tconst modifications: Migration.Modification[] = []\n\t\tconst cascadeCreate = (entity: Model.Entity) => {\n\t\t\tif (originalSchema.model.entities[entity.name] || created.has(entity.name)) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tcreated.add(entity.name)\n\t\t\tfor (const dependency of entity.view?.dependencies ?? []) {\n\t\t\t\tcascadeCreate(updatedSchema.model.entities[dependency])\n\t\t\t}\n\t\t\tmodifications.push(createViewModification.createModification({\n\t\t\t\tentity: {\n\t\t\t\t\t...entity,\n\t\t\t\t\tindexes: [],\n\t\t\t\t\tunique: [],\n\t\t\t\t},\n\t\t\t}))\n\t\t}\n\t\tfor (const view of newViews) {\n\t\t\tcascadeCreate(view)\n\t\t}\n\t\treturn modifications\n\t}\n}\n\nexport interface CreateViewModificationData {\n\tentity: PossibleEntityShapeInMigrations\n\tnoData?: boolean\n}\n"],"names":["updateModel","createModificationType"],"mappings":";;;;AAOO,MAAM,8BAAyF;AAAA,EACrG,YAA6B,MAAmD,QAAgB;AAAnE,SAAA,OAAA;AAAmD,SAAA,SAAA;AAAA,EAAiB;AAAA,EAE1F,UAAU,SAAiC;AACjD,UAAM,SAAS,KAAK,KAAK;AACzB,QAAI,CAAC,OAAO,MAAM;AACjB,YAAM,IAAI,MAAA;AAAA,IACX;AACA,QAAI,OAAO,KAAK,cAAc;AAC7B,cAAQ,uBAAuB,OAAO,WAAW;AAAA,QAChD,MAAM,KAAK,KAAK,WAAW;AAAA,MAAA,GACzB,OAAO,KAAK,GAAG;AAAA,IACnB,OAAO;AACN,cAAQ,WAAW,OAAO,WAAW,CAAA,GAAI,OAAO,KAAK,GAAG;AAAA,IACzD;AAAA,EACD;AAAA,EAEO,mBAAkC;AACxC,WAAOA,kBAAAA,YAAY,CAAC,EAAE,aAAa;AAAA,MAClC,GAAG;AAAA,MACH,UAAU;AAAA,QACT,GAAG,MAAM;AAAA,QACT,CAAC,KAAK,KAAK,OAAO,IAAI,GAAG;AAAA,UACxB,UAAU,EAAE,SAAS,KAAA;AAAA;AAAA,UACrB,GAAG,KAAK,KAAK;AAAA,UACb,QAAQ,OAAO,OAAO,KAAK,KAAK,OAAO,MAAM;AAAA,UAC7C,SAAS,OAAO,OAAO,KAAK,KAAK,OAAO,WAAW,CAAA,CAAE;AAAA,QAAA;AAAA,MACtD;AAAA,IACD,EACC;AAAA,EACH;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,YAAY,KAAK,KAAK,OAAO,IAAI,GAAA;AAAA,EACpD;AACD;AAEO,MAAM,yBAAyBC,oBAAAA,uBAAuB;AAAA,EAC5D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,iBAAmC;AAAA,EAC/C,WAAW,gBAAwB,eAAuB;AACzD,UAAM,WAAW,OAAO,OAAO,cAAc,MAAM,QAAQ,EACzD,OAAO,CAAA,OAAM,CAAC,eAAe,MAAM,SAAS,GAAG,IAAI,CAAC,EACpD,OAAO,CAAA,OAAM,CAAC,CAAC,GAAG,IAAI;AACxB,UAAM,8BAAc,IAAA;AACpB,UAAM,gBAA0C,CAAA;AAChD,UAAM,gBAAgB,CAAC,WAAyB;AAC/C,UAAI,eAAe,MAAM,SAAS,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,GAAG;AAC3E;AAAA,MACD;AACA,cAAQ,IAAI,OAAO,IAAI;AACvB,iBAAW,cAAc,OAAO,MAAM,gBAAgB,CAAA,GAAI;AACzD,sBAAc,cAAc,MAAM,SAAS,UAAU,CAAC;AAAA,MACvD;AACA,oBAAc,KAAK,uBAAuB,mBAAmB;AAAA,QAC5D,QAAQ;AAAA,UACP,GAAG;AAAA,UACH,SAAS,CAAA;AAAA,UACT,QAAQ,CAAA;AAAA,QAAC;AAAA,MACV,CACA,CAAC;AAAA,IACH;AACA,eAAW,QAAQ,UAAU;AAC5B,oBAAc,IAAI;AAAA,IACnB;AACA,WAAO;AAAA,EACR;AACD;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"CreateViewModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/CreateViewModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport { Migration } from '../../Migration'\nimport { PossibleEntityShapeInMigrations } from '../../utils/PartialEntity.js'\n\nexport class CreateViewModificationHandler implements ModificationHandler<CreateViewModificationData> {\n\tconstructor(private readonly data: CreateViewModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = this.data.entity\n\t\tif (!entity.view) {\n\t\t\tthrow new Error()\n\t\t}\n\t\tif (entity.view.materialized) {\n\t\t\tbuilder.createMaterializedView(entity.tableName, {\n\t\t\t\tdata: this.data.noData !== true,\n\t\t\t}, entity.view.sql)\n\t\t} else {\n\t\t\tbuilder.createView(entity.tableName, {}, entity.view.sql)\n\t\t}\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(({ model }) => ({\n\t\t\t...model,\n\t\t\tentities: {\n\t\t\t\t...model.entities,\n\t\t\t\t[this.data.entity.name]: {\n\t\t\t\t\teventLog: { enabled: true }, // not relevant here...\n\t\t\t\t\t...this.data.entity,\n\t\t\t\t\tunique: Object.values(this.data.entity.unique),\n\t\t\t\t\tindexes: Object.values(this.data.entity.indexes ?? []),\n\t\t\t\t},\n\t\t\t},\n\t\t}))\n\t}\n\n\n\tdescribe() {\n\t\treturn { message: `Add view ${this.data.entity.name}` }\n\t}\n}\n\nexport const createViewModification = createModificationType({\n\tid: 'createView',\n\thandler: CreateViewModificationHandler,\n})\n\nexport class CreateViewDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\tconst newViews = Object.values(updatedSchema.model.entities)\n\t\t\t.filter(it => !originalSchema.model.entities[it.name])\n\t\t\t.filter(it => !!it.view)\n\t\tconst created = new Set<string>()\n\t\tconst modifications: Migration.Modification[] = []\n\t\tconst cascadeCreate = (entity: Model.Entity) => {\n\t\t\tif (originalSchema.model.entities[entity.name] || created.has(entity.name)) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tcreated.add(entity.name)\n\t\t\tfor (const dependency of entity.view?.dependencies ?? []) {\n\t\t\t\tcascadeCreate(updatedSchema.model.entities[dependency])\n\t\t\t}\n\t\t\tmodifications.push(createViewModification.createModification({\n\t\t\t\tentity: {\n\t\t\t\t\t...entity,\n\t\t\t\t\tindexes: [],\n\t\t\t\t\tunique: [],\n\t\t\t\t},\n\t\t\t}))\n\t\t}\n\t\tfor (const view of newViews) {\n\t\t\tcascadeCreate(view)\n\t\t}\n\t\treturn modifications\n\t}\n}\n\nexport interface CreateViewModificationData {\n\tentity: PossibleEntityShapeInMigrations\n\tnoData?: boolean\n}\n"],"names":[],"mappings":";;AAOO,MAAM,8BAAyF;AAAA,EACrG,YAA6B,MAAmD,QAAgB;AAAnE,SAAA,OAAA;AAAmD,SAAA,SAAA;AAAA,EAAA;AAAA,EAEzE,UAAU,SAAiC;AAC3C,UAAA,SAAS,KAAK,KAAK;AACrB,QAAA,CAAC,OAAO,MAAM;AACjB,YAAM,IAAI,MAAM;AAAA,IAAA;AAEb,QAAA,OAAO,KAAK,cAAc;AACrB,cAAA,uBAAuB,OAAO,WAAW;AAAA,QAChD,MAAM,KAAK,KAAK,WAAW;AAAA,MAAA,GACzB,OAAO,KAAK,GAAG;AAAA,IAAA,OACZ;AACN,cAAQ,WAAW,OAAO,WAAW,CAAA,GAAI,OAAO,KAAK,GAAG;AAAA,IAAA;AAAA,EACzD;AAAA,EAGM,mBAAkC;AACxC,WAAO,YAAY,CAAC,EAAE,aAAa;AAAA,MAClC,GAAG;AAAA,MACH,UAAU;AAAA,QACT,GAAG,MAAM;AAAA,QACT,CAAC,KAAK,KAAK,OAAO,IAAI,GAAG;AAAA,UACxB,UAAU,EAAE,SAAS,KAAK;AAAA;AAAA,UAC1B,GAAG,KAAK,KAAK;AAAA,UACb,QAAQ,OAAO,OAAO,KAAK,KAAK,OAAO,MAAM;AAAA,UAC7C,SAAS,OAAO,OAAO,KAAK,KAAK,OAAO,WAAW,CAAE,CAAA;AAAA,QAAA;AAAA,MACtD;AAAA,IACD,EACC;AAAA,EAAA;AAAA,EAIH,WAAW;AACV,WAAO,EAAE,SAAS,YAAY,KAAK,KAAK,OAAO,IAAI,GAAG;AAAA,EAAA;AAExD;AAEO,MAAM,yBAAyB,uBAAuB;AAAA,EAC5D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,iBAAmC;AAAA,EAC/C,WAAW,gBAAwB,eAAuB;AACnD,UAAA,WAAW,OAAO,OAAO,cAAc,MAAM,QAAQ,EACzD,OAAO,CAAA,OAAM,CAAC,eAAe,MAAM,SAAS,GAAG,IAAI,CAAC,EACpD,OAAO,CAAM,OAAA,CAAC,CAAC,GAAG,IAAI;AAClB,UAAA,8BAAc,IAAY;AAChC,UAAM,gBAA0C,CAAC;AAC3C,UAAA,gBAAgB,CAAC,WAAyB;AAC3C,UAAA,eAAe,MAAM,SAAS,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,GAAG;AAC3E;AAAA,MAAA;AAEO,cAAA,IAAI,OAAO,IAAI;AACvB,iBAAW,cAAc,OAAO,MAAM,gBAAgB,CAAA,GAAI;AACzD,sBAAc,cAAc,MAAM,SAAS,UAAU,CAAC;AAAA,MAAA;AAEzC,oBAAA,KAAK,uBAAuB,mBAAmB;AAAA,QAC5D,QAAQ;AAAA,UACP,GAAG;AAAA,UACH,SAAS,CAAC;AAAA,UACV,QAAQ,CAAA;AAAA,QAAC;AAAA,MACV,CACA,CAAC;AAAA,IACH;AACA,eAAW,QAAQ,UAAU;AAC5B,oBAAc,IAAI;AAAA,IAAA;AAEZ,WAAA;AAAA,EAAA;AAET;"}
1
+ {"version":3,"file":"CreateViewModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/CreateViewModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport { Migration } from '../../Migration'\nimport { PossibleEntityShapeInMigrations } from '../../utils/PartialEntity.js'\n\nexport class CreateViewModificationHandler implements ModificationHandler<CreateViewModificationData> {\n\tconstructor(private readonly data: CreateViewModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = this.data.entity\n\t\tif (!entity.view) {\n\t\t\tthrow new Error()\n\t\t}\n\t\tif (entity.view.materialized) {\n\t\t\tbuilder.createMaterializedView(entity.tableName, {\n\t\t\t\tdata: this.data.noData !== true,\n\t\t\t}, entity.view.sql)\n\t\t} else {\n\t\t\tbuilder.createView(entity.tableName, {}, entity.view.sql)\n\t\t}\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(({ model }) => ({\n\t\t\t...model,\n\t\t\tentities: {\n\t\t\t\t...model.entities,\n\t\t\t\t[this.data.entity.name]: {\n\t\t\t\t\teventLog: { enabled: true }, // not relevant here...\n\t\t\t\t\t...this.data.entity,\n\t\t\t\t\tunique: Object.values(this.data.entity.unique),\n\t\t\t\t\tindexes: Object.values(this.data.entity.indexes ?? []),\n\t\t\t\t},\n\t\t\t},\n\t\t}))\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Add view ${this.data.entity.name}` }\n\t}\n}\n\nexport const createViewModification = createModificationType({\n\tid: 'createView',\n\thandler: CreateViewModificationHandler,\n})\n\nexport class CreateViewDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\tconst newViews = Object.values(updatedSchema.model.entities)\n\t\t\t.filter(it => !originalSchema.model.entities[it.name])\n\t\t\t.filter(it => !!it.view)\n\t\tconst created = new Set<string>()\n\t\tconst modifications: Migration.Modification[] = []\n\t\tconst cascadeCreate = (entity: Model.Entity) => {\n\t\t\tif (originalSchema.model.entities[entity.name] || created.has(entity.name)) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tcreated.add(entity.name)\n\t\t\tfor (const dependency of entity.view?.dependencies ?? []) {\n\t\t\t\tcascadeCreate(updatedSchema.model.entities[dependency])\n\t\t\t}\n\t\t\tmodifications.push(createViewModification.createModification({\n\t\t\t\tentity: {\n\t\t\t\t\t...entity,\n\t\t\t\t\tindexes: [],\n\t\t\t\t\tunique: [],\n\t\t\t\t},\n\t\t\t}))\n\t\t}\n\t\tfor (const view of newViews) {\n\t\t\tcascadeCreate(view)\n\t\t}\n\t\treturn modifications\n\t}\n}\n\nexport interface CreateViewModificationData {\n\tentity: PossibleEntityShapeInMigrations\n\tnoData?: boolean\n}\n"],"names":[],"mappings":";;AAOO,MAAM,8BAAyF;AAAA,EACrG,YAA6B,MAAmD,QAAgB;AAAnE,SAAA,OAAA;AAAmD,SAAA,SAAA;AAAA,EAAiB;AAAA,EAE1F,UAAU,SAAiC;AACjD,UAAM,SAAS,KAAK,KAAK;AACzB,QAAI,CAAC,OAAO,MAAM;AACjB,YAAM,IAAI,MAAA;AAAA,IACX;AACA,QAAI,OAAO,KAAK,cAAc;AAC7B,cAAQ,uBAAuB,OAAO,WAAW;AAAA,QAChD,MAAM,KAAK,KAAK,WAAW;AAAA,MAAA,GACzB,OAAO,KAAK,GAAG;AAAA,IACnB,OAAO;AACN,cAAQ,WAAW,OAAO,WAAW,CAAA,GAAI,OAAO,KAAK,GAAG;AAAA,IACzD;AAAA,EACD;AAAA,EAEO,mBAAkC;AACxC,WAAO,YAAY,CAAC,EAAE,aAAa;AAAA,MAClC,GAAG;AAAA,MACH,UAAU;AAAA,QACT,GAAG,MAAM;AAAA,QACT,CAAC,KAAK,KAAK,OAAO,IAAI,GAAG;AAAA,UACxB,UAAU,EAAE,SAAS,KAAA;AAAA;AAAA,UACrB,GAAG,KAAK,KAAK;AAAA,UACb,QAAQ,OAAO,OAAO,KAAK,KAAK,OAAO,MAAM;AAAA,UAC7C,SAAS,OAAO,OAAO,KAAK,KAAK,OAAO,WAAW,CAAA,CAAE;AAAA,QAAA;AAAA,MACtD;AAAA,IACD,EACC;AAAA,EACH;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,YAAY,KAAK,KAAK,OAAO,IAAI,GAAA;AAAA,EACpD;AACD;AAEO,MAAM,yBAAyB,uBAAuB;AAAA,EAC5D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,iBAAmC;AAAA,EAC/C,WAAW,gBAAwB,eAAuB;AACzD,UAAM,WAAW,OAAO,OAAO,cAAc,MAAM,QAAQ,EACzD,OAAO,CAAA,OAAM,CAAC,eAAe,MAAM,SAAS,GAAG,IAAI,CAAC,EACpD,OAAO,CAAA,OAAM,CAAC,CAAC,GAAG,IAAI;AACxB,UAAM,8BAAc,IAAA;AACpB,UAAM,gBAA0C,CAAA;AAChD,UAAM,gBAAgB,CAAC,WAAyB;AAC/C,UAAI,eAAe,MAAM,SAAS,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,GAAG;AAC3E;AAAA,MACD;AACA,cAAQ,IAAI,OAAO,IAAI;AACvB,iBAAW,cAAc,OAAO,MAAM,gBAAgB,CAAA,GAAI;AACzD,sBAAc,cAAc,MAAM,SAAS,UAAU,CAAC;AAAA,MACvD;AACA,oBAAc,KAAK,uBAAuB,mBAAmB;AAAA,QAC5D,QAAQ;AAAA,UACP,GAAG;AAAA,UACH,SAAS,CAAA;AAAA,UACT,QAAQ,CAAA;AAAA,QAAC;AAAA,MACV,CACA,CAAC;AAAA,IACH;AACA,eAAW,QAAQ,UAAU;AAC5B,oBAAc,IAAI;AAAA,IACnB;AACA,WAAO;AAAA,EACR;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"RemoveEntityModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/RemoveEntityModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Acl, Model, Schema } from '@contember/schema'\nimport {\n\tremoveField,\n\tSchemaUpdater,\n\tupdateAcl,\n\tupdateAclEntities,\n\tupdateAclEveryEntity,\n\tupdateAclEveryPredicate,\n\tupdateAclEveryRole,\n\tupdateModel,\n\tupdateSchema,\n} from '../utils/schemaUpdateUtils'\nimport {\n\tcreateModificationType,\n\tDiffer,\n\tModificationHandler, ModificationHandlerCreateSqlOptions,\n\tModificationHandlerOptions,\n} from '../ModificationHandler'\nimport { VERSION_ACL_PATCH, VERSION_REMOVE_REFERENCING_RELATIONS } from '../ModificationVersions'\nimport { acceptEveryFieldVisitor, isInverseRelation, isRelation, PredicateDefinitionProcessor } from '@contember/schema-utils'\nimport { removeFieldModification } from '../fields'\n\nexport class RemoveEntityModificationHandler implements ModificationHandler<RemoveEntityModificationData> {\n\tconstructor(\n\t\tprivate readonly data: RemoveEntityModificationData,\n\t\tprivate readonly schema: Schema,\n\t\tprivate readonly options: ModificationHandlerOptions,\n\t) {}\n\n\tpublic createSql(builder: MigrationBuilder, options: ModificationHandlerCreateSqlOptions): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\tif (entity.view.materialized) {\n\t\t\t\tbuilder.dropMaterializedView(entity.tableName)\n\t\t\t} else {\n\t\t\t\tbuilder.dropView(entity.tableName)\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tif (this.options.formatVersion >= VERSION_REMOVE_REFERENCING_RELATIONS) {\n\t\t\tthis.getFieldsToRemove(this.schema).forEach(([entityName, fieldName]) => {\n\t\t\t\tconst removeFieldHandler = removeFieldModification.createHandler({ entityName, fieldName }, this.schema, this.options)\n\t\t\t\tremoveFieldHandler.createSql(builder, options)\n\t\t\t})\n\t\t}\n\t\tacceptEveryFieldVisitor(this.schema.model, entity, {\n\t\t\tvisitManyHasManyOwning: ({ relation }) => {\n\t\t\t\tbuilder.dropTable(relation.joiningTable.tableName)\n\t\t\t},\n\t\t\tvisitManyHasManyInverse: () => {},\n\t\t\tvisitColumn: () => {},\n\t\t\tvisitOneHasOneInverse: () => {},\n\t\t\tvisitOneHasOneOwning: () => {},\n\t\t\tvisitManyHasOne: () => {},\n\t\t\tvisitOneHasMany: () => {},\n\t\t})\n\t\tbuilder.dropTable(entity.tableName)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateSchema(\n\t\t\tthis.options.formatVersion >= VERSION_ACL_PATCH\n\t\t\t\t? updateAcl(\n\t\t\t\t\tupdateAclEveryRole(\n\t\t\t\t\t\t({ role }) => ({\n\t\t\t\t\t\t\t...role,\n\t\t\t\t\t\t\tvariables: Object.fromEntries(\n\t\t\t\t\t\t\t\tObject.entries(role.variables).filter(([, variable]) =>\n\t\t\t\t\t\t\t\t\tvariable.type !== Acl.VariableType.entity || variable.entityName !== this.data.entityName,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tupdateAclEntities(({ entities }) => {\n\t\t\t\t\t\t\tconst { [this.data.entityName]: removed, ...other } = entities\n\t\t\t\t\t\t\treturn other\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tupdateAclEveryEntity(\n\t\t\t\t\t\t\tupdateAclEveryPredicate(({ predicate, entityName, schema }) => {\n\t\t\t\t\t\t\t\tconst processor = new PredicateDefinitionProcessor(schema.model)\n\t\t\t\t\t\t\t\tconst currentEntity = schema.model.entities[entityName]\n\t\t\t\t\t\t\t\treturn processor.process(currentEntity, predicate, {\n\t\t\t\t\t\t\t\t\thandleColumn: ctx => {\n\t\t\t\t\t\t\t\t\t\treturn ctx.entity.name === this.data.entityName ? undefined : ctx.value\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\thandleRelation: ctx => {\n\t\t\t\t\t\t\t\t\t\treturn ctx.entity.name === this.data.entityName ? undefined : ctx.value\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t )\n\t\t\t\t: undefined,\n\t\t\tthis.options.formatVersion >= VERSION_REMOVE_REFERENCING_RELATIONS\n\t\t\t\t? ({ schema }) => {\n\t\t\t\t\tconst fieldsToRemove = this.getFieldsToRemove(schema)\n\t\t\t\t\treturn fieldsToRemove.reduce(\n\t\t\t\t\t\t(schema, [entity, field]) => removeField(entity, field, this.options.formatVersion)({ schema }),\n\t\t\t\t\t\tschema,\n\t\t\t\t\t)\n\t\t\t\t }\n\t\t\t\t: undefined,\n\t\t\tupdateModel(({ model }) => {\n\t\t\t\tconst { [this.data.entityName]: removed, ...entities } = model.entities\n\t\t\t\treturn {\n\t\t\t\t\t...model,\n\t\t\t\t\tentities: { ...entities },\n\t\t\t\t}\n\t\t\t}),\n\t\t)\n\t}\n\n\tprivate getFieldsToRemove(schema: Schema): [entity: string, field: string][] {\n\t\treturn Object.values(schema.model.entities).flatMap(entity =>\n\t\t\tObject.values(entity.fields)\n\t\t\t\t.filter((field): field is Model.AnyRelation => isRelation(field) && field.target === this.data.entityName)\n\t\t\t\t.filter(field => !isInverseRelation(field) || entity.name !== this.data.entityName) // skip self-referencing inverse relations\n\t\t\t\t.map((field): [string, string] => [entity.name, field.name]),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Remove entity ${this.data.entityName}`, isDestructive: true }\n\t}\n\n}\n\nexport interface RemoveEntityModificationData {\n\tentityName: string\n}\n\nexport const removeEntityModification = createModificationType({\n\tid: 'removeEntity',\n\thandler: RemoveEntityModificationHandler,\n})\n\nexport class RemoveEntityDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.keys(originalSchema.model.entities)\n\t\t\t.filter(name => !updatedSchema.model.entities[name])\n\t\t\t.map(entityName => removeEntityModification.createModification({ entityName }))\n\t}\n}\n"],"names":["schema","VERSION_REMOVE_REFERENCING_RELATIONS","removeFieldModification","acceptEveryFieldVisitor","updateSchema","VERSION_ACL_PATCH","updateAcl","updateAclEveryRole","Acl","updateAclEntities","updateAclEveryEntity","updateAclEveryPredicate","PredicateDefinitionProcessor","removeField","updateModel","isRelation","isInverseRelation","createModificationType"],"mappings":"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"}
1
+ {"version":3,"file":"RemoveEntityModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/RemoveEntityModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Acl, Model, Schema } from '@contember/schema'\nimport {\n\tremoveField,\n\tSchemaUpdater,\n\tupdateAcl,\n\tupdateAclEntities,\n\tupdateAclEveryEntity,\n\tupdateAclEveryPredicate,\n\tupdateAclEveryRole,\n\tupdateModel,\n\tupdateSchema,\n} from '../utils/schemaUpdateUtils'\nimport {\n\tcreateModificationType,\n\tDiffer,\n\tModificationHandler,\n\tModificationHandlerCreateSqlOptions,\n\tModificationHandlerOptions,\n} from '../ModificationHandler'\nimport { VERSION_ACL_PATCH, VERSION_REMOVE_REFERENCING_RELATIONS } from '../ModificationVersions'\nimport { acceptEveryFieldVisitor, isInverseRelation, isRelation, PredicateDefinitionProcessor } from '@contember/schema-utils'\nimport { removeFieldModification } from '../fields'\n\nexport class RemoveEntityModificationHandler implements ModificationHandler<RemoveEntityModificationData> {\n\tconstructor(\n\t\tprivate readonly data: RemoveEntityModificationData,\n\t\tprivate readonly schema: Schema,\n\t\tprivate readonly options: ModificationHandlerOptions,\n\t) {}\n\n\tpublic createSql(builder: MigrationBuilder, options: ModificationHandlerCreateSqlOptions): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\tif (entity.view.materialized) {\n\t\t\t\tbuilder.dropMaterializedView(entity.tableName)\n\t\t\t} else {\n\t\t\t\tbuilder.dropView(entity.tableName)\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tif (this.options.formatVersion >= VERSION_REMOVE_REFERENCING_RELATIONS) {\n\t\t\tthis.getFieldsToRemove(this.schema).forEach(([entityName, fieldName]) => {\n\t\t\t\tconst removeFieldHandler = removeFieldModification.createHandler({ entityName, fieldName }, this.schema, this.options)\n\t\t\t\tremoveFieldHandler.createSql(builder, options)\n\t\t\t})\n\t\t}\n\t\tacceptEveryFieldVisitor(this.schema.model, entity, {\n\t\t\tvisitManyHasManyOwning: ({ relation }) => {\n\t\t\t\tbuilder.dropTable(relation.joiningTable.tableName)\n\t\t\t},\n\t\t\tvisitManyHasManyInverse: () => {},\n\t\t\tvisitColumn: () => {},\n\t\t\tvisitOneHasOneInverse: () => {},\n\t\t\tvisitOneHasOneOwning: () => {},\n\t\t\tvisitManyHasOne: () => {},\n\t\t\tvisitOneHasMany: () => {},\n\t\t})\n\t\tbuilder.dropTable(entity.tableName)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateSchema(\n\t\t\tthis.options.formatVersion >= VERSION_ACL_PATCH\n\t\t\t\t? updateAcl(\n\t\t\t\t\tupdateAclEveryRole(\n\t\t\t\t\t\t({ role }) => ({\n\t\t\t\t\t\t\t...role,\n\t\t\t\t\t\t\tvariables: Object.fromEntries(\n\t\t\t\t\t\t\t\tObject.entries(role.variables).filter(([, variable]) =>\n\t\t\t\t\t\t\t\t\tvariable.type !== Acl.VariableType.entity || variable.entityName !== this.data.entityName\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tupdateAclEntities(({ entities }) => {\n\t\t\t\t\t\t\tconst { [this.data.entityName]: removed, ...other } = entities\n\t\t\t\t\t\t\treturn other\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tupdateAclEveryEntity(\n\t\t\t\t\t\t\tupdateAclEveryPredicate(({ predicate, entityName, schema }) => {\n\t\t\t\t\t\t\t\tconst processor = new PredicateDefinitionProcessor(schema.model)\n\t\t\t\t\t\t\t\tconst currentEntity = schema.model.entities[entityName]\n\t\t\t\t\t\t\t\treturn processor.process(currentEntity, predicate, {\n\t\t\t\t\t\t\t\t\thandleColumn: ctx => {\n\t\t\t\t\t\t\t\t\t\treturn ctx.entity.name === this.data.entityName ? undefined : ctx.value\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\thandleRelation: ctx => {\n\t\t\t\t\t\t\t\t\t\treturn ctx.entity.name === this.data.entityName ? undefined : ctx.value\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t)\n\t\t\t\t: undefined,\n\t\t\tthis.options.formatVersion >= VERSION_REMOVE_REFERENCING_RELATIONS\n\t\t\t\t? ({ schema }) => {\n\t\t\t\t\tconst fieldsToRemove = this.getFieldsToRemove(schema)\n\t\t\t\t\treturn fieldsToRemove.reduce(\n\t\t\t\t\t\t(schema, [entity, field]) => removeField(entity, field, this.options.formatVersion)({ schema }),\n\t\t\t\t\t\tschema,\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\t: undefined,\n\t\t\tupdateModel(({ model }) => {\n\t\t\t\tconst { [this.data.entityName]: removed, ...entities } = model.entities\n\t\t\t\treturn {\n\t\t\t\t\t...model,\n\t\t\t\t\tentities: { ...entities },\n\t\t\t\t}\n\t\t\t}),\n\t\t)\n\t}\n\n\tprivate getFieldsToRemove(schema: Schema): [entity: string, field: string][] {\n\t\treturn Object.values(schema.model.entities).flatMap(entity =>\n\t\t\tObject.values(entity.fields)\n\t\t\t\t.filter((field): field is Model.AnyRelation => isRelation(field) && field.target === this.data.entityName)\n\t\t\t\t.filter(field => !isInverseRelation(field) || entity.name !== this.data.entityName) // skip self-referencing inverse relations\n\t\t\t\t.map((field): [string, string] => [entity.name, field.name])\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Remove entity ${this.data.entityName}`, isDestructive: true }\n\t}\n}\n\nexport interface RemoveEntityModificationData {\n\tentityName: string\n}\n\nexport const removeEntityModification = createModificationType({\n\tid: 'removeEntity',\n\thandler: RemoveEntityModificationHandler,\n})\n\nexport class RemoveEntityDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.keys(originalSchema.model.entities)\n\t\t\t.filter(name => !updatedSchema.model.entities[name])\n\t\t\t.map(entityName => removeEntityModification.createModification({ entityName }))\n\t}\n}\n"],"names":["schema","VERSION_REMOVE_REFERENCING_RELATIONS","removeFieldModification","acceptEveryFieldVisitor","updateSchema","VERSION_ACL_PATCH","updateAcl","updateAclEveryRole","Acl","updateAclEntities","updateAclEveryEntity","updateAclEveryPredicate","PredicateDefinitionProcessor","removeField","updateModel","isRelation","isInverseRelation","createModificationType"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Acl } from "@contember/schema";
2
- import { updateSchema, removeField, updateAcl, updateModel, updateAclEveryRole, updateAclEveryEntity, updateAclEntities, updateAclEveryPredicate } from "../utils/schemaUpdateUtils.js";
2
+ import { updateSchema, updateModel, removeField, updateAcl, updateAclEveryRole, updateAclEveryEntity, updateAclEntities, updateAclEveryPredicate } from "../utils/schemaUpdateUtils.js";
3
3
  import { createModificationType } from "../ModificationHandler.js";
4
4
  import { VERSION_REMOVE_REFERENCING_RELATIONS, VERSION_ACL_PATCH } from "../ModificationVersions.js";
5
5
  import { acceptEveryFieldVisitor, isRelation, isInverseRelation, PredicateDefinitionProcessor } from "@contember/schema-utils";
@@ -1 +1 @@
1
- {"version":3,"file":"RemoveEntityModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/RemoveEntityModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Acl, Model, Schema } from '@contember/schema'\nimport {\n\tremoveField,\n\tSchemaUpdater,\n\tupdateAcl,\n\tupdateAclEntities,\n\tupdateAclEveryEntity,\n\tupdateAclEveryPredicate,\n\tupdateAclEveryRole,\n\tupdateModel,\n\tupdateSchema,\n} from '../utils/schemaUpdateUtils'\nimport {\n\tcreateModificationType,\n\tDiffer,\n\tModificationHandler, ModificationHandlerCreateSqlOptions,\n\tModificationHandlerOptions,\n} from '../ModificationHandler'\nimport { VERSION_ACL_PATCH, VERSION_REMOVE_REFERENCING_RELATIONS } from '../ModificationVersions'\nimport { acceptEveryFieldVisitor, isInverseRelation, isRelation, PredicateDefinitionProcessor } from '@contember/schema-utils'\nimport { removeFieldModification } from '../fields'\n\nexport class RemoveEntityModificationHandler implements ModificationHandler<RemoveEntityModificationData> {\n\tconstructor(\n\t\tprivate readonly data: RemoveEntityModificationData,\n\t\tprivate readonly schema: Schema,\n\t\tprivate readonly options: ModificationHandlerOptions,\n\t) {}\n\n\tpublic createSql(builder: MigrationBuilder, options: ModificationHandlerCreateSqlOptions): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\tif (entity.view.materialized) {\n\t\t\t\tbuilder.dropMaterializedView(entity.tableName)\n\t\t\t} else {\n\t\t\t\tbuilder.dropView(entity.tableName)\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tif (this.options.formatVersion >= VERSION_REMOVE_REFERENCING_RELATIONS) {\n\t\t\tthis.getFieldsToRemove(this.schema).forEach(([entityName, fieldName]) => {\n\t\t\t\tconst removeFieldHandler = removeFieldModification.createHandler({ entityName, fieldName }, this.schema, this.options)\n\t\t\t\tremoveFieldHandler.createSql(builder, options)\n\t\t\t})\n\t\t}\n\t\tacceptEveryFieldVisitor(this.schema.model, entity, {\n\t\t\tvisitManyHasManyOwning: ({ relation }) => {\n\t\t\t\tbuilder.dropTable(relation.joiningTable.tableName)\n\t\t\t},\n\t\t\tvisitManyHasManyInverse: () => {},\n\t\t\tvisitColumn: () => {},\n\t\t\tvisitOneHasOneInverse: () => {},\n\t\t\tvisitOneHasOneOwning: () => {},\n\t\t\tvisitManyHasOne: () => {},\n\t\t\tvisitOneHasMany: () => {},\n\t\t})\n\t\tbuilder.dropTable(entity.tableName)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateSchema(\n\t\t\tthis.options.formatVersion >= VERSION_ACL_PATCH\n\t\t\t\t? updateAcl(\n\t\t\t\t\tupdateAclEveryRole(\n\t\t\t\t\t\t({ role }) => ({\n\t\t\t\t\t\t\t...role,\n\t\t\t\t\t\t\tvariables: Object.fromEntries(\n\t\t\t\t\t\t\t\tObject.entries(role.variables).filter(([, variable]) =>\n\t\t\t\t\t\t\t\t\tvariable.type !== Acl.VariableType.entity || variable.entityName !== this.data.entityName,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tupdateAclEntities(({ entities }) => {\n\t\t\t\t\t\t\tconst { [this.data.entityName]: removed, ...other } = entities\n\t\t\t\t\t\t\treturn other\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tupdateAclEveryEntity(\n\t\t\t\t\t\t\tupdateAclEveryPredicate(({ predicate, entityName, schema }) => {\n\t\t\t\t\t\t\t\tconst processor = new PredicateDefinitionProcessor(schema.model)\n\t\t\t\t\t\t\t\tconst currentEntity = schema.model.entities[entityName]\n\t\t\t\t\t\t\t\treturn processor.process(currentEntity, predicate, {\n\t\t\t\t\t\t\t\t\thandleColumn: ctx => {\n\t\t\t\t\t\t\t\t\t\treturn ctx.entity.name === this.data.entityName ? undefined : ctx.value\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\thandleRelation: ctx => {\n\t\t\t\t\t\t\t\t\t\treturn ctx.entity.name === this.data.entityName ? undefined : ctx.value\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t )\n\t\t\t\t: undefined,\n\t\t\tthis.options.formatVersion >= VERSION_REMOVE_REFERENCING_RELATIONS\n\t\t\t\t? ({ schema }) => {\n\t\t\t\t\tconst fieldsToRemove = this.getFieldsToRemove(schema)\n\t\t\t\t\treturn fieldsToRemove.reduce(\n\t\t\t\t\t\t(schema, [entity, field]) => removeField(entity, field, this.options.formatVersion)({ schema }),\n\t\t\t\t\t\tschema,\n\t\t\t\t\t)\n\t\t\t\t }\n\t\t\t\t: undefined,\n\t\t\tupdateModel(({ model }) => {\n\t\t\t\tconst { [this.data.entityName]: removed, ...entities } = model.entities\n\t\t\t\treturn {\n\t\t\t\t\t...model,\n\t\t\t\t\tentities: { ...entities },\n\t\t\t\t}\n\t\t\t}),\n\t\t)\n\t}\n\n\tprivate getFieldsToRemove(schema: Schema): [entity: string, field: string][] {\n\t\treturn Object.values(schema.model.entities).flatMap(entity =>\n\t\t\tObject.values(entity.fields)\n\t\t\t\t.filter((field): field is Model.AnyRelation => isRelation(field) && field.target === this.data.entityName)\n\t\t\t\t.filter(field => !isInverseRelation(field) || entity.name !== this.data.entityName) // skip self-referencing inverse relations\n\t\t\t\t.map((field): [string, string] => [entity.name, field.name]),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Remove entity ${this.data.entityName}`, isDestructive: true }\n\t}\n\n}\n\nexport interface RemoveEntityModificationData {\n\tentityName: string\n}\n\nexport const removeEntityModification = createModificationType({\n\tid: 'removeEntity',\n\thandler: RemoveEntityModificationHandler,\n})\n\nexport class RemoveEntityDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.keys(originalSchema.model.entities)\n\t\t\t.filter(name => !updatedSchema.model.entities[name])\n\t\t\t.map(entityName => removeEntityModification.createModification({ entityName }))\n\t}\n}\n"],"names":["schema"],"mappings":"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"}
1
+ {"version":3,"file":"RemoveEntityModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/RemoveEntityModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Acl, Model, Schema } from '@contember/schema'\nimport {\n\tremoveField,\n\tSchemaUpdater,\n\tupdateAcl,\n\tupdateAclEntities,\n\tupdateAclEveryEntity,\n\tupdateAclEveryPredicate,\n\tupdateAclEveryRole,\n\tupdateModel,\n\tupdateSchema,\n} from '../utils/schemaUpdateUtils'\nimport {\n\tcreateModificationType,\n\tDiffer,\n\tModificationHandler,\n\tModificationHandlerCreateSqlOptions,\n\tModificationHandlerOptions,\n} from '../ModificationHandler'\nimport { VERSION_ACL_PATCH, VERSION_REMOVE_REFERENCING_RELATIONS } from '../ModificationVersions'\nimport { acceptEveryFieldVisitor, isInverseRelation, isRelation, PredicateDefinitionProcessor } from '@contember/schema-utils'\nimport { removeFieldModification } from '../fields'\n\nexport class RemoveEntityModificationHandler implements ModificationHandler<RemoveEntityModificationData> {\n\tconstructor(\n\t\tprivate readonly data: RemoveEntityModificationData,\n\t\tprivate readonly schema: Schema,\n\t\tprivate readonly options: ModificationHandlerOptions,\n\t) {}\n\n\tpublic createSql(builder: MigrationBuilder, options: ModificationHandlerCreateSqlOptions): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\tif (entity.view.materialized) {\n\t\t\t\tbuilder.dropMaterializedView(entity.tableName)\n\t\t\t} else {\n\t\t\t\tbuilder.dropView(entity.tableName)\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tif (this.options.formatVersion >= VERSION_REMOVE_REFERENCING_RELATIONS) {\n\t\t\tthis.getFieldsToRemove(this.schema).forEach(([entityName, fieldName]) => {\n\t\t\t\tconst removeFieldHandler = removeFieldModification.createHandler({ entityName, fieldName }, this.schema, this.options)\n\t\t\t\tremoveFieldHandler.createSql(builder, options)\n\t\t\t})\n\t\t}\n\t\tacceptEveryFieldVisitor(this.schema.model, entity, {\n\t\t\tvisitManyHasManyOwning: ({ relation }) => {\n\t\t\t\tbuilder.dropTable(relation.joiningTable.tableName)\n\t\t\t},\n\t\t\tvisitManyHasManyInverse: () => {},\n\t\t\tvisitColumn: () => {},\n\t\t\tvisitOneHasOneInverse: () => {},\n\t\t\tvisitOneHasOneOwning: () => {},\n\t\t\tvisitManyHasOne: () => {},\n\t\t\tvisitOneHasMany: () => {},\n\t\t})\n\t\tbuilder.dropTable(entity.tableName)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateSchema(\n\t\t\tthis.options.formatVersion >= VERSION_ACL_PATCH\n\t\t\t\t? updateAcl(\n\t\t\t\t\tupdateAclEveryRole(\n\t\t\t\t\t\t({ role }) => ({\n\t\t\t\t\t\t\t...role,\n\t\t\t\t\t\t\tvariables: Object.fromEntries(\n\t\t\t\t\t\t\t\tObject.entries(role.variables).filter(([, variable]) =>\n\t\t\t\t\t\t\t\t\tvariable.type !== Acl.VariableType.entity || variable.entityName !== this.data.entityName\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tupdateAclEntities(({ entities }) => {\n\t\t\t\t\t\t\tconst { [this.data.entityName]: removed, ...other } = entities\n\t\t\t\t\t\t\treturn other\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tupdateAclEveryEntity(\n\t\t\t\t\t\t\tupdateAclEveryPredicate(({ predicate, entityName, schema }) => {\n\t\t\t\t\t\t\t\tconst processor = new PredicateDefinitionProcessor(schema.model)\n\t\t\t\t\t\t\t\tconst currentEntity = schema.model.entities[entityName]\n\t\t\t\t\t\t\t\treturn processor.process(currentEntity, predicate, {\n\t\t\t\t\t\t\t\t\thandleColumn: ctx => {\n\t\t\t\t\t\t\t\t\t\treturn ctx.entity.name === this.data.entityName ? undefined : ctx.value\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\thandleRelation: ctx => {\n\t\t\t\t\t\t\t\t\t\treturn ctx.entity.name === this.data.entityName ? undefined : ctx.value\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t)\n\t\t\t\t: undefined,\n\t\t\tthis.options.formatVersion >= VERSION_REMOVE_REFERENCING_RELATIONS\n\t\t\t\t? ({ schema }) => {\n\t\t\t\t\tconst fieldsToRemove = this.getFieldsToRemove(schema)\n\t\t\t\t\treturn fieldsToRemove.reduce(\n\t\t\t\t\t\t(schema, [entity, field]) => removeField(entity, field, this.options.formatVersion)({ schema }),\n\t\t\t\t\t\tschema,\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\t: undefined,\n\t\t\tupdateModel(({ model }) => {\n\t\t\t\tconst { [this.data.entityName]: removed, ...entities } = model.entities\n\t\t\t\treturn {\n\t\t\t\t\t...model,\n\t\t\t\t\tentities: { ...entities },\n\t\t\t\t}\n\t\t\t}),\n\t\t)\n\t}\n\n\tprivate getFieldsToRemove(schema: Schema): [entity: string, field: string][] {\n\t\treturn Object.values(schema.model.entities).flatMap(entity =>\n\t\t\tObject.values(entity.fields)\n\t\t\t\t.filter((field): field is Model.AnyRelation => isRelation(field) && field.target === this.data.entityName)\n\t\t\t\t.filter(field => !isInverseRelation(field) || entity.name !== this.data.entityName) // skip self-referencing inverse relations\n\t\t\t\t.map((field): [string, string] => [entity.name, field.name])\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Remove entity ${this.data.entityName}`, isDestructive: true }\n\t}\n}\n\nexport interface RemoveEntityModificationData {\n\tentityName: string\n}\n\nexport const removeEntityModification = createModificationType({\n\tid: 'removeEntity',\n\thandler: RemoveEntityModificationHandler,\n})\n\nexport class RemoveEntityDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.keys(originalSchema.model.entities)\n\t\t\t.filter(name => !updatedSchema.model.entities[name])\n\t\t\t.map(entityName => removeEntityModification.createModification({ entityName }))\n\t}\n}\n"],"names":["schema"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleEventLogModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/ToggleEventLogModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\nimport {\n\tcreateModificationType,\n\tDiffer,\n\tModificationHandler,\n\tModificationHandlerCreateSqlOptions,\n\tModificationHandlerOptions,\n} from '../ModificationHandler'\nimport {\n\tcreateEventTrigger,\n\tcreateEventTrxTrigger,\n\tdropEventTrigger,\n\tdropEventTrxTrigger,\n} from '../utils/sqlUpdateUtils'\n\nexport class ToggleEventLogModificationHandler implements ModificationHandler<ToggleEventLogModificationData> {\n\n\tconstructor(\n\t\tprivate readonly data: ToggleEventLogModificationData,\n\t\tprivate readonly schema: Schema,\n\t\tprivate readonly options: ModificationHandlerOptions,\n\t) {\n\t}\n\n\tpublic createSql(builder: MigrationBuilder, { systemSchema }: ModificationHandlerCreateSqlOptions): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tif (this.data.enabled) {\n\t\t\tcreateEventTrigger(builder, systemSchema, entity.tableName, [entity.primaryColumn])\n\t\t\tcreateEventTrxTrigger(builder, systemSchema, entity.tableName)\n\t\t} else {\n\t\t\tdropEventTrigger(builder, entity.tableName)\n\t\t\tdropEventTrxTrigger(builder, entity.tableName)\n\t\t}\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, enabled } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tentityName,\n\t\t\t\t({ entity: { eventLog, ...entity } }) => ({\n\t\t\t\t\t...entity,\n\t\t\t\t\teventLog: { enabled },\n\t\t\t\t}),\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn {\n\t\t\tmessage: `${this.data.enabled ? 'Enable' : 'Disable'} event log for ${this.data.entityName}`,\n\t\t}\n\t}\n}\n\nexport interface ToggleEventLogModificationData {\n\tentityName: string\n\tenabled: boolean\n}\n\nexport const toggleEventLogModification = createModificationType({\n\tid: 'toggleEventLog',\n\thandler: ToggleEventLogModificationHandler,\n})\n\nexport class ToggleEventLogDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.values(updatedSchema.model.entities)\n\t\t\t.flatMap(updatedEntity => {\n\t\t\t\tconst origEntity = originalSchema.model.entities[updatedEntity.name]\n\t\t\t\tif (!origEntity) {\n\t\t\t\t\treturn []\n\t\t\t\t}\n\t\t\t\tconst newValue = updatedEntity.eventLog.enabled\n\t\t\t\tconst oldValue = origEntity.eventLog.enabled\n\t\t\t\tif (newValue !== oldValue) {\n\t\t\t\t\treturn [toggleEventLogModification.createModification({\n\t\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\t\tenabled: newValue,\n\t\t\t\t\t})]\n\t\t\t\t}\n\t\t\t\treturn []\n\t\t\t})\n\n\t}\n}\n"],"names":["createEventTrigger","createEventTrxTrigger","dropEventTrigger","dropEventTrxTrigger","updateModel","updateEntity","createModificationType"],"mappings":";;;;;AAiBO,MAAM,kCAAiG;AAAA,EAE7G,YACkB,MACA,QACA,SAChB;AAHgB,SAAA,OAAA;AACA,SAAA,SAAA;AACA,SAAA,UAAA;AAAA,EAAA;AAAA,EAIX,UAAU,SAA2B,EAAE,gBAA2D;AACxG,UAAM,SAAS,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,UAAU;AAC9D,QAAI,OAAO,MAAM;AAChB;AAAA,IAAA;AAEG,QAAA,KAAK,KAAK,SAAS;AACtBA,qBAAA,mBAAmB,SAAS,cAAc,OAAO,WAAW,CAAC,OAAO,aAAa,CAAC;AAC5DC,qBAAAA,sBAAA,SAAS,cAAc,OAAO,SAAS;AAAA,IAAA,OACvD;AACWC,sCAAA,SAAS,OAAO,SAAS;AACtBC,yCAAA,SAAS,OAAO,SAAS;AAAA,IAAA;AAAA,EAC9C;AAAA,EAGM,mBAAkC;AACxC,UAAM,EAAE,YAAY,QAAQ,IAAI,KAAK;AAC9B,WAAAC,kBAAA;AAAA,MACNC,kBAAA;AAAA,QACC;AAAA,QACA,CAAC,EAAE,QAAQ,EAAE,UAAU,GAAG,gBAAgB;AAAA,UACzC,GAAG;AAAA,UACH,UAAU,EAAE,QAAQ;AAAA,QACrB;AAAA,MAAA;AAAA,IAEF;AAAA,EAAA;AAAA,EAGD,WAAW;AACH,WAAA;AAAA,MACN,SAAS,GAAG,KAAK,KAAK,UAAU,WAAW,SAAS,kBAAkB,KAAK,KAAK,UAAU;AAAA,IAC3F;AAAA,EAAA;AAEF;AAOO,MAAM,6BAA6BC,oBAAAA,uBAAuB;AAAA,EAChE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,qBAAuC;AAAA,EACnD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,OAAO,cAAc,MAAM,QAAQ,EAC/C,QAAQ,CAAiB,kBAAA;AACzB,YAAM,aAAa,eAAe,MAAM,SAAS,cAAc,IAAI;AACnE,UAAI,CAAC,YAAY;AAChB,eAAO,CAAC;AAAA,MAAA;AAEH,YAAA,WAAW,cAAc,SAAS;AAClC,YAAA,WAAW,WAAW,SAAS;AACrC,UAAI,aAAa,UAAU;AACnB,eAAA,CAAC,2BAA2B,mBAAmB;AAAA,UACrD,YAAY,cAAc;AAAA,UAC1B,SAAS;AAAA,QAAA,CACT,CAAC;AAAA,MAAA;AAEH,aAAO,CAAC;AAAA,IAAA,CACR;AAAA,EAAA;AAGJ;;;;"}
1
+ {"version":3,"file":"ToggleEventLogModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/ToggleEventLogModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\nimport {\n\tcreateModificationType,\n\tDiffer,\n\tModificationHandler,\n\tModificationHandlerCreateSqlOptions,\n\tModificationHandlerOptions,\n} from '../ModificationHandler'\nimport { createEventTrigger, createEventTrxTrigger, dropEventTrigger, dropEventTrxTrigger } from '../utils/sqlUpdateUtils'\n\nexport class ToggleEventLogModificationHandler implements ModificationHandler<ToggleEventLogModificationData> {\n\tconstructor(\n\t\tprivate readonly data: ToggleEventLogModificationData,\n\t\tprivate readonly schema: Schema,\n\t\tprivate readonly options: ModificationHandlerOptions,\n\t) {\n\t}\n\n\tpublic createSql(builder: MigrationBuilder, { systemSchema }: ModificationHandlerCreateSqlOptions): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tif (this.data.enabled) {\n\t\t\tcreateEventTrigger(builder, systemSchema, entity.tableName, [entity.primaryColumn])\n\t\t\tcreateEventTrxTrigger(builder, systemSchema, entity.tableName)\n\t\t} else {\n\t\t\tdropEventTrigger(builder, entity.tableName)\n\t\t\tdropEventTrxTrigger(builder, entity.tableName)\n\t\t}\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, enabled } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tentityName,\n\t\t\t\t({ entity: { eventLog, ...entity } }) => ({\n\t\t\t\t\t...entity,\n\t\t\t\t\teventLog: { enabled },\n\t\t\t\t}),\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn {\n\t\t\tmessage: `${this.data.enabled ? 'Enable' : 'Disable'} event log for ${this.data.entityName}`,\n\t\t}\n\t}\n}\n\nexport interface ToggleEventLogModificationData {\n\tentityName: string\n\tenabled: boolean\n}\n\nexport const toggleEventLogModification = createModificationType({\n\tid: 'toggleEventLog',\n\thandler: ToggleEventLogModificationHandler,\n})\n\nexport class ToggleEventLogDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.values(updatedSchema.model.entities)\n\t\t\t.flatMap(updatedEntity => {\n\t\t\t\tconst origEntity = originalSchema.model.entities[updatedEntity.name]\n\t\t\t\tif (!origEntity) {\n\t\t\t\t\treturn []\n\t\t\t\t}\n\t\t\t\tconst newValue = updatedEntity.eventLog.enabled\n\t\t\t\tconst oldValue = origEntity.eventLog.enabled\n\t\t\t\tif (newValue !== oldValue) {\n\t\t\t\t\treturn [toggleEventLogModification.createModification({\n\t\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\t\tenabled: newValue,\n\t\t\t\t\t})]\n\t\t\t\t}\n\t\t\t\treturn []\n\t\t\t})\n\t}\n}\n"],"names":["createEventTrigger","createEventTrxTrigger","dropEventTrigger","dropEventTrxTrigger","updateModel","updateEntity","createModificationType"],"mappings":";;;;;AAYO,MAAM,kCAAiG;AAAA,EAC7G,YACkB,MACA,QACA,SAChB;AAHgB,SAAA,OAAA;AACA,SAAA,SAAA;AACA,SAAA,UAAA;AAAA,EAElB;AAAA,EAEO,UAAU,SAA2B,EAAE,gBAA2D;AACxG,UAAM,SAAS,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,UAAU;AAC9D,QAAI,OAAO,MAAM;AAChB;AAAA,IACD;AACA,QAAI,KAAK,KAAK,SAAS;AACtBA,qBAAAA,mBAAmB,SAAS,cAAc,OAAO,WAAW,CAAC,OAAO,aAAa,CAAC;AAClFC,qBAAAA,sBAAsB,SAAS,cAAc,OAAO,SAAS;AAAA,IAC9D,OAAO;AACNC,sCAAiB,SAAS,OAAO,SAAS;AAC1CC,yCAAoB,SAAS,OAAO,SAAS;AAAA,IAC9C;AAAA,EACD;AAAA,EAEO,mBAAkC;AACxC,UAAM,EAAE,YAAY,QAAA,IAAY,KAAK;AACrC,WAAOC,kBAAAA;AAAAA,MACNC,kBAAAA;AAAAA,QACC;AAAA,QACA,CAAC,EAAE,QAAQ,EAAE,UAAU,GAAG,OAAA,SAAgB;AAAA,UACzC,GAAG;AAAA,UACH,UAAU,EAAE,QAAA;AAAA,QAAQ;AAAA,MACrB;AAAA,IACD;AAAA,EAEF;AAAA,EAEA,WAAW;AACV,WAAO;AAAA,MACN,SAAS,GAAG,KAAK,KAAK,UAAU,WAAW,SAAS,kBAAkB,KAAK,KAAK,UAAU;AAAA,IAAA;AAAA,EAE5F;AACD;AAOO,MAAM,6BAA6BC,oBAAAA,uBAAuB;AAAA,EAChE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,qBAAuC;AAAA,EACnD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,OAAO,cAAc,MAAM,QAAQ,EAC/C,QAAQ,CAAA,kBAAiB;AACzB,YAAM,aAAa,eAAe,MAAM,SAAS,cAAc,IAAI;AACnE,UAAI,CAAC,YAAY;AAChB,eAAO,CAAA;AAAA,MACR;AACA,YAAM,WAAW,cAAc,SAAS;AACxC,YAAM,WAAW,WAAW,SAAS;AACrC,UAAI,aAAa,UAAU;AAC1B,eAAO,CAAC,2BAA2B,mBAAmB;AAAA,UACrD,YAAY,cAAc;AAAA,UAC1B,SAAS;AAAA,QAAA,CACT,CAAC;AAAA,MACH;AACA,aAAO,CAAA;AAAA,IACR,CAAC;AAAA,EACH;AACD;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleEventLogModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/ToggleEventLogModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\nimport {\n\tcreateModificationType,\n\tDiffer,\n\tModificationHandler,\n\tModificationHandlerCreateSqlOptions,\n\tModificationHandlerOptions,\n} from '../ModificationHandler'\nimport {\n\tcreateEventTrigger,\n\tcreateEventTrxTrigger,\n\tdropEventTrigger,\n\tdropEventTrxTrigger,\n} from '../utils/sqlUpdateUtils'\n\nexport class ToggleEventLogModificationHandler implements ModificationHandler<ToggleEventLogModificationData> {\n\n\tconstructor(\n\t\tprivate readonly data: ToggleEventLogModificationData,\n\t\tprivate readonly schema: Schema,\n\t\tprivate readonly options: ModificationHandlerOptions,\n\t) {\n\t}\n\n\tpublic createSql(builder: MigrationBuilder, { systemSchema }: ModificationHandlerCreateSqlOptions): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tif (this.data.enabled) {\n\t\t\tcreateEventTrigger(builder, systemSchema, entity.tableName, [entity.primaryColumn])\n\t\t\tcreateEventTrxTrigger(builder, systemSchema, entity.tableName)\n\t\t} else {\n\t\t\tdropEventTrigger(builder, entity.tableName)\n\t\t\tdropEventTrxTrigger(builder, entity.tableName)\n\t\t}\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, enabled } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tentityName,\n\t\t\t\t({ entity: { eventLog, ...entity } }) => ({\n\t\t\t\t\t...entity,\n\t\t\t\t\teventLog: { enabled },\n\t\t\t\t}),\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn {\n\t\t\tmessage: `${this.data.enabled ? 'Enable' : 'Disable'} event log for ${this.data.entityName}`,\n\t\t}\n\t}\n}\n\nexport interface ToggleEventLogModificationData {\n\tentityName: string\n\tenabled: boolean\n}\n\nexport const toggleEventLogModification = createModificationType({\n\tid: 'toggleEventLog',\n\thandler: ToggleEventLogModificationHandler,\n})\n\nexport class ToggleEventLogDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.values(updatedSchema.model.entities)\n\t\t\t.flatMap(updatedEntity => {\n\t\t\t\tconst origEntity = originalSchema.model.entities[updatedEntity.name]\n\t\t\t\tif (!origEntity) {\n\t\t\t\t\treturn []\n\t\t\t\t}\n\t\t\t\tconst newValue = updatedEntity.eventLog.enabled\n\t\t\t\tconst oldValue = origEntity.eventLog.enabled\n\t\t\t\tif (newValue !== oldValue) {\n\t\t\t\t\treturn [toggleEventLogModification.createModification({\n\t\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\t\tenabled: newValue,\n\t\t\t\t\t})]\n\t\t\t\t}\n\t\t\t\treturn []\n\t\t\t})\n\n\t}\n}\n"],"names":[],"mappings":";;;AAiBO,MAAM,kCAAiG;AAAA,EAE7G,YACkB,MACA,QACA,SAChB;AAHgB,SAAA,OAAA;AACA,SAAA,SAAA;AACA,SAAA,UAAA;AAAA,EAAA;AAAA,EAIX,UAAU,SAA2B,EAAE,gBAA2D;AACxG,UAAM,SAAS,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,UAAU;AAC9D,QAAI,OAAO,MAAM;AAChB;AAAA,IAAA;AAEG,QAAA,KAAK,KAAK,SAAS;AACtB,yBAAmB,SAAS,cAAc,OAAO,WAAW,CAAC,OAAO,aAAa,CAAC;AAC5D,4BAAA,SAAS,cAAc,OAAO,SAAS;AAAA,IAAA,OACvD;AACW,uBAAA,SAAS,OAAO,SAAS;AACtB,0BAAA,SAAS,OAAO,SAAS;AAAA,IAAA;AAAA,EAC9C;AAAA,EAGM,mBAAkC;AACxC,UAAM,EAAE,YAAY,QAAQ,IAAI,KAAK;AAC9B,WAAA;AAAA,MACN;AAAA,QACC;AAAA,QACA,CAAC,EAAE,QAAQ,EAAE,UAAU,GAAG,gBAAgB;AAAA,UACzC,GAAG;AAAA,UACH,UAAU,EAAE,QAAQ;AAAA,QACrB;AAAA,MAAA;AAAA,IAEF;AAAA,EAAA;AAAA,EAGD,WAAW;AACH,WAAA;AAAA,MACN,SAAS,GAAG,KAAK,KAAK,UAAU,WAAW,SAAS,kBAAkB,KAAK,KAAK,UAAU;AAAA,IAC3F;AAAA,EAAA;AAEF;AAOO,MAAM,6BAA6B,uBAAuB;AAAA,EAChE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,qBAAuC;AAAA,EACnD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,OAAO,cAAc,MAAM,QAAQ,EAC/C,QAAQ,CAAiB,kBAAA;AACzB,YAAM,aAAa,eAAe,MAAM,SAAS,cAAc,IAAI;AACnE,UAAI,CAAC,YAAY;AAChB,eAAO,CAAC;AAAA,MAAA;AAEH,YAAA,WAAW,cAAc,SAAS;AAClC,YAAA,WAAW,WAAW,SAAS;AACrC,UAAI,aAAa,UAAU;AACnB,eAAA,CAAC,2BAA2B,mBAAmB;AAAA,UACrD,YAAY,cAAc;AAAA,UAC1B,SAAS;AAAA,QAAA,CACT,CAAC;AAAA,MAAA;AAEH,aAAO,CAAC;AAAA,IAAA,CACR;AAAA,EAAA;AAGJ;"}
1
+ {"version":3,"file":"ToggleEventLogModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/ToggleEventLogModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\nimport {\n\tcreateModificationType,\n\tDiffer,\n\tModificationHandler,\n\tModificationHandlerCreateSqlOptions,\n\tModificationHandlerOptions,\n} from '../ModificationHandler'\nimport { createEventTrigger, createEventTrxTrigger, dropEventTrigger, dropEventTrxTrigger } from '../utils/sqlUpdateUtils'\n\nexport class ToggleEventLogModificationHandler implements ModificationHandler<ToggleEventLogModificationData> {\n\tconstructor(\n\t\tprivate readonly data: ToggleEventLogModificationData,\n\t\tprivate readonly schema: Schema,\n\t\tprivate readonly options: ModificationHandlerOptions,\n\t) {\n\t}\n\n\tpublic createSql(builder: MigrationBuilder, { systemSchema }: ModificationHandlerCreateSqlOptions): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tif (this.data.enabled) {\n\t\t\tcreateEventTrigger(builder, systemSchema, entity.tableName, [entity.primaryColumn])\n\t\t\tcreateEventTrxTrigger(builder, systemSchema, entity.tableName)\n\t\t} else {\n\t\t\tdropEventTrigger(builder, entity.tableName)\n\t\t\tdropEventTrxTrigger(builder, entity.tableName)\n\t\t}\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, enabled } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tentityName,\n\t\t\t\t({ entity: { eventLog, ...entity } }) => ({\n\t\t\t\t\t...entity,\n\t\t\t\t\teventLog: { enabled },\n\t\t\t\t}),\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn {\n\t\t\tmessage: `${this.data.enabled ? 'Enable' : 'Disable'} event log for ${this.data.entityName}`,\n\t\t}\n\t}\n}\n\nexport interface ToggleEventLogModificationData {\n\tentityName: string\n\tenabled: boolean\n}\n\nexport const toggleEventLogModification = createModificationType({\n\tid: 'toggleEventLog',\n\thandler: ToggleEventLogModificationHandler,\n})\n\nexport class ToggleEventLogDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.values(updatedSchema.model.entities)\n\t\t\t.flatMap(updatedEntity => {\n\t\t\t\tconst origEntity = originalSchema.model.entities[updatedEntity.name]\n\t\t\t\tif (!origEntity) {\n\t\t\t\t\treturn []\n\t\t\t\t}\n\t\t\t\tconst newValue = updatedEntity.eventLog.enabled\n\t\t\t\tconst oldValue = origEntity.eventLog.enabled\n\t\t\t\tif (newValue !== oldValue) {\n\t\t\t\t\treturn [toggleEventLogModification.createModification({\n\t\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\t\tenabled: newValue,\n\t\t\t\t\t})]\n\t\t\t\t}\n\t\t\t\treturn []\n\t\t\t})\n\t}\n}\n"],"names":[],"mappings":";;;AAYO,MAAM,kCAAiG;AAAA,EAC7G,YACkB,MACA,QACA,SAChB;AAHgB,SAAA,OAAA;AACA,SAAA,SAAA;AACA,SAAA,UAAA;AAAA,EAElB;AAAA,EAEO,UAAU,SAA2B,EAAE,gBAA2D;AACxG,UAAM,SAAS,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,UAAU;AAC9D,QAAI,OAAO,MAAM;AAChB;AAAA,IACD;AACA,QAAI,KAAK,KAAK,SAAS;AACtB,yBAAmB,SAAS,cAAc,OAAO,WAAW,CAAC,OAAO,aAAa,CAAC;AAClF,4BAAsB,SAAS,cAAc,OAAO,SAAS;AAAA,IAC9D,OAAO;AACN,uBAAiB,SAAS,OAAO,SAAS;AAC1C,0BAAoB,SAAS,OAAO,SAAS;AAAA,IAC9C;AAAA,EACD;AAAA,EAEO,mBAAkC;AACxC,UAAM,EAAE,YAAY,QAAA,IAAY,KAAK;AACrC,WAAO;AAAA,MACN;AAAA,QACC;AAAA,QACA,CAAC,EAAE,QAAQ,EAAE,UAAU,GAAG,OAAA,SAAgB;AAAA,UACzC,GAAG;AAAA,UACH,UAAU,EAAE,QAAA;AAAA,QAAQ;AAAA,MACrB;AAAA,IACD;AAAA,EAEF;AAAA,EAEA,WAAW;AACV,WAAO;AAAA,MACN,SAAS,GAAG,KAAK,KAAK,UAAU,WAAW,SAAS,kBAAkB,KAAK,KAAK,UAAU;AAAA,IAAA;AAAA,EAE5F;AACD;AAOO,MAAM,6BAA6B,uBAAuB;AAAA,EAChE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,qBAAuC;AAAA,EACnD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,OAAO,cAAc,MAAM,QAAQ,EAC/C,QAAQ,CAAA,kBAAiB;AACzB,YAAM,aAAa,eAAe,MAAM,SAAS,cAAc,IAAI;AACnE,UAAI,CAAC,YAAY;AAChB,eAAO,CAAA;AAAA,MACR;AACA,YAAM,WAAW,cAAc,SAAS;AACxC,YAAM,WAAW,WAAW,SAAS;AACrC,UAAI,aAAa,UAAU;AAC1B,eAAO,CAAC,2BAA2B,mBAAmB;AAAA,UACrD,YAAY,cAAc;AAAA,UAC1B,SAAS;AAAA,QAAA,CACT,CAAC;AAAA,MACH;AACA,aAAO,CAAA;AAAA,IACR,CAAC;AAAA,EACH;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateEntityNameModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/UpdateEntityNameModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Acl, Model, Schema } from '@contember/schema'\nimport {\n\tSchemaUpdater,\n\tupdateAcl,\n\tupdateAclEntities,\n\tupdateAclEveryRole,\n\tupdateEveryEntity,\n\tupdateEveryField,\n\tupdateModel,\n\tupdateSchema,\n} from '../utils/schemaUpdateUtils'\nimport {\n\tcreateModificationType,\n\tModificationHandler,\n\tModificationHandlerCreateSqlOptions,\n\tModificationHandlerOptions,\n} from '../ModificationHandler'\nimport { isIt } from '../../utils/isIt'\nimport { VERSION_ACL_PATCH } from '../ModificationVersions'\nimport { NoopModification } from '../NoopModification'\nimport { changeValue } from '../utils/valueUtils'\nimport { updateEntityTableNameModification } from './UpdateEntityTableNameModification'\n\nexport class UpdateEntityNameModificationHandler implements ModificationHandler<UpdateEntityNameModificationData> {\n\tprivate subModification: ModificationHandler<any>\n\n\tconstructor(\n\t\tprivate readonly data: UpdateEntityNameModificationData,\n\t\tprivate readonly schema: Schema,\n\t\tprivate readonly options: ModificationHandlerOptions,\n\t) {\n\t\tthis.subModification = data.tableName\n\t\t\t? updateEntityTableNameModification.createHandler(\n\t\t\t\t{ entityName: data.entityName, tableName: data.tableName },\n\t\t\t\tschema,\n\t\t\t\tthis.options,\n\t\t\t )\n\t\t\t: new NoopModification()\n\t}\n\n\tpublic createSql(builder: MigrationBuilder, options: ModificationHandlerCreateSqlOptions): void {\n\t\tthis.subModification.createSql(builder, options)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateSchema(\n\t\t\tthis.subModification.getSchemaUpdater(),\n\t\t\tupdateModel(\n\t\t\t\tupdateEveryEntity(\n\t\t\t\t\tupdateEveryField(({ field }) => {\n\t\t\t\t\t\tif (isIt<Model.AnyRelation>(field, 'target') && field.target === this.data.entityName) {\n\t\t\t\t\t\t\treturn { ...field, target: this.data.newEntityName }\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn field\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t\t({ model }) => {\n\t\t\t\t\tconst { [this.data.entityName]: renamed, ...entities } = model.entities\n\t\t\t\t\tconst newEntities = {\n\t\t\t\t\t\t...entities,\n\t\t\t\t\t\t[this.data.newEntityName]: {\n\t\t\t\t\t\t\t...renamed,\n\t\t\t\t\t\t\tname: this.data.newEntityName,\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...model,\n\t\t\t\t\t\tentities: newEntities,\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t),\n\t\t\tthis.options.formatVersion >= VERSION_ACL_PATCH\n\t\t\t\t? updateAcl(\n\t\t\t\t\tupdateAclEveryRole(\n\t\t\t\t\t\t({ role }) => ({\n\t\t\t\t\t\t\t...role,\n\t\t\t\t\t\t\tvariables: Object.fromEntries(\n\t\t\t\t\t\t\t\tObject.entries(role.variables).map(([key, variable]) => {\n\t\t\t\t\t\t\t\t\tif (variable.type === Acl.VariableType.entity) {\n\t\t\t\t\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t...variable,\n\t\t\t\t\t\t\t\t\t\t\t\tentityName: changeValue(this.data.entityName, this.data.newEntityName)(variable.entityName),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn [key, variable]\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tupdateAclEntities(({ entities }) => {\n\t\t\t\t\t\t\tif (!entities[this.data.entityName]) {\n\t\t\t\t\t\t\t\treturn entities\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst { [this.data.entityName]: renamed, ...other } = entities\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t[this.data.newEntityName]: renamed,\n\t\t\t\t\t\t\t\t...other,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}),\n\t\t\t\t\t),\n\t\t\t\t )\n\t\t\t\t: undefined,\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Change entity name from ${this.data.entityName} to ${this.data.newEntityName}` }\n\t}\n}\n\nexport interface UpdateEntityNameModificationData {\n\tentityName: string\n\tnewEntityName: string\n\ttableName?: string\n}\n\nexport const updateEntityNameModification = createModificationType({\n\tid: 'updateEntityName',\n\thandler: UpdateEntityNameModificationHandler,\n})\n"],"names":["schema","updateEntityTableNameModification","NoopModification","updateSchema","updateModel","updateEveryEntity","updateEveryField","isIt","VERSION_ACL_PATCH","updateAcl","updateAclEveryRole","Acl","changeValue","updateAclEntities","createModificationType"],"mappings":";;;;;;;;;;;;;AAwBO,MAAM,oCAAqG;AAAA,EAGjH,YACkB,MACAA,SACA,SAChB;AAHgB,SAAA,OAAA;AACA,SAAA,SAAAA;AACA,SAAA,UAAA;AALV,kBAAA,MAAA,iBAAA;AAOF,SAAA,kBAAkB,KAAK,YACzBC,kCAAkC,kCAAA;AAAA,MACnC,EAAE,YAAY,KAAK,YAAY,WAAW,KAAK,UAAU;AAAA,MACzDD;AAAA,MACA,KAAK;AAAA,IACJ,IACA,IAAIE,iBAAAA,iBAAiB;AAAA,EAAA;AAAA,EAGlB,UAAU,SAA2B,SAAoD;AAC1F,SAAA,gBAAgB,UAAU,SAAS,OAAO;AAAA,EAAA;AAAA,EAGzC,mBAAkC;AACjC,WAAAC,kBAAA;AAAA,MACN,KAAK,gBAAgB,iBAAiB;AAAA,MACtCC,kBAAA;AAAA,QACCC,kBAAA;AAAA,UACCC,mCAAiB,CAAC,EAAE,YAAY;AAC3B,gBAAAC,KAAA,KAAwB,OAAO,QAAQ,KAAK,MAAM,WAAW,KAAK,KAAK,YAAY;AACtF,qBAAO,EAAE,GAAG,OAAO,QAAQ,KAAK,KAAK,cAAc;AAAA,YAAA;AAE7C,mBAAA;AAAA,UACP,CAAA;AAAA,QACF;AAAA,QACA,CAAC,EAAE,MAAA,MAAY;AACR,gBAAA,EAAE,CAAC,KAAK,KAAK,UAAU,GAAG,SAAS,GAAG,aAAa,MAAM;AAC/D,gBAAM,cAAc;AAAA,YACnB,GAAG;AAAA,YACH,CAAC,KAAK,KAAK,aAAa,GAAG;AAAA,cAC1B,GAAG;AAAA,cACH,MAAM,KAAK,KAAK;AAAA,YAAA;AAAA,UAElB;AACO,iBAAA;AAAA,YACN,GAAG;AAAA,YACH,UAAU;AAAA,UACX;AAAA,QAAA;AAAA,MAEF;AAAA,MACA,KAAK,QAAQ,iBAAiBC,qBAAAA,oBAC3BC,kBAAA;AAAA,QACDC,kBAAA;AAAA,UACC,CAAC,EAAE,KAAA,OAAY;AAAA,YACd,GAAG;AAAA,YACH,WAAW,OAAO;AAAA,cACjB,OAAO,QAAQ,KAAK,SAAS,EAAE,IAAI,CAAC,CAAC,KAAK,QAAQ,MAAM;AACvD,oBAAI,SAAS,SAASC,WAAI,aAAa,QAAQ;AACvC,yBAAA;AAAA,oBACN;AAAA,oBACA;AAAA,sBACC,GAAG;AAAA,sBACH,YAAYC,WAAAA,YAAY,KAAK,KAAK,YAAY,KAAK,KAAK,aAAa,EAAE,SAAS,UAAU;AAAA,oBAAA;AAAA,kBAE5F;AAAA,gBAAA;AAEM,uBAAA,CAAC,KAAK,QAAQ;AAAA,cACrB,CAAA;AAAA,YAAA;AAAA,UACF;AAAA,UAEDC,oCAAkB,CAAC,EAAE,eAAe;AACnC,gBAAI,CAAC,SAAS,KAAK,KAAK,UAAU,GAAG;AAC7B,qBAAA;AAAA,YAAA;AAEF,kBAAA,EAAE,CAAC,KAAK,KAAK,UAAU,GAAG,SAAS,GAAG,MAAA,IAAU;AAC/C,mBAAA;AAAA,cACN,CAAC,KAAK,KAAK,aAAa,GAAG;AAAA,cAC3B,GAAG;AAAA,YACJ;AAAA,UACA,CAAA;AAAA,QAAA;AAAA,MACF,IAEC;AAAA,IACJ;AAAA,EAAA;AAAA,EAGD,WAAW;AACH,WAAA,EAAE,SAAS,2BAA2B,KAAK,KAAK,UAAU,OAAO,KAAK,KAAK,aAAa,GAAG;AAAA,EAAA;AAEpG;AAQO,MAAM,+BAA+BC,oBAAAA,uBAAuB;AAAA,EAClE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;;;"}
1
+ {"version":3,"file":"UpdateEntityNameModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/UpdateEntityNameModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Acl, Model, Schema } from '@contember/schema'\nimport {\n\tSchemaUpdater,\n\tupdateAcl,\n\tupdateAclEntities,\n\tupdateAclEveryRole,\n\tupdateEveryEntity,\n\tupdateEveryField,\n\tupdateModel,\n\tupdateSchema,\n} from '../utils/schemaUpdateUtils'\nimport { createModificationType, ModificationHandler, ModificationHandlerCreateSqlOptions, ModificationHandlerOptions } from '../ModificationHandler'\nimport { isIt } from '../../utils/isIt'\nimport { VERSION_ACL_PATCH } from '../ModificationVersions'\nimport { NoopModification } from '../NoopModification'\nimport { changeValue } from '../utils/valueUtils'\nimport { updateEntityTableNameModification } from './UpdateEntityTableNameModification'\n\nexport class UpdateEntityNameModificationHandler implements ModificationHandler<UpdateEntityNameModificationData> {\n\tprivate subModification: ModificationHandler<any>\n\n\tconstructor(\n\t\tprivate readonly data: UpdateEntityNameModificationData,\n\t\tprivate readonly schema: Schema,\n\t\tprivate readonly options: ModificationHandlerOptions,\n\t) {\n\t\tthis.subModification = data.tableName\n\t\t\t? updateEntityTableNameModification.createHandler(\n\t\t\t\t{ entityName: data.entityName, tableName: data.tableName },\n\t\t\t\tschema,\n\t\t\t\tthis.options,\n\t\t\t)\n\t\t\t: new NoopModification()\n\t}\n\n\tpublic createSql(builder: MigrationBuilder, options: ModificationHandlerCreateSqlOptions): void {\n\t\tthis.subModification.createSql(builder, options)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateSchema(\n\t\t\tthis.subModification.getSchemaUpdater(),\n\t\t\tupdateModel(\n\t\t\t\tupdateEveryEntity(\n\t\t\t\t\tupdateEveryField(({ field }) => {\n\t\t\t\t\t\tif (isIt<Model.AnyRelation>(field, 'target') && field.target === this.data.entityName) {\n\t\t\t\t\t\t\treturn { ...field, target: this.data.newEntityName }\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn field\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t\t({ model }) => {\n\t\t\t\t\tconst { [this.data.entityName]: renamed, ...entities } = model.entities\n\t\t\t\t\tconst newEntities = {\n\t\t\t\t\t\t...entities,\n\t\t\t\t\t\t[this.data.newEntityName]: {\n\t\t\t\t\t\t\t...renamed,\n\t\t\t\t\t\t\tname: this.data.newEntityName,\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...model,\n\t\t\t\t\t\tentities: newEntities,\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t),\n\t\t\tthis.options.formatVersion >= VERSION_ACL_PATCH\n\t\t\t\t? updateAcl(\n\t\t\t\t\tupdateAclEveryRole(\n\t\t\t\t\t\t({ role }) => ({\n\t\t\t\t\t\t\t...role,\n\t\t\t\t\t\t\tvariables: Object.fromEntries(\n\t\t\t\t\t\t\t\tObject.entries(role.variables).map(([key, variable]) => {\n\t\t\t\t\t\t\t\t\tif (variable.type === Acl.VariableType.entity) {\n\t\t\t\t\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t...variable,\n\t\t\t\t\t\t\t\t\t\t\t\tentityName: changeValue(this.data.entityName, this.data.newEntityName)(variable.entityName),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn [key, variable]\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tupdateAclEntities(({ entities }) => {\n\t\t\t\t\t\t\tif (!entities[this.data.entityName]) {\n\t\t\t\t\t\t\t\treturn entities\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst { [this.data.entityName]: renamed, ...other } = entities\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t[this.data.newEntityName]: renamed,\n\t\t\t\t\t\t\t\t...other,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}),\n\t\t\t\t\t),\n\t\t\t\t)\n\t\t\t\t: undefined,\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Change entity name from ${this.data.entityName} to ${this.data.newEntityName}` }\n\t}\n}\n\nexport interface UpdateEntityNameModificationData {\n\tentityName: string\n\tnewEntityName: string\n\ttableName?: string\n}\n\nexport const updateEntityNameModification = createModificationType({\n\tid: 'updateEntityName',\n\thandler: UpdateEntityNameModificationHandler,\n})\n"],"names":["schema","updateEntityTableNameModification","NoopModification","updateSchema","updateModel","updateEveryEntity","updateEveryField","isIt","VERSION_ACL_PATCH","updateAcl","updateAclEveryRole","Acl","changeValue","updateAclEntities","createModificationType"],"mappings":";;;;;;;;;;;;;AAmBO,MAAM,oCAAqG;AAAA,EAGjH,YACkB,MACAA,SACA,SAChB;AAHgB,SAAA,OAAA;AACA,SAAA,SAAAA;AACA,SAAA,UAAA;AALlB,kBAAA,MAAQ,iBAAA;AAOP,SAAK,kBAAkB,KAAK,YACzBC,kCAAAA,kCAAkC;AAAA,MACnC,EAAE,YAAY,KAAK,YAAY,WAAW,KAAK,UAAA;AAAA,MAC/CD;AAAA,MACA,KAAK;AAAA,IAAA,IAEJ,IAAIE,iBAAAA,iBAAA;AAAA,EACR;AAAA,EAEO,UAAU,SAA2B,SAAoD;AAC/F,SAAK,gBAAgB,UAAU,SAAS,OAAO;AAAA,EAChD;AAAA,EAEO,mBAAkC;AACxC,WAAOC,kBAAAA;AAAAA,MACN,KAAK,gBAAgB,iBAAA;AAAA,MACrBC,kBAAAA;AAAAA,QACCC,kBAAAA;AAAAA,UACCC,mCAAiB,CAAC,EAAE,YAAY;AAC/B,gBAAIC,KAAAA,KAAwB,OAAO,QAAQ,KAAK,MAAM,WAAW,KAAK,KAAK,YAAY;AACtF,qBAAO,EAAE,GAAG,OAAO,QAAQ,KAAK,KAAK,cAAA;AAAA,YACtC;AACA,mBAAO;AAAA,UACR,CAAC;AAAA,QAAA;AAAA,QAEF,CAAC,EAAE,MAAA,MAAY;AACd,gBAAM,EAAE,CAAC,KAAK,KAAK,UAAU,GAAG,SAAS,GAAG,aAAa,MAAM;AAC/D,gBAAM,cAAc;AAAA,YACnB,GAAG;AAAA,YACH,CAAC,KAAK,KAAK,aAAa,GAAG;AAAA,cAC1B,GAAG;AAAA,cACH,MAAM,KAAK,KAAK;AAAA,YAAA;AAAA,UACjB;AAED,iBAAO;AAAA,YACN,GAAG;AAAA,YACH,UAAU;AAAA,UAAA;AAAA,QAEZ;AAAA,MAAA;AAAA,MAED,KAAK,QAAQ,iBAAiBC,qBAAAA,oBAC3BC,kBAAAA;AAAAA,QACDC,kBAAAA;AAAAA,UACC,CAAC,EAAE,KAAA,OAAY;AAAA,YACd,GAAG;AAAA,YACH,WAAW,OAAO;AAAA,cACjB,OAAO,QAAQ,KAAK,SAAS,EAAE,IAAI,CAAC,CAAC,KAAK,QAAQ,MAAM;AACvD,oBAAI,SAAS,SAASC,WAAI,aAAa,QAAQ;AAC9C,yBAAO;AAAA,oBACN;AAAA,oBACA;AAAA,sBACC,GAAG;AAAA,sBACH,YAAYC,WAAAA,YAAY,KAAK,KAAK,YAAY,KAAK,KAAK,aAAa,EAAE,SAAS,UAAU;AAAA,oBAAA;AAAA,kBAC3F;AAAA,gBAEF;AACA,uBAAO,CAAC,KAAK,QAAQ;AAAA,cACtB,CAAC;AAAA,YAAA;AAAA,UACF;AAAA,UAEDC,oCAAkB,CAAC,EAAE,eAAe;AACnC,gBAAI,CAAC,SAAS,KAAK,KAAK,UAAU,GAAG;AACpC,qBAAO;AAAA,YACR;AACA,kBAAM,EAAE,CAAC,KAAK,KAAK,UAAU,GAAG,SAAS,GAAG,MAAA,IAAU;AACtD,mBAAO;AAAA,cACN,CAAC,KAAK,KAAK,aAAa,GAAG;AAAA,cAC3B,GAAG;AAAA,YAAA;AAAA,UAEL,CAAC;AAAA,QAAA;AAAA,MACF,IAEC;AAAA,IAAA;AAAA,EAEL;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,2BAA2B,KAAK,KAAK,UAAU,OAAO,KAAK,KAAK,aAAa,GAAA;AAAA,EAChG;AACD;AAQO,MAAM,+BAA+BC,oBAAAA,uBAAuB;AAAA,EAClE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;;;"}
@@ -1,5 +1,5 @@
1
1
  import { Acl } from "@contember/schema";
2
- import { updateSchema, updateAcl, updateModel, updateAclEveryRole, updateEveryEntity, updateAclEntities, updateEveryField } from "../utils/schemaUpdateUtils.js";
2
+ import { updateSchema, updateAcl, updateAclEveryRole, updateModel, updateAclEntities, updateEveryEntity, updateEveryField } from "../utils/schemaUpdateUtils.js";
3
3
  import { createModificationType } from "../ModificationHandler.js";
4
4
  import { isIt } from "../../utils/isIt.js";
5
5
  import { VERSION_ACL_PATCH } from "../ModificationVersions.js";
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateEntityNameModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/UpdateEntityNameModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Acl, Model, Schema } from '@contember/schema'\nimport {\n\tSchemaUpdater,\n\tupdateAcl,\n\tupdateAclEntities,\n\tupdateAclEveryRole,\n\tupdateEveryEntity,\n\tupdateEveryField,\n\tupdateModel,\n\tupdateSchema,\n} from '../utils/schemaUpdateUtils'\nimport {\n\tcreateModificationType,\n\tModificationHandler,\n\tModificationHandlerCreateSqlOptions,\n\tModificationHandlerOptions,\n} from '../ModificationHandler'\nimport { isIt } from '../../utils/isIt'\nimport { VERSION_ACL_PATCH } from '../ModificationVersions'\nimport { NoopModification } from '../NoopModification'\nimport { changeValue } from '../utils/valueUtils'\nimport { updateEntityTableNameModification } from './UpdateEntityTableNameModification'\n\nexport class UpdateEntityNameModificationHandler implements ModificationHandler<UpdateEntityNameModificationData> {\n\tprivate subModification: ModificationHandler<any>\n\n\tconstructor(\n\t\tprivate readonly data: UpdateEntityNameModificationData,\n\t\tprivate readonly schema: Schema,\n\t\tprivate readonly options: ModificationHandlerOptions,\n\t) {\n\t\tthis.subModification = data.tableName\n\t\t\t? updateEntityTableNameModification.createHandler(\n\t\t\t\t{ entityName: data.entityName, tableName: data.tableName },\n\t\t\t\tschema,\n\t\t\t\tthis.options,\n\t\t\t )\n\t\t\t: new NoopModification()\n\t}\n\n\tpublic createSql(builder: MigrationBuilder, options: ModificationHandlerCreateSqlOptions): void {\n\t\tthis.subModification.createSql(builder, options)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateSchema(\n\t\t\tthis.subModification.getSchemaUpdater(),\n\t\t\tupdateModel(\n\t\t\t\tupdateEveryEntity(\n\t\t\t\t\tupdateEveryField(({ field }) => {\n\t\t\t\t\t\tif (isIt<Model.AnyRelation>(field, 'target') && field.target === this.data.entityName) {\n\t\t\t\t\t\t\treturn { ...field, target: this.data.newEntityName }\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn field\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t\t({ model }) => {\n\t\t\t\t\tconst { [this.data.entityName]: renamed, ...entities } = model.entities\n\t\t\t\t\tconst newEntities = {\n\t\t\t\t\t\t...entities,\n\t\t\t\t\t\t[this.data.newEntityName]: {\n\t\t\t\t\t\t\t...renamed,\n\t\t\t\t\t\t\tname: this.data.newEntityName,\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...model,\n\t\t\t\t\t\tentities: newEntities,\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t),\n\t\t\tthis.options.formatVersion >= VERSION_ACL_PATCH\n\t\t\t\t? updateAcl(\n\t\t\t\t\tupdateAclEveryRole(\n\t\t\t\t\t\t({ role }) => ({\n\t\t\t\t\t\t\t...role,\n\t\t\t\t\t\t\tvariables: Object.fromEntries(\n\t\t\t\t\t\t\t\tObject.entries(role.variables).map(([key, variable]) => {\n\t\t\t\t\t\t\t\t\tif (variable.type === Acl.VariableType.entity) {\n\t\t\t\t\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t...variable,\n\t\t\t\t\t\t\t\t\t\t\t\tentityName: changeValue(this.data.entityName, this.data.newEntityName)(variable.entityName),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn [key, variable]\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tupdateAclEntities(({ entities }) => {\n\t\t\t\t\t\t\tif (!entities[this.data.entityName]) {\n\t\t\t\t\t\t\t\treturn entities\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst { [this.data.entityName]: renamed, ...other } = entities\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t[this.data.newEntityName]: renamed,\n\t\t\t\t\t\t\t\t...other,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}),\n\t\t\t\t\t),\n\t\t\t\t )\n\t\t\t\t: undefined,\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Change entity name from ${this.data.entityName} to ${this.data.newEntityName}` }\n\t}\n}\n\nexport interface UpdateEntityNameModificationData {\n\tentityName: string\n\tnewEntityName: string\n\ttableName?: string\n}\n\nexport const updateEntityNameModification = createModificationType({\n\tid: 'updateEntityName',\n\thandler: UpdateEntityNameModificationHandler,\n})\n"],"names":[],"mappings":";;;;;;;;;;;AAwBO,MAAM,oCAAqG;AAAA,EAGjH,YACkB,MACA,QACA,SAChB;AAHgB,SAAA,OAAA;AACA,SAAA,SAAA;AACA,SAAA,UAAA;AALV,kBAAA,MAAA,iBAAA;AAOF,SAAA,kBAAkB,KAAK,YACzB,kCAAkC;AAAA,MACnC,EAAE,YAAY,KAAK,YAAY,WAAW,KAAK,UAAU;AAAA,MACzD;AAAA,MACA,KAAK;AAAA,IACJ,IACA,IAAI,iBAAiB;AAAA,EAAA;AAAA,EAGlB,UAAU,SAA2B,SAAoD;AAC1F,SAAA,gBAAgB,UAAU,SAAS,OAAO;AAAA,EAAA;AAAA,EAGzC,mBAAkC;AACjC,WAAA;AAAA,MACN,KAAK,gBAAgB,iBAAiB;AAAA,MACtC;AAAA,QACC;AAAA,UACC,iBAAiB,CAAC,EAAE,YAAY;AAC3B,gBAAA,KAAwB,OAAO,QAAQ,KAAK,MAAM,WAAW,KAAK,KAAK,YAAY;AACtF,qBAAO,EAAE,GAAG,OAAO,QAAQ,KAAK,KAAK,cAAc;AAAA,YAAA;AAE7C,mBAAA;AAAA,UACP,CAAA;AAAA,QACF;AAAA,QACA,CAAC,EAAE,MAAA,MAAY;AACR,gBAAA,EAAE,CAAC,KAAK,KAAK,UAAU,GAAG,SAAS,GAAG,aAAa,MAAM;AAC/D,gBAAM,cAAc;AAAA,YACnB,GAAG;AAAA,YACH,CAAC,KAAK,KAAK,aAAa,GAAG;AAAA,cAC1B,GAAG;AAAA,cACH,MAAM,KAAK,KAAK;AAAA,YAAA;AAAA,UAElB;AACO,iBAAA;AAAA,YACN,GAAG;AAAA,YACH,UAAU;AAAA,UACX;AAAA,QAAA;AAAA,MAEF;AAAA,MACA,KAAK,QAAQ,iBAAiB,oBAC3B;AAAA,QACD;AAAA,UACC,CAAC,EAAE,KAAA,OAAY;AAAA,YACd,GAAG;AAAA,YACH,WAAW,OAAO;AAAA,cACjB,OAAO,QAAQ,KAAK,SAAS,EAAE,IAAI,CAAC,CAAC,KAAK,QAAQ,MAAM;AACvD,oBAAI,SAAS,SAAS,IAAI,aAAa,QAAQ;AACvC,yBAAA;AAAA,oBACN;AAAA,oBACA;AAAA,sBACC,GAAG;AAAA,sBACH,YAAY,YAAY,KAAK,KAAK,YAAY,KAAK,KAAK,aAAa,EAAE,SAAS,UAAU;AAAA,oBAAA;AAAA,kBAE5F;AAAA,gBAAA;AAEM,uBAAA,CAAC,KAAK,QAAQ;AAAA,cACrB,CAAA;AAAA,YAAA;AAAA,UACF;AAAA,UAED,kBAAkB,CAAC,EAAE,eAAe;AACnC,gBAAI,CAAC,SAAS,KAAK,KAAK,UAAU,GAAG;AAC7B,qBAAA;AAAA,YAAA;AAEF,kBAAA,EAAE,CAAC,KAAK,KAAK,UAAU,GAAG,SAAS,GAAG,MAAA,IAAU;AAC/C,mBAAA;AAAA,cACN,CAAC,KAAK,KAAK,aAAa,GAAG;AAAA,cAC3B,GAAG;AAAA,YACJ;AAAA,UACA,CAAA;AAAA,QAAA;AAAA,MACF,IAEC;AAAA,IACJ;AAAA,EAAA;AAAA,EAGD,WAAW;AACH,WAAA,EAAE,SAAS,2BAA2B,KAAK,KAAK,UAAU,OAAO,KAAK,KAAK,aAAa,GAAG;AAAA,EAAA;AAEpG;AAQO,MAAM,+BAA+B,uBAAuB;AAAA,EAClE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;"}
1
+ {"version":3,"file":"UpdateEntityNameModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/UpdateEntityNameModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Acl, Model, Schema } from '@contember/schema'\nimport {\n\tSchemaUpdater,\n\tupdateAcl,\n\tupdateAclEntities,\n\tupdateAclEveryRole,\n\tupdateEveryEntity,\n\tupdateEveryField,\n\tupdateModel,\n\tupdateSchema,\n} from '../utils/schemaUpdateUtils'\nimport { createModificationType, ModificationHandler, ModificationHandlerCreateSqlOptions, ModificationHandlerOptions } from '../ModificationHandler'\nimport { isIt } from '../../utils/isIt'\nimport { VERSION_ACL_PATCH } from '../ModificationVersions'\nimport { NoopModification } from '../NoopModification'\nimport { changeValue } from '../utils/valueUtils'\nimport { updateEntityTableNameModification } from './UpdateEntityTableNameModification'\n\nexport class UpdateEntityNameModificationHandler implements ModificationHandler<UpdateEntityNameModificationData> {\n\tprivate subModification: ModificationHandler<any>\n\n\tconstructor(\n\t\tprivate readonly data: UpdateEntityNameModificationData,\n\t\tprivate readonly schema: Schema,\n\t\tprivate readonly options: ModificationHandlerOptions,\n\t) {\n\t\tthis.subModification = data.tableName\n\t\t\t? updateEntityTableNameModification.createHandler(\n\t\t\t\t{ entityName: data.entityName, tableName: data.tableName },\n\t\t\t\tschema,\n\t\t\t\tthis.options,\n\t\t\t)\n\t\t\t: new NoopModification()\n\t}\n\n\tpublic createSql(builder: MigrationBuilder, options: ModificationHandlerCreateSqlOptions): void {\n\t\tthis.subModification.createSql(builder, options)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateSchema(\n\t\t\tthis.subModification.getSchemaUpdater(),\n\t\t\tupdateModel(\n\t\t\t\tupdateEveryEntity(\n\t\t\t\t\tupdateEveryField(({ field }) => {\n\t\t\t\t\t\tif (isIt<Model.AnyRelation>(field, 'target') && field.target === this.data.entityName) {\n\t\t\t\t\t\t\treturn { ...field, target: this.data.newEntityName }\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn field\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t\t({ model }) => {\n\t\t\t\t\tconst { [this.data.entityName]: renamed, ...entities } = model.entities\n\t\t\t\t\tconst newEntities = {\n\t\t\t\t\t\t...entities,\n\t\t\t\t\t\t[this.data.newEntityName]: {\n\t\t\t\t\t\t\t...renamed,\n\t\t\t\t\t\t\tname: this.data.newEntityName,\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...model,\n\t\t\t\t\t\tentities: newEntities,\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t),\n\t\t\tthis.options.formatVersion >= VERSION_ACL_PATCH\n\t\t\t\t? updateAcl(\n\t\t\t\t\tupdateAclEveryRole(\n\t\t\t\t\t\t({ role }) => ({\n\t\t\t\t\t\t\t...role,\n\t\t\t\t\t\t\tvariables: Object.fromEntries(\n\t\t\t\t\t\t\t\tObject.entries(role.variables).map(([key, variable]) => {\n\t\t\t\t\t\t\t\t\tif (variable.type === Acl.VariableType.entity) {\n\t\t\t\t\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t...variable,\n\t\t\t\t\t\t\t\t\t\t\t\tentityName: changeValue(this.data.entityName, this.data.newEntityName)(variable.entityName),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn [key, variable]\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tupdateAclEntities(({ entities }) => {\n\t\t\t\t\t\t\tif (!entities[this.data.entityName]) {\n\t\t\t\t\t\t\t\treturn entities\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst { [this.data.entityName]: renamed, ...other } = entities\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t[this.data.newEntityName]: renamed,\n\t\t\t\t\t\t\t\t...other,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}),\n\t\t\t\t\t),\n\t\t\t\t)\n\t\t\t\t: undefined,\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Change entity name from ${this.data.entityName} to ${this.data.newEntityName}` }\n\t}\n}\n\nexport interface UpdateEntityNameModificationData {\n\tentityName: string\n\tnewEntityName: string\n\ttableName?: string\n}\n\nexport const updateEntityNameModification = createModificationType({\n\tid: 'updateEntityName',\n\thandler: UpdateEntityNameModificationHandler,\n})\n"],"names":[],"mappings":";;;;;;;;;;;AAmBO,MAAM,oCAAqG;AAAA,EAGjH,YACkB,MACA,QACA,SAChB;AAHgB,SAAA,OAAA;AACA,SAAA,SAAA;AACA,SAAA,UAAA;AALlB,kBAAA,MAAQ,iBAAA;AAOP,SAAK,kBAAkB,KAAK,YACzB,kCAAkC;AAAA,MACnC,EAAE,YAAY,KAAK,YAAY,WAAW,KAAK,UAAA;AAAA,MAC/C;AAAA,MACA,KAAK;AAAA,IAAA,IAEJ,IAAI,iBAAA;AAAA,EACR;AAAA,EAEO,UAAU,SAA2B,SAAoD;AAC/F,SAAK,gBAAgB,UAAU,SAAS,OAAO;AAAA,EAChD;AAAA,EAEO,mBAAkC;AACxC,WAAO;AAAA,MACN,KAAK,gBAAgB,iBAAA;AAAA,MACrB;AAAA,QACC;AAAA,UACC,iBAAiB,CAAC,EAAE,YAAY;AAC/B,gBAAI,KAAwB,OAAO,QAAQ,KAAK,MAAM,WAAW,KAAK,KAAK,YAAY;AACtF,qBAAO,EAAE,GAAG,OAAO,QAAQ,KAAK,KAAK,cAAA;AAAA,YACtC;AACA,mBAAO;AAAA,UACR,CAAC;AAAA,QAAA;AAAA,QAEF,CAAC,EAAE,MAAA,MAAY;AACd,gBAAM,EAAE,CAAC,KAAK,KAAK,UAAU,GAAG,SAAS,GAAG,aAAa,MAAM;AAC/D,gBAAM,cAAc;AAAA,YACnB,GAAG;AAAA,YACH,CAAC,KAAK,KAAK,aAAa,GAAG;AAAA,cAC1B,GAAG;AAAA,cACH,MAAM,KAAK,KAAK;AAAA,YAAA;AAAA,UACjB;AAED,iBAAO;AAAA,YACN,GAAG;AAAA,YACH,UAAU;AAAA,UAAA;AAAA,QAEZ;AAAA,MAAA;AAAA,MAED,KAAK,QAAQ,iBAAiB,oBAC3B;AAAA,QACD;AAAA,UACC,CAAC,EAAE,KAAA,OAAY;AAAA,YACd,GAAG;AAAA,YACH,WAAW,OAAO;AAAA,cACjB,OAAO,QAAQ,KAAK,SAAS,EAAE,IAAI,CAAC,CAAC,KAAK,QAAQ,MAAM;AACvD,oBAAI,SAAS,SAAS,IAAI,aAAa,QAAQ;AAC9C,yBAAO;AAAA,oBACN;AAAA,oBACA;AAAA,sBACC,GAAG;AAAA,sBACH,YAAY,YAAY,KAAK,KAAK,YAAY,KAAK,KAAK,aAAa,EAAE,SAAS,UAAU;AAAA,oBAAA;AAAA,kBAC3F;AAAA,gBAEF;AACA,uBAAO,CAAC,KAAK,QAAQ;AAAA,cACtB,CAAC;AAAA,YAAA;AAAA,UACF;AAAA,UAED,kBAAkB,CAAC,EAAE,eAAe;AACnC,gBAAI,CAAC,SAAS,KAAK,KAAK,UAAU,GAAG;AACpC,qBAAO;AAAA,YACR;AACA,kBAAM,EAAE,CAAC,KAAK,KAAK,UAAU,GAAG,SAAS,GAAG,MAAA,IAAU;AACtD,mBAAO;AAAA,cACN,CAAC,KAAK,KAAK,aAAa,GAAG;AAAA,cAC3B,GAAG;AAAA,YAAA;AAAA,UAEL,CAAC;AAAA,QAAA;AAAA,MACF,IAEC;AAAA,IAAA;AAAA,EAEL;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,2BAA2B,KAAK,KAAK,UAAU,OAAO,KAAK,KAAK,aAAa,GAAA;AAAA,EAChG;AACD;AAQO,MAAM,+BAA+B,uBAAuB;AAAA,EAClE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateEntityOrderByModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/UpdateEntityOrderByModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport deepEqual from 'fast-deep-equal'\n\nexport class UpdateEntityOrderByModificationHandler implements ModificationHandler<UpdateEntityOrderByModificationData> {\n\n\tconstructor(private readonly data: UpdateEntityOrderByModificationData, private readonly schema: Schema) { }\n\n\tpublic createSql(builder: MigrationBuilder): void { }\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, orderBy } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(entityName, ({ entity }) => {\n\t\t\t\tif (orderBy) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...entity,\n\t\t\t\t\t\torderBy,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst { orderBy: _, ...rest } = entity\n\t\t\t\treturn rest\n\t\t\t}),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Update order-by of entity ${this.data.entityName}` }\n\t}\n}\n\nexport interface UpdateEntityOrderByModificationData {\n\tentityName: string\n\torderBy?: readonly Model.OrderBy[]\n}\n\nexport const updateEntityOrderByModification = createModificationType({\n\tid: 'updateEntityOrderBy',\n\thandler: UpdateEntityOrderByModificationHandler,\n})\n\nexport class UpdateEntityOrderByDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.values(updatedSchema.model.entities)\n\t\t\t.flatMap(updatedEntity => {\n\t\t\t\tconst origEntity = originalSchema.model.entities[updatedEntity.name]\n\t\t\t\tif (!origEntity) {\n\t\t\t\t\treturn []\n\t\t\t\t}\n\n\t\t\t\tif (!deepEqual(updatedEntity.orderBy ?? [], origEntity.orderBy ?? [])) {\n\t\t\t\t\tif (updatedEntity.orderBy) {\n\t\t\t\t\t\treturn [updateEntityOrderByModification.createModification({\n\t\t\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\t\t\torderBy: updatedEntity.orderBy,\n\t\t\t\t\t\t})]\n\t\t\t\t\t}\n\t\t\t\t\treturn [updateEntityOrderByModification.createModification({\n\t\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\t})]\n\t\t\t\t}\n\t\t\t\treturn []\n\t\t\t})\n\n\t}\n}\n"],"names":["updateModel","updateEntity","createModificationType"],"mappings":";;;;;AAMO,MAAM,uCAA2G;AAAA,EAEvH,YAA6B,MAA4D,QAAgB;AAA5E,SAAA,OAAA;AAA4D,SAAA,SAAA;AAAA,EAAA;AAAA,EAElF,UAAU,SAAiC;AAAA,EAAA;AAAA,EAE3C,mBAAkC;AACxC,UAAM,EAAE,YAAY,QAAQ,IAAI,KAAK;AAC9B,WAAAA,kBAAA;AAAA,MACNC,kBAAAA,aAAa,YAAY,CAAC,EAAE,aAAa;AACxC,YAAI,SAAS;AACL,iBAAA;AAAA,YACN,GAAG;AAAA,YACH;AAAA,UACD;AAAA,QAAA;AAED,cAAM,EAAE,SAAS,GAAG,GAAG,KAAS,IAAA;AACzB,eAAA;AAAA,MACP,CAAA;AAAA,IACF;AAAA,EAAA;AAAA,EAGD,WAAW;AACV,WAAO,EAAE,SAAS,6BAA6B,KAAK,KAAK,UAAU,GAAG;AAAA,EAAA;AAExE;AAOO,MAAM,kCAAkCC,oBAAAA,uBAAuB;AAAA,EACrE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,0BAA4C;AAAA,EACxD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,OAAO,cAAc,MAAM,QAAQ,EAC/C,QAAQ,CAAiB,kBAAA;AACzB,YAAM,aAAa,eAAe,MAAM,SAAS,cAAc,IAAI;AACnE,UAAI,CAAC,YAAY;AAChB,eAAO,CAAC;AAAA,MAAA;AAGL,UAAA,CAAC,UAAU,cAAc,WAAW,IAAI,WAAW,WAAW,CAAA,CAAE,GAAG;AACtE,YAAI,cAAc,SAAS;AACnB,iBAAA,CAAC,gCAAgC,mBAAmB;AAAA,YAC1D,YAAY,cAAc;AAAA,YAC1B,SAAS,cAAc;AAAA,UAAA,CACvB,CAAC;AAAA,QAAA;AAEI,eAAA,CAAC,gCAAgC,mBAAmB;AAAA,UAC1D,YAAY,cAAc;AAAA,QAAA,CAC1B,CAAC;AAAA,MAAA;AAEH,aAAO,CAAC;AAAA,IAAA,CACR;AAAA,EAAA;AAGJ;;;;"}
1
+ {"version":3,"file":"UpdateEntityOrderByModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/UpdateEntityOrderByModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport deepEqual from 'fast-deep-equal'\n\nexport class UpdateEntityOrderByModificationHandler implements ModificationHandler<UpdateEntityOrderByModificationData> {\n\tconstructor(private readonly data: UpdateEntityOrderByModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, orderBy } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(entityName, ({ entity }) => {\n\t\t\t\tif (orderBy) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...entity,\n\t\t\t\t\t\torderBy,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst { orderBy: _, ...rest } = entity\n\t\t\t\treturn rest\n\t\t\t}),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Update order-by of entity ${this.data.entityName}` }\n\t}\n}\n\nexport interface UpdateEntityOrderByModificationData {\n\tentityName: string\n\torderBy?: readonly Model.OrderBy[]\n}\n\nexport const updateEntityOrderByModification = createModificationType({\n\tid: 'updateEntityOrderBy',\n\thandler: UpdateEntityOrderByModificationHandler,\n})\n\nexport class UpdateEntityOrderByDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.values(updatedSchema.model.entities)\n\t\t\t.flatMap(updatedEntity => {\n\t\t\t\tconst origEntity = originalSchema.model.entities[updatedEntity.name]\n\t\t\t\tif (!origEntity) {\n\t\t\t\t\treturn []\n\t\t\t\t}\n\n\t\t\t\tif (!deepEqual(updatedEntity.orderBy ?? [], origEntity.orderBy ?? [])) {\n\t\t\t\t\tif (updatedEntity.orderBy) {\n\t\t\t\t\t\treturn [updateEntityOrderByModification.createModification({\n\t\t\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\t\t\torderBy: updatedEntity.orderBy,\n\t\t\t\t\t\t})]\n\t\t\t\t\t}\n\t\t\t\t\treturn [updateEntityOrderByModification.createModification({\n\t\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\t})]\n\t\t\t\t}\n\t\t\t\treturn []\n\t\t\t})\n\t}\n}\n"],"names":["updateModel","updateEntity","createModificationType"],"mappings":";;;;;AAMO,MAAM,uCAA2G;AAAA,EACvH,YAA6B,MAA4D,QAAgB;AAA5E,SAAA,OAAA;AAA4D,SAAA,SAAA;AAAA,EAAiB;AAAA,EAEnG,UAAU,SAAiC;AAAA,EAAC;AAAA,EAE5C,mBAAkC;AACxC,UAAM,EAAE,YAAY,QAAA,IAAY,KAAK;AACrC,WAAOA,kBAAAA;AAAAA,MACNC,kBAAAA,aAAa,YAAY,CAAC,EAAE,aAAa;AACxC,YAAI,SAAS;AACZ,iBAAO;AAAA,YACN,GAAG;AAAA,YACH;AAAA,UAAA;AAAA,QAEF;AACA,cAAM,EAAE,SAAS,GAAG,GAAG,SAAS;AAChC,eAAO;AAAA,MACR,CAAC;AAAA,IAAA;AAAA,EAEH;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,6BAA6B,KAAK,KAAK,UAAU,GAAA;AAAA,EACpE;AACD;AAOO,MAAM,kCAAkCC,oBAAAA,uBAAuB;AAAA,EACrE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,0BAA4C;AAAA,EACxD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,OAAO,cAAc,MAAM,QAAQ,EAC/C,QAAQ,CAAA,kBAAiB;AACzB,YAAM,aAAa,eAAe,MAAM,SAAS,cAAc,IAAI;AACnE,UAAI,CAAC,YAAY;AAChB,eAAO,CAAA;AAAA,MACR;AAEA,UAAI,CAAC,UAAU,cAAc,WAAW,CAAA,GAAI,WAAW,WAAW,CAAA,CAAE,GAAG;AACtE,YAAI,cAAc,SAAS;AAC1B,iBAAO,CAAC,gCAAgC,mBAAmB;AAAA,YAC1D,YAAY,cAAc;AAAA,YAC1B,SAAS,cAAc;AAAA,UAAA,CACvB,CAAC;AAAA,QACH;AACA,eAAO,CAAC,gCAAgC,mBAAmB;AAAA,UAC1D,YAAY,cAAc;AAAA,QAAA,CAC1B,CAAC;AAAA,MACH;AACA,aAAO,CAAA;AAAA,IACR,CAAC;AAAA,EACH;AACD;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateEntityOrderByModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/UpdateEntityOrderByModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport deepEqual from 'fast-deep-equal'\n\nexport class UpdateEntityOrderByModificationHandler implements ModificationHandler<UpdateEntityOrderByModificationData> {\n\n\tconstructor(private readonly data: UpdateEntityOrderByModificationData, private readonly schema: Schema) { }\n\n\tpublic createSql(builder: MigrationBuilder): void { }\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, orderBy } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(entityName, ({ entity }) => {\n\t\t\t\tif (orderBy) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...entity,\n\t\t\t\t\t\torderBy,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst { orderBy: _, ...rest } = entity\n\t\t\t\treturn rest\n\t\t\t}),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Update order-by of entity ${this.data.entityName}` }\n\t}\n}\n\nexport interface UpdateEntityOrderByModificationData {\n\tentityName: string\n\torderBy?: readonly Model.OrderBy[]\n}\n\nexport const updateEntityOrderByModification = createModificationType({\n\tid: 'updateEntityOrderBy',\n\thandler: UpdateEntityOrderByModificationHandler,\n})\n\nexport class UpdateEntityOrderByDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.values(updatedSchema.model.entities)\n\t\t\t.flatMap(updatedEntity => {\n\t\t\t\tconst origEntity = originalSchema.model.entities[updatedEntity.name]\n\t\t\t\tif (!origEntity) {\n\t\t\t\t\treturn []\n\t\t\t\t}\n\n\t\t\t\tif (!deepEqual(updatedEntity.orderBy ?? [], origEntity.orderBy ?? [])) {\n\t\t\t\t\tif (updatedEntity.orderBy) {\n\t\t\t\t\t\treturn [updateEntityOrderByModification.createModification({\n\t\t\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\t\t\torderBy: updatedEntity.orderBy,\n\t\t\t\t\t\t})]\n\t\t\t\t\t}\n\t\t\t\t\treturn [updateEntityOrderByModification.createModification({\n\t\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\t})]\n\t\t\t\t}\n\t\t\t\treturn []\n\t\t\t})\n\n\t}\n}\n"],"names":[],"mappings":";;;AAMO,MAAM,uCAA2G;AAAA,EAEvH,YAA6B,MAA4D,QAAgB;AAA5E,SAAA,OAAA;AAA4D,SAAA,SAAA;AAAA,EAAA;AAAA,EAElF,UAAU,SAAiC;AAAA,EAAA;AAAA,EAE3C,mBAAkC;AACxC,UAAM,EAAE,YAAY,QAAQ,IAAI,KAAK;AAC9B,WAAA;AAAA,MACN,aAAa,YAAY,CAAC,EAAE,aAAa;AACxC,YAAI,SAAS;AACL,iBAAA;AAAA,YACN,GAAG;AAAA,YACH;AAAA,UACD;AAAA,QAAA;AAED,cAAM,EAAE,SAAS,GAAG,GAAG,KAAS,IAAA;AACzB,eAAA;AAAA,MACP,CAAA;AAAA,IACF;AAAA,EAAA;AAAA,EAGD,WAAW;AACV,WAAO,EAAE,SAAS,6BAA6B,KAAK,KAAK,UAAU,GAAG;AAAA,EAAA;AAExE;AAOO,MAAM,kCAAkC,uBAAuB;AAAA,EACrE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,0BAA4C;AAAA,EACxD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,OAAO,cAAc,MAAM,QAAQ,EAC/C,QAAQ,CAAiB,kBAAA;AACzB,YAAM,aAAa,eAAe,MAAM,SAAS,cAAc,IAAI;AACnE,UAAI,CAAC,YAAY;AAChB,eAAO,CAAC;AAAA,MAAA;AAGL,UAAA,CAAC,UAAU,cAAc,WAAW,IAAI,WAAW,WAAW,CAAA,CAAE,GAAG;AACtE,YAAI,cAAc,SAAS;AACnB,iBAAA,CAAC,gCAAgC,mBAAmB;AAAA,YAC1D,YAAY,cAAc;AAAA,YAC1B,SAAS,cAAc;AAAA,UAAA,CACvB,CAAC;AAAA,QAAA;AAEI,eAAA,CAAC,gCAAgC,mBAAmB;AAAA,UAC1D,YAAY,cAAc;AAAA,QAAA,CAC1B,CAAC;AAAA,MAAA;AAEH,aAAO,CAAC;AAAA,IAAA,CACR;AAAA,EAAA;AAGJ;"}
1
+ {"version":3,"file":"UpdateEntityOrderByModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/UpdateEntityOrderByModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport deepEqual from 'fast-deep-equal'\n\nexport class UpdateEntityOrderByModificationHandler implements ModificationHandler<UpdateEntityOrderByModificationData> {\n\tconstructor(private readonly data: UpdateEntityOrderByModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, orderBy } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(entityName, ({ entity }) => {\n\t\t\t\tif (orderBy) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...entity,\n\t\t\t\t\t\torderBy,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst { orderBy: _, ...rest } = entity\n\t\t\t\treturn rest\n\t\t\t}),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Update order-by of entity ${this.data.entityName}` }\n\t}\n}\n\nexport interface UpdateEntityOrderByModificationData {\n\tentityName: string\n\torderBy?: readonly Model.OrderBy[]\n}\n\nexport const updateEntityOrderByModification = createModificationType({\n\tid: 'updateEntityOrderBy',\n\thandler: UpdateEntityOrderByModificationHandler,\n})\n\nexport class UpdateEntityOrderByDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.values(updatedSchema.model.entities)\n\t\t\t.flatMap(updatedEntity => {\n\t\t\t\tconst origEntity = originalSchema.model.entities[updatedEntity.name]\n\t\t\t\tif (!origEntity) {\n\t\t\t\t\treturn []\n\t\t\t\t}\n\n\t\t\t\tif (!deepEqual(updatedEntity.orderBy ?? [], origEntity.orderBy ?? [])) {\n\t\t\t\t\tif (updatedEntity.orderBy) {\n\t\t\t\t\t\treturn [updateEntityOrderByModification.createModification({\n\t\t\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\t\t\torderBy: updatedEntity.orderBy,\n\t\t\t\t\t\t})]\n\t\t\t\t\t}\n\t\t\t\t\treturn [updateEntityOrderByModification.createModification({\n\t\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\t})]\n\t\t\t\t}\n\t\t\t\treturn []\n\t\t\t})\n\t}\n}\n"],"names":[],"mappings":";;;AAMO,MAAM,uCAA2G;AAAA,EACvH,YAA6B,MAA4D,QAAgB;AAA5E,SAAA,OAAA;AAA4D,SAAA,SAAA;AAAA,EAAiB;AAAA,EAEnG,UAAU,SAAiC;AAAA,EAAC;AAAA,EAE5C,mBAAkC;AACxC,UAAM,EAAE,YAAY,QAAA,IAAY,KAAK;AACrC,WAAO;AAAA,MACN,aAAa,YAAY,CAAC,EAAE,aAAa;AACxC,YAAI,SAAS;AACZ,iBAAO;AAAA,YACN,GAAG;AAAA,YACH;AAAA,UAAA;AAAA,QAEF;AACA,cAAM,EAAE,SAAS,GAAG,GAAG,SAAS;AAChC,eAAO;AAAA,MACR,CAAC;AAAA,IAAA;AAAA,EAEH;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,6BAA6B,KAAK,KAAK,UAAU,GAAA;AAAA,EACpE;AACD;AAOO,MAAM,kCAAkC,uBAAuB;AAAA,EACrE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,0BAA4C;AAAA,EACxD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,OAAO,cAAc,MAAM,QAAQ,EAC/C,QAAQ,CAAA,kBAAiB;AACzB,YAAM,aAAa,eAAe,MAAM,SAAS,cAAc,IAAI;AACnE,UAAI,CAAC,YAAY;AAChB,eAAO,CAAA;AAAA,MACR;AAEA,UAAI,CAAC,UAAU,cAAc,WAAW,CAAA,GAAI,WAAW,WAAW,CAAA,CAAE,GAAG;AACtE,YAAI,cAAc,SAAS;AAC1B,iBAAO,CAAC,gCAAgC,mBAAmB;AAAA,YAC1D,YAAY,cAAc;AAAA,YAC1B,SAAS,cAAc;AAAA,UAAA,CACvB,CAAC;AAAA,QACH;AACA,eAAO,CAAC,gCAAgC,mBAAmB;AAAA,UAC1D,YAAY,cAAc;AAAA,QAAA,CAC1B,CAAC;AAAA,MACH;AACA,aAAO,CAAA;AAAA,IACR,CAAC;AAAA,EACH;AACD;"}
@@ -35,10 +35,12 @@ class UpdateEntityTableNameDiffer {
35
35
  createDiff(originalSchema, updatedSchema) {
36
36
  return Object.values(updatedSchema.model.entities).filter(
37
37
  (it) => originalSchema.model.entities[it.name] && originalSchema.model.entities[it.name].tableName !== it.tableName
38
- ).map((it) => updateEntityTableNameModification.createModification({
39
- entityName: it.name,
40
- tableName: it.tableName
41
- }));
38
+ ).map(
39
+ (it) => updateEntityTableNameModification.createModification({
40
+ entityName: it.name,
41
+ tableName: it.tableName
42
+ })
43
+ );
42
44
  }
43
45
  }
44
46
  exports.UpdateEntityTableNameDiffer = UpdateEntityTableNameDiffer;
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateEntityTableNameModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/UpdateEntityTableNameModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class UpdateEntityTableNameModificationHandler implements ModificationHandler<UpdateEntityTableNameModificationData> {\n\tconstructor(private readonly data: UpdateEntityTableNameModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\tbuilder.renameView(entity.tableName, this.data.tableName)\n\t\t\treturn\n\t\t}\n\t\tbuilder.renameTable(entity.tableName, this.data.tableName)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(\n\t\t\tupdateEntity(this.data.entityName, ({ entity }) => ({\n\t\t\t\t...entity,\n\t\t\t\ttableName: this.data.tableName,\n\t\t\t})),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Change table name of entity ${this.data.entityName}` }\n\t}\n}\n\nexport interface UpdateEntityTableNameModificationData {\n\tentityName: string\n\ttableName: string\n}\n\nexport const updateEntityTableNameModification = createModificationType({\n\tid: 'updateEntityTableName',\n\thandler: UpdateEntityTableNameModificationHandler,\n})\n\nexport class UpdateEntityTableNameDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.values(updatedSchema.model.entities)\n\t\t\t.filter(\n\t\t\t\tit =>\n\t\t\t\t\toriginalSchema.model.entities[it.name] && originalSchema.model.entities[it.name].tableName !== it.tableName,\n\t\t\t)\n\t\t\t.map(it => updateEntityTableNameModification.createModification({\n\t\t\t\tentityName: it.name,\n\t\t\t\ttableName: it.tableName,\n\t\t\t}))\n\t}\n}\n"],"names":["updateModel","updateEntity","createModificationType"],"mappings":";;;;AAKO,MAAM,yCAA+G;AAAA,EAC3H,YAA6B,MAA8D,QAAgB;AAA9E,SAAA,OAAA;AAA8D,SAAA,SAAA;AAAA,EAAA;AAAA,EAEpF,UAAU,SAAiC;AACjD,UAAM,SAAS,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,UAAU;AAC9D,QAAI,OAAO,MAAM;AAChB,cAAQ,WAAW,OAAO,WAAW,KAAK,KAAK,SAAS;AACxD;AAAA,IAAA;AAED,YAAQ,YAAY,OAAO,WAAW,KAAK,KAAK,SAAS;AAAA,EAAA;AAAA,EAGnD,mBAAkC;AACjC,WAAAA,kBAAA;AAAA,MACNC,+BAAa,KAAK,KAAK,YAAY,CAAC,EAAE,cAAc;AAAA,QACnD,GAAG;AAAA,QACH,WAAW,KAAK,KAAK;AAAA,MAAA,EACpB;AAAA,IACH;AAAA,EAAA;AAAA,EAGD,WAAW;AACV,WAAO,EAAE,SAAS,+BAA+B,KAAK,KAAK,UAAU,GAAG;AAAA,EAAA;AAE1E;AAOO,MAAM,oCAAoCC,oBAAAA,uBAAuB;AAAA,EACvE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,4BAA8C;AAAA,EAC1D,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,OAAO,cAAc,MAAM,QAAQ,EAC/C;AAAA,MACA,CACC,OAAA,eAAe,MAAM,SAAS,GAAG,IAAI,KAAK,eAAe,MAAM,SAAS,GAAG,IAAI,EAAE,cAAc,GAAG;AAAA,IAEnG,EAAA,IAAI,CAAM,OAAA,kCAAkC,mBAAmB;AAAA,MAC/D,YAAY,GAAG;AAAA,MACf,WAAW,GAAG;AAAA,IAAA,CACd,CAAC;AAAA,EAAA;AAEL;;;;"}
1
+ {"version":3,"file":"UpdateEntityTableNameModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/UpdateEntityTableNameModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class UpdateEntityTableNameModificationHandler implements ModificationHandler<UpdateEntityTableNameModificationData> {\n\tconstructor(private readonly data: UpdateEntityTableNameModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\tbuilder.renameView(entity.tableName, this.data.tableName)\n\t\t\treturn\n\t\t}\n\t\tbuilder.renameTable(entity.tableName, this.data.tableName)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(\n\t\t\tupdateEntity(this.data.entityName, ({ entity }) => ({\n\t\t\t\t...entity,\n\t\t\t\ttableName: this.data.tableName,\n\t\t\t})),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Change table name of entity ${this.data.entityName}` }\n\t}\n}\n\nexport interface UpdateEntityTableNameModificationData {\n\tentityName: string\n\ttableName: string\n}\n\nexport const updateEntityTableNameModification = createModificationType({\n\tid: 'updateEntityTableName',\n\thandler: UpdateEntityTableNameModificationHandler,\n})\n\nexport class UpdateEntityTableNameDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.values(updatedSchema.model.entities)\n\t\t\t.filter(\n\t\t\t\tit => originalSchema.model.entities[it.name] && originalSchema.model.entities[it.name].tableName !== it.tableName,\n\t\t\t)\n\t\t\t.map(it =>\n\t\t\t\tupdateEntityTableNameModification.createModification({\n\t\t\t\t\tentityName: it.name,\n\t\t\t\t\ttableName: it.tableName,\n\t\t\t\t})\n\t\t\t)\n\t}\n}\n"],"names":["updateModel","updateEntity","createModificationType"],"mappings":";;;;AAKO,MAAM,yCAA+G;AAAA,EAC3H,YAA6B,MAA8D,QAAgB;AAA9E,SAAA,OAAA;AAA8D,SAAA,SAAA;AAAA,EAAiB;AAAA,EAErG,UAAU,SAAiC;AACjD,UAAM,SAAS,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,UAAU;AAC9D,QAAI,OAAO,MAAM;AAChB,cAAQ,WAAW,OAAO,WAAW,KAAK,KAAK,SAAS;AACxD;AAAA,IACD;AACA,YAAQ,YAAY,OAAO,WAAW,KAAK,KAAK,SAAS;AAAA,EAC1D;AAAA,EAEO,mBAAkC;AACxC,WAAOA,kBAAAA;AAAAA,MACNC,kBAAAA,aAAa,KAAK,KAAK,YAAY,CAAC,EAAE,cAAc;AAAA,QACnD,GAAG;AAAA,QACH,WAAW,KAAK,KAAK;AAAA,MAAA,EACpB;AAAA,IAAA;AAAA,EAEJ;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,+BAA+B,KAAK,KAAK,UAAU,GAAA;AAAA,EACtE;AACD;AAOO,MAAM,oCAAoCC,oBAAAA,uBAAuB;AAAA,EACvE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,4BAA8C;AAAA,EAC1D,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,OAAO,cAAc,MAAM,QAAQ,EAC/C;AAAA,MACA,CAAA,OAAM,eAAe,MAAM,SAAS,GAAG,IAAI,KAAK,eAAe,MAAM,SAAS,GAAG,IAAI,EAAE,cAAc,GAAG;AAAA,IAAA,EAExG;AAAA,MAAI,CAAA,OACJ,kCAAkC,mBAAmB;AAAA,QACpD,YAAY,GAAG;AAAA,QACf,WAAW,GAAG;AAAA,MAAA,CACd;AAAA,IAAA;AAAA,EAEJ;AACD;;;;"}
@@ -33,10 +33,12 @@ class UpdateEntityTableNameDiffer {
33
33
  createDiff(originalSchema, updatedSchema) {
34
34
  return Object.values(updatedSchema.model.entities).filter(
35
35
  (it) => originalSchema.model.entities[it.name] && originalSchema.model.entities[it.name].tableName !== it.tableName
36
- ).map((it) => updateEntityTableNameModification.createModification({
37
- entityName: it.name,
38
- tableName: it.tableName
39
- }));
36
+ ).map(
37
+ (it) => updateEntityTableNameModification.createModification({
38
+ entityName: it.name,
39
+ tableName: it.tableName
40
+ })
41
+ );
40
42
  }
41
43
  }
42
44
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateEntityTableNameModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/UpdateEntityTableNameModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class UpdateEntityTableNameModificationHandler implements ModificationHandler<UpdateEntityTableNameModificationData> {\n\tconstructor(private readonly data: UpdateEntityTableNameModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\tbuilder.renameView(entity.tableName, this.data.tableName)\n\t\t\treturn\n\t\t}\n\t\tbuilder.renameTable(entity.tableName, this.data.tableName)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(\n\t\t\tupdateEntity(this.data.entityName, ({ entity }) => ({\n\t\t\t\t...entity,\n\t\t\t\ttableName: this.data.tableName,\n\t\t\t})),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Change table name of entity ${this.data.entityName}` }\n\t}\n}\n\nexport interface UpdateEntityTableNameModificationData {\n\tentityName: string\n\ttableName: string\n}\n\nexport const updateEntityTableNameModification = createModificationType({\n\tid: 'updateEntityTableName',\n\thandler: UpdateEntityTableNameModificationHandler,\n})\n\nexport class UpdateEntityTableNameDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.values(updatedSchema.model.entities)\n\t\t\t.filter(\n\t\t\t\tit =>\n\t\t\t\t\toriginalSchema.model.entities[it.name] && originalSchema.model.entities[it.name].tableName !== it.tableName,\n\t\t\t)\n\t\t\t.map(it => updateEntityTableNameModification.createModification({\n\t\t\t\tentityName: it.name,\n\t\t\t\ttableName: it.tableName,\n\t\t\t}))\n\t}\n}\n"],"names":[],"mappings":";;AAKO,MAAM,yCAA+G;AAAA,EAC3H,YAA6B,MAA8D,QAAgB;AAA9E,SAAA,OAAA;AAA8D,SAAA,SAAA;AAAA,EAAA;AAAA,EAEpF,UAAU,SAAiC;AACjD,UAAM,SAAS,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,UAAU;AAC9D,QAAI,OAAO,MAAM;AAChB,cAAQ,WAAW,OAAO,WAAW,KAAK,KAAK,SAAS;AACxD;AAAA,IAAA;AAED,YAAQ,YAAY,OAAO,WAAW,KAAK,KAAK,SAAS;AAAA,EAAA;AAAA,EAGnD,mBAAkC;AACjC,WAAA;AAAA,MACN,aAAa,KAAK,KAAK,YAAY,CAAC,EAAE,cAAc;AAAA,QACnD,GAAG;AAAA,QACH,WAAW,KAAK,KAAK;AAAA,MAAA,EACpB;AAAA,IACH;AAAA,EAAA;AAAA,EAGD,WAAW;AACV,WAAO,EAAE,SAAS,+BAA+B,KAAK,KAAK,UAAU,GAAG;AAAA,EAAA;AAE1E;AAOO,MAAM,oCAAoC,uBAAuB;AAAA,EACvE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,4BAA8C;AAAA,EAC1D,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,OAAO,cAAc,MAAM,QAAQ,EAC/C;AAAA,MACA,CACC,OAAA,eAAe,MAAM,SAAS,GAAG,IAAI,KAAK,eAAe,MAAM,SAAS,GAAG,IAAI,EAAE,cAAc,GAAG;AAAA,IAEnG,EAAA,IAAI,CAAM,OAAA,kCAAkC,mBAAmB;AAAA,MAC/D,YAAY,GAAG;AAAA,MACf,WAAW,GAAG;AAAA,IAAA,CACd,CAAC;AAAA,EAAA;AAEL;"}
1
+ {"version":3,"file":"UpdateEntityTableNameModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/UpdateEntityTableNameModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class UpdateEntityTableNameModificationHandler implements ModificationHandler<UpdateEntityTableNameModificationData> {\n\tconstructor(private readonly data: UpdateEntityTableNameModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\tbuilder.renameView(entity.tableName, this.data.tableName)\n\t\t\treturn\n\t\t}\n\t\tbuilder.renameTable(entity.tableName, this.data.tableName)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(\n\t\t\tupdateEntity(this.data.entityName, ({ entity }) => ({\n\t\t\t\t...entity,\n\t\t\t\ttableName: this.data.tableName,\n\t\t\t})),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Change table name of entity ${this.data.entityName}` }\n\t}\n}\n\nexport interface UpdateEntityTableNameModificationData {\n\tentityName: string\n\ttableName: string\n}\n\nexport const updateEntityTableNameModification = createModificationType({\n\tid: 'updateEntityTableName',\n\thandler: UpdateEntityTableNameModificationHandler,\n})\n\nexport class UpdateEntityTableNameDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.values(updatedSchema.model.entities)\n\t\t\t.filter(\n\t\t\t\tit => originalSchema.model.entities[it.name] && originalSchema.model.entities[it.name].tableName !== it.tableName,\n\t\t\t)\n\t\t\t.map(it =>\n\t\t\t\tupdateEntityTableNameModification.createModification({\n\t\t\t\t\tentityName: it.name,\n\t\t\t\t\ttableName: it.tableName,\n\t\t\t\t})\n\t\t\t)\n\t}\n}\n"],"names":[],"mappings":";;AAKO,MAAM,yCAA+G;AAAA,EAC3H,YAA6B,MAA8D,QAAgB;AAA9E,SAAA,OAAA;AAA8D,SAAA,SAAA;AAAA,EAAiB;AAAA,EAErG,UAAU,SAAiC;AACjD,UAAM,SAAS,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,UAAU;AAC9D,QAAI,OAAO,MAAM;AAChB,cAAQ,WAAW,OAAO,WAAW,KAAK,KAAK,SAAS;AACxD;AAAA,IACD;AACA,YAAQ,YAAY,OAAO,WAAW,KAAK,KAAK,SAAS;AAAA,EAC1D;AAAA,EAEO,mBAAkC;AACxC,WAAO;AAAA,MACN,aAAa,KAAK,KAAK,YAAY,CAAC,EAAE,cAAc;AAAA,QACnD,GAAG;AAAA,QACH,WAAW,KAAK,KAAK;AAAA,MAAA,EACpB;AAAA,IAAA;AAAA,EAEJ;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,+BAA+B,KAAK,KAAK,UAAU,GAAA;AAAA,EACtE;AACD;AAOO,MAAM,oCAAoC,uBAAuB;AAAA,EACvE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,4BAA8C;AAAA,EAC1D,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,OAAO,cAAc,MAAM,QAAQ,EAC/C;AAAA,MACA,CAAA,OAAM,eAAe,MAAM,SAAS,GAAG,IAAI,KAAK,eAAe,MAAM,SAAS,GAAG,IAAI,EAAE,cAAc,GAAG;AAAA,IAAA,EAExG;AAAA,MAAI,CAAA,OACJ,kCAAkC,mBAAmB;AAAA,QACpD,YAAY,GAAG;AAAA,QACf,WAAW,GAAG;AAAA,MAAA,CACd;AAAA,IAAA;AAAA,EAEJ;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateViewModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/UpdateViewModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { createModificationType, ModificationHandler } from '../ModificationHandler'\nimport { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\n\nexport class UpdateViewModificationHandler implements ModificationHandler<UpdateViewModificationData> {\n\tconstructor(private readonly data: UpdateViewModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tbuilder.createView(\n\t\t\tentity.tableName,\n\t\t\t{\n\t\t\t\treplace: true,\n\t\t\t},\n\t\t\tthis.data.view.sql,\n\t\t)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(\n\t\t\tupdateEntity(this.data.entityName, ({ entity }) => ({\n\t\t\t\t...entity,\n\t\t\t\tview: this.data.view,\n\t\t\t})),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Update SQL definition of a view` }\n\t}\n\n}\n\nexport interface UpdateViewModificationData {\n\tentityName: string\n\tview: Model.View\n}\n\nexport const updateViewModification = createModificationType({\n\tid: 'updateView',\n\thandler: UpdateViewModificationHandler,\n})\n"],"names":["updateModel","updateEntity","createModificationType"],"mappings":";;;;AAKO,MAAM,8BAAyF;AAAA,EACrG,YAA6B,MAAmD,QAAgB;AAAnE,SAAA,OAAA;AAAmD,SAAA,SAAA;AAAA,EAAA;AAAA,EAEzE,UAAU,SAAiC;AACjD,UAAM,SAAS,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,UAAU;AACtD,YAAA;AAAA,MACP,OAAO;AAAA,MACP;AAAA,QACC,SAAS;AAAA,MACV;AAAA,MACA,KAAK,KAAK,KAAK;AAAA,IAChB;AAAA,EAAA;AAAA,EAGM,mBAAkC;AACjC,WAAAA,kBAAA;AAAA,MACNC,+BAAa,KAAK,KAAK,YAAY,CAAC,EAAE,cAAc;AAAA,QACnD,GAAG;AAAA,QACH,MAAM,KAAK,KAAK;AAAA,MAAA,EACf;AAAA,IACH;AAAA,EAAA;AAAA,EAGD,WAAW;AACH,WAAA,EAAE,SAAS,kCAAkC;AAAA,EAAA;AAGtD;AAOO,MAAM,yBAAyBC,oBAAAA,uBAAuB;AAAA,EAC5D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;;;"}
1
+ {"version":3,"file":"UpdateViewModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/UpdateViewModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { createModificationType, ModificationHandler } from '../ModificationHandler'\nimport { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\n\nexport class UpdateViewModificationHandler implements ModificationHandler<UpdateViewModificationData> {\n\tconstructor(private readonly data: UpdateViewModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tbuilder.createView(\n\t\t\tentity.tableName,\n\t\t\t{\n\t\t\t\treplace: true,\n\t\t\t},\n\t\t\tthis.data.view.sql,\n\t\t)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(\n\t\t\tupdateEntity(this.data.entityName, ({ entity }) => ({\n\t\t\t\t...entity,\n\t\t\t\tview: this.data.view,\n\t\t\t})),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Update SQL definition of a view` }\n\t}\n}\n\nexport interface UpdateViewModificationData {\n\tentityName: string\n\tview: Model.View\n}\n\nexport const updateViewModification = createModificationType({\n\tid: 'updateView',\n\thandler: UpdateViewModificationHandler,\n})\n"],"names":["updateModel","updateEntity","createModificationType"],"mappings":";;;;AAKO,MAAM,8BAAyF;AAAA,EACrG,YAA6B,MAAmD,QAAgB;AAAnE,SAAA,OAAA;AAAmD,SAAA,SAAA;AAAA,EAAiB;AAAA,EAE1F,UAAU,SAAiC;AACjD,UAAM,SAAS,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,UAAU;AAC9D,YAAQ;AAAA,MACP,OAAO;AAAA,MACP;AAAA,QACC,SAAS;AAAA,MAAA;AAAA,MAEV,KAAK,KAAK,KAAK;AAAA,IAAA;AAAA,EAEjB;AAAA,EAEO,mBAAkC;AACxC,WAAOA,kBAAAA;AAAAA,MACNC,kBAAAA,aAAa,KAAK,KAAK,YAAY,CAAC,EAAE,cAAc;AAAA,QACnD,GAAG;AAAA,QACH,MAAM,KAAK,KAAK;AAAA,MAAA,EACf;AAAA,IAAA;AAAA,EAEJ;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,kCAAA;AAAA,EACnB;AACD;AAOO,MAAM,yBAAyBC,oBAAAA,uBAAuB;AAAA,EAC5D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateViewModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/UpdateViewModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { createModificationType, ModificationHandler } from '../ModificationHandler'\nimport { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\n\nexport class UpdateViewModificationHandler implements ModificationHandler<UpdateViewModificationData> {\n\tconstructor(private readonly data: UpdateViewModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tbuilder.createView(\n\t\t\tentity.tableName,\n\t\t\t{\n\t\t\t\treplace: true,\n\t\t\t},\n\t\t\tthis.data.view.sql,\n\t\t)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(\n\t\t\tupdateEntity(this.data.entityName, ({ entity }) => ({\n\t\t\t\t...entity,\n\t\t\t\tview: this.data.view,\n\t\t\t})),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Update SQL definition of a view` }\n\t}\n\n}\n\nexport interface UpdateViewModificationData {\n\tentityName: string\n\tview: Model.View\n}\n\nexport const updateViewModification = createModificationType({\n\tid: 'updateView',\n\thandler: UpdateViewModificationHandler,\n})\n"],"names":[],"mappings":";;AAKO,MAAM,8BAAyF;AAAA,EACrG,YAA6B,MAAmD,QAAgB;AAAnE,SAAA,OAAA;AAAmD,SAAA,SAAA;AAAA,EAAA;AAAA,EAEzE,UAAU,SAAiC;AACjD,UAAM,SAAS,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,UAAU;AACtD,YAAA;AAAA,MACP,OAAO;AAAA,MACP;AAAA,QACC,SAAS;AAAA,MACV;AAAA,MACA,KAAK,KAAK,KAAK;AAAA,IAChB;AAAA,EAAA;AAAA,EAGM,mBAAkC;AACjC,WAAA;AAAA,MACN,aAAa,KAAK,KAAK,YAAY,CAAC,EAAE,cAAc;AAAA,QACnD,GAAG;AAAA,QACH,MAAM,KAAK,KAAK;AAAA,MAAA,EACf;AAAA,IACH;AAAA,EAAA;AAAA,EAGD,WAAW;AACH,WAAA,EAAE,SAAS,kCAAkC;AAAA,EAAA;AAGtD;AAOO,MAAM,yBAAyB,uBAAuB;AAAA,EAC5D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;"}
1
+ {"version":3,"file":"UpdateViewModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/UpdateViewModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { createModificationType, ModificationHandler } from '../ModificationHandler'\nimport { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\n\nexport class UpdateViewModificationHandler implements ModificationHandler<UpdateViewModificationData> {\n\tconstructor(private readonly data: UpdateViewModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tbuilder.createView(\n\t\t\tentity.tableName,\n\t\t\t{\n\t\t\t\treplace: true,\n\t\t\t},\n\t\t\tthis.data.view.sql,\n\t\t)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(\n\t\t\tupdateEntity(this.data.entityName, ({ entity }) => ({\n\t\t\t\t...entity,\n\t\t\t\tview: this.data.view,\n\t\t\t})),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Update SQL definition of a view` }\n\t}\n}\n\nexport interface UpdateViewModificationData {\n\tentityName: string\n\tview: Model.View\n}\n\nexport const updateViewModification = createModificationType({\n\tid: 'updateView',\n\thandler: UpdateViewModificationHandler,\n})\n"],"names":[],"mappings":";;AAKO,MAAM,8BAAyF;AAAA,EACrG,YAA6B,MAAmD,QAAgB;AAAnE,SAAA,OAAA;AAAmD,SAAA,SAAA;AAAA,EAAiB;AAAA,EAE1F,UAAU,SAAiC;AACjD,UAAM,SAAS,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,UAAU;AAC9D,YAAQ;AAAA,MACP,OAAO;AAAA,MACP;AAAA,QACC,SAAS;AAAA,MAAA;AAAA,MAEV,KAAK,KAAK,KAAK;AAAA,IAAA;AAAA,EAEjB;AAAA,EAEO,mBAAkC;AACxC,WAAO;AAAA,MACN,aAAa,KAAK,KAAK,YAAY,CAAC,EAAE,cAAc;AAAA,QACnD,GAAG;AAAA,QACH,MAAM,KAAK,KAAK;AAAA,MAAA,EACf;AAAA,IAAA;AAAA,EAEJ;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,kCAAA;AAAA,EACnB;AACD;AAOO,MAAM,yBAAyB,uBAAuB;AAAA,EAC5D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;"}
@@ -33,10 +33,12 @@ const createEnumModification = ModificationHandler.createModificationType({
33
33
  });
34
34
  class CreateEnumDiffer {
35
35
  createDiff(originalSchema, updatedSchema) {
36
- return Object.entries(updatedSchema.model.enums).filter(([name]) => !originalSchema.model.enums[name]).map(([enumName, values]) => createEnumModification.createModification({
37
- enumName,
38
- values
39
- }));
36
+ return Object.entries(updatedSchema.model.enums).filter(([name]) => !originalSchema.model.enums[name]).map(
37
+ ([enumName, values]) => createEnumModification.createModification({
38
+ enumName,
39
+ values
40
+ })
41
+ );
40
42
  }
41
43
  }
42
44
  exports.CreateEnumDiffer = CreateEnumDiffer;
@@ -1 +1 @@
1
- {"version":3,"file":"CreateEnumModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/enums/CreateEnumModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport { createCheck, getConstraintName } from './enumUtils'\n\nexport class CreateEnumModificationHandler implements ModificationHandler<CreateEnumModificationData> {\n\tconstructor(private readonly data: CreateEnumModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tbuilder.createDomain(this.data.enumName, 'text', {\n\t\t\tcheck: createCheck(this.data.values),\n\t\t\tconstraintName: getConstraintName(this.data.enumName),\n\t\t})\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(({ model }) => ({\n\t\t\t...model,\n\t\t\tenums: {\n\t\t\t\t...model.enums,\n\t\t\t\t[this.data.enumName]: this.data.values,\n\t\t\t},\n\t\t}))\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Add enum ${this.data.enumName}` }\n\t}\n}\n\nexport interface CreateEnumModificationData {\n\tenumName: string\n\tvalues: readonly string[]\n}\n\nexport const createEnumModification = createModificationType({\n\tid: 'createEnum',\n\thandler: CreateEnumModificationHandler,\n})\n\nexport class CreateEnumDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.model.enums)\n\t\t\t.filter(([name]) => !originalSchema.model.enums[name])\n\t\t\t.map(([enumName, values]) => createEnumModification.createModification({\n\t\t\t\tenumName,\n\t\t\t\tvalues,\n\t\t\t}))\n\t}\n}\n"],"names":["createCheck","getConstraintName","updateModel","createModificationType"],"mappings":";;;;;AAMO,MAAM,8BAAyF;AAAA,EACrG,YAA6B,MAAmD,QAAgB;AAAnE,SAAA,OAAA;AAAmD,SAAA,SAAA;AAAA,EAAA;AAAA,EAEzE,UAAU,SAAiC;AACjD,YAAQ,aAAa,KAAK,KAAK,UAAU,QAAQ;AAAA,MAChD,OAAOA,UAAA,YAAY,KAAK,KAAK,MAAM;AAAA,MACnC,gBAAgBC,UAAA,kBAAkB,KAAK,KAAK,QAAQ;AAAA,IAAA,CACpD;AAAA,EAAA;AAAA,EAGK,mBAAkC;AACxC,WAAOC,kBAAY,YAAA,CAAC,EAAE,aAAa;AAAA,MAClC,GAAG;AAAA,MACH,OAAO;AAAA,QACN,GAAG,MAAM;AAAA,QACT,CAAC,KAAK,KAAK,QAAQ,GAAG,KAAK,KAAK;AAAA,MAAA;AAAA,IACjC,EACC;AAAA,EAAA;AAAA,EAGH,WAAW;AACV,WAAO,EAAE,SAAS,YAAY,KAAK,KAAK,QAAQ,GAAG;AAAA,EAAA;AAErD;AAOO,MAAM,yBAAyBC,oBAAAA,uBAAuB;AAAA,EAC5D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,iBAAmC;AAAA,EAC/C,WAAW,gBAAwB,eAAuB;AAClD,WAAA,OAAO,QAAQ,cAAc,MAAM,KAAK,EAC7C,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,eAAe,MAAM,MAAM,IAAI,CAAC,EACpD,IAAI,CAAC,CAAC,UAAU,MAAM,MAAM,uBAAuB,mBAAmB;AAAA,MACtE;AAAA,MACA;AAAA,IAAA,CACA,CAAC;AAAA,EAAA;AAEL;;;;"}
1
+ {"version":3,"file":"CreateEnumModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/enums/CreateEnumModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport { createCheck, getConstraintName } from './enumUtils'\n\nexport class CreateEnumModificationHandler implements ModificationHandler<CreateEnumModificationData> {\n\tconstructor(private readonly data: CreateEnumModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tbuilder.createDomain(this.data.enumName, 'text', {\n\t\t\tcheck: createCheck(this.data.values),\n\t\t\tconstraintName: getConstraintName(this.data.enumName),\n\t\t})\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(({ model }) => ({\n\t\t\t...model,\n\t\t\tenums: {\n\t\t\t\t...model.enums,\n\t\t\t\t[this.data.enumName]: this.data.values,\n\t\t\t},\n\t\t}))\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Add enum ${this.data.enumName}` }\n\t}\n}\n\nexport interface CreateEnumModificationData {\n\tenumName: string\n\tvalues: readonly string[]\n}\n\nexport const createEnumModification = createModificationType({\n\tid: 'createEnum',\n\thandler: CreateEnumModificationHandler,\n})\n\nexport class CreateEnumDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.model.enums)\n\t\t\t.filter(([name]) => !originalSchema.model.enums[name])\n\t\t\t.map(([enumName, values]) =>\n\t\t\t\tcreateEnumModification.createModification({\n\t\t\t\t\tenumName,\n\t\t\t\t\tvalues,\n\t\t\t\t})\n\t\t\t)\n\t}\n}\n"],"names":["createCheck","getConstraintName","updateModel","createModificationType"],"mappings":";;;;;AAMO,MAAM,8BAAyF;AAAA,EACrG,YAA6B,MAAmD,QAAgB;AAAnE,SAAA,OAAA;AAAmD,SAAA,SAAA;AAAA,EAAiB;AAAA,EAE1F,UAAU,SAAiC;AACjD,YAAQ,aAAa,KAAK,KAAK,UAAU,QAAQ;AAAA,MAChD,OAAOA,UAAAA,YAAY,KAAK,KAAK,MAAM;AAAA,MACnC,gBAAgBC,UAAAA,kBAAkB,KAAK,KAAK,QAAQ;AAAA,IAAA,CACpD;AAAA,EACF;AAAA,EAEO,mBAAkC;AACxC,WAAOC,kBAAAA,YAAY,CAAC,EAAE,aAAa;AAAA,MAClC,GAAG;AAAA,MACH,OAAO;AAAA,QACN,GAAG,MAAM;AAAA,QACT,CAAC,KAAK,KAAK,QAAQ,GAAG,KAAK,KAAK;AAAA,MAAA;AAAA,IACjC,EACC;AAAA,EACH;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,YAAY,KAAK,KAAK,QAAQ,GAAA;AAAA,EACjD;AACD;AAOO,MAAM,yBAAyBC,oBAAAA,uBAAuB;AAAA,EAC5D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,iBAAmC;AAAA,EAC/C,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,QAAQ,cAAc,MAAM,KAAK,EAC7C,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,eAAe,MAAM,MAAM,IAAI,CAAC,EACpD;AAAA,MAAI,CAAC,CAAC,UAAU,MAAM,MACtB,uBAAuB,mBAAmB;AAAA,QACzC;AAAA,QACA;AAAA,MAAA,CACA;AAAA,IAAA;AAAA,EAEJ;AACD;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { updateModel } from "../utils/schemaUpdateUtils.js";
2
2
  import { createModificationType } from "../ModificationHandler.js";
3
- import { createCheck, getConstraintName } from "./enumUtils.js";
3
+ import { getConstraintName, createCheck } from "./enumUtils.js";
4
4
  class CreateEnumModificationHandler {
5
5
  constructor(data, schema) {
6
6
  this.data = data;
@@ -31,10 +31,12 @@ const createEnumModification = createModificationType({
31
31
  });
32
32
  class CreateEnumDiffer {
33
33
  createDiff(originalSchema, updatedSchema) {
34
- return Object.entries(updatedSchema.model.enums).filter(([name]) => !originalSchema.model.enums[name]).map(([enumName, values]) => createEnumModification.createModification({
35
- enumName,
36
- values
37
- }));
34
+ return Object.entries(updatedSchema.model.enums).filter(([name]) => !originalSchema.model.enums[name]).map(
35
+ ([enumName, values]) => createEnumModification.createModification({
36
+ enumName,
37
+ values
38
+ })
39
+ );
38
40
  }
39
41
  }
40
42
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"CreateEnumModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/enums/CreateEnumModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport { createCheck, getConstraintName } from './enumUtils'\n\nexport class CreateEnumModificationHandler implements ModificationHandler<CreateEnumModificationData> {\n\tconstructor(private readonly data: CreateEnumModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tbuilder.createDomain(this.data.enumName, 'text', {\n\t\t\tcheck: createCheck(this.data.values),\n\t\t\tconstraintName: getConstraintName(this.data.enumName),\n\t\t})\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(({ model }) => ({\n\t\t\t...model,\n\t\t\tenums: {\n\t\t\t\t...model.enums,\n\t\t\t\t[this.data.enumName]: this.data.values,\n\t\t\t},\n\t\t}))\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Add enum ${this.data.enumName}` }\n\t}\n}\n\nexport interface CreateEnumModificationData {\n\tenumName: string\n\tvalues: readonly string[]\n}\n\nexport const createEnumModification = createModificationType({\n\tid: 'createEnum',\n\thandler: CreateEnumModificationHandler,\n})\n\nexport class CreateEnumDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.model.enums)\n\t\t\t.filter(([name]) => !originalSchema.model.enums[name])\n\t\t\t.map(([enumName, values]) => createEnumModification.createModification({\n\t\t\t\tenumName,\n\t\t\t\tvalues,\n\t\t\t}))\n\t}\n}\n"],"names":[],"mappings":";;;AAMO,MAAM,8BAAyF;AAAA,EACrG,YAA6B,MAAmD,QAAgB;AAAnE,SAAA,OAAA;AAAmD,SAAA,SAAA;AAAA,EAAA;AAAA,EAEzE,UAAU,SAAiC;AACjD,YAAQ,aAAa,KAAK,KAAK,UAAU,QAAQ;AAAA,MAChD,OAAO,YAAY,KAAK,KAAK,MAAM;AAAA,MACnC,gBAAgB,kBAAkB,KAAK,KAAK,QAAQ;AAAA,IAAA,CACpD;AAAA,EAAA;AAAA,EAGK,mBAAkC;AACxC,WAAO,YAAY,CAAC,EAAE,aAAa;AAAA,MAClC,GAAG;AAAA,MACH,OAAO;AAAA,QACN,GAAG,MAAM;AAAA,QACT,CAAC,KAAK,KAAK,QAAQ,GAAG,KAAK,KAAK;AAAA,MAAA;AAAA,IACjC,EACC;AAAA,EAAA;AAAA,EAGH,WAAW;AACV,WAAO,EAAE,SAAS,YAAY,KAAK,KAAK,QAAQ,GAAG;AAAA,EAAA;AAErD;AAOO,MAAM,yBAAyB,uBAAuB;AAAA,EAC5D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,iBAAmC;AAAA,EAC/C,WAAW,gBAAwB,eAAuB;AAClD,WAAA,OAAO,QAAQ,cAAc,MAAM,KAAK,EAC7C,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,eAAe,MAAM,MAAM,IAAI,CAAC,EACpD,IAAI,CAAC,CAAC,UAAU,MAAM,MAAM,uBAAuB,mBAAmB;AAAA,MACtE;AAAA,MACA;AAAA,IAAA,CACA,CAAC;AAAA,EAAA;AAEL;"}
1
+ {"version":3,"file":"CreateEnumModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/enums/CreateEnumModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport { createCheck, getConstraintName } from './enumUtils'\n\nexport class CreateEnumModificationHandler implements ModificationHandler<CreateEnumModificationData> {\n\tconstructor(private readonly data: CreateEnumModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tbuilder.createDomain(this.data.enumName, 'text', {\n\t\t\tcheck: createCheck(this.data.values),\n\t\t\tconstraintName: getConstraintName(this.data.enumName),\n\t\t})\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(({ model }) => ({\n\t\t\t...model,\n\t\t\tenums: {\n\t\t\t\t...model.enums,\n\t\t\t\t[this.data.enumName]: this.data.values,\n\t\t\t},\n\t\t}))\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Add enum ${this.data.enumName}` }\n\t}\n}\n\nexport interface CreateEnumModificationData {\n\tenumName: string\n\tvalues: readonly string[]\n}\n\nexport const createEnumModification = createModificationType({\n\tid: 'createEnum',\n\thandler: CreateEnumModificationHandler,\n})\n\nexport class CreateEnumDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.model.enums)\n\t\t\t.filter(([name]) => !originalSchema.model.enums[name])\n\t\t\t.map(([enumName, values]) =>\n\t\t\t\tcreateEnumModification.createModification({\n\t\t\t\t\tenumName,\n\t\t\t\t\tvalues,\n\t\t\t\t})\n\t\t\t)\n\t}\n}\n"],"names":[],"mappings":";;;AAMO,MAAM,8BAAyF;AAAA,EACrG,YAA6B,MAAmD,QAAgB;AAAnE,SAAA,OAAA;AAAmD,SAAA,SAAA;AAAA,EAAiB;AAAA,EAE1F,UAAU,SAAiC;AACjD,YAAQ,aAAa,KAAK,KAAK,UAAU,QAAQ;AAAA,MAChD,OAAO,YAAY,KAAK,KAAK,MAAM;AAAA,MACnC,gBAAgB,kBAAkB,KAAK,KAAK,QAAQ;AAAA,IAAA,CACpD;AAAA,EACF;AAAA,EAEO,mBAAkC;AACxC,WAAO,YAAY,CAAC,EAAE,aAAa;AAAA,MAClC,GAAG;AAAA,MACH,OAAO;AAAA,QACN,GAAG,MAAM;AAAA,QACT,CAAC,KAAK,KAAK,QAAQ,GAAG,KAAK,KAAK;AAAA,MAAA;AAAA,IACjC,EACC;AAAA,EACH;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,YAAY,KAAK,KAAK,QAAQ,GAAA;AAAA,EACjD;AACD;AAOO,MAAM,yBAAyB,uBAAuB;AAAA,EAC5D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,iBAAmC;AAAA,EAC/C,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,QAAQ,cAAc,MAAM,KAAK,EAC7C,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,eAAe,MAAM,MAAM,IAAI,CAAC,EACpD;AAAA,MAAI,CAAC,CAAC,UAAU,MAAM,MACtB,uBAAuB,mBAAmB;AAAA,QACzC;AAAA,QACA;AAAA,MAAA,CACA;AAAA,IAAA;AAAA,EAEJ;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"RemoveEnumModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/enums/RemoveEnumModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class RemoveEnumModificationHandler implements ModificationHandler<RemoveEnumModificationData> {\n\tconstructor(private readonly data: RemoveEnumModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tbuilder.dropDomain(this.data.enumName)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(({ model }) => {\n\t\t\tconst { [this.data.enumName]: removedEnum, ...enums } = model.enums\n\t\t\treturn {\n\t\t\t\t...model,\n\t\t\t\tenums,\n\t\t\t}\n\t\t})\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Remove ${this.data.enumName}` }\n\t}\n}\n\nexport interface RemoveEnumModificationData {\n\tenumName: string\n}\n\nexport const removeEnumModification = createModificationType({\n\tid: 'removeEnum',\n\thandler: RemoveEnumModificationHandler,\n})\n\nexport class RemoveEnumDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(originalSchema.model.enums)\n\t\t\t.filter(([name]) => !updatedSchema.model.enums[name])\n\t\t\t.map(([enumName, values]) => removeEnumModification.createModification({ enumName }))\n\t}\n}\n"],"names":["updateModel","createModificationType"],"mappings":";;;;AAKO,MAAM,8BAAyF;AAAA,EACrG,YAA6B,MAAmD,QAAgB;AAAnE,SAAA,OAAA;AAAmD,SAAA,SAAA;AAAA,EAAA;AAAA,EAEzE,UAAU,SAAiC;AACzC,YAAA,WAAW,KAAK,KAAK,QAAQ;AAAA,EAAA;AAAA,EAG/B,mBAAkC;AACxC,WAAOA,kBAAY,YAAA,CAAC,EAAE,YAAY;AAC3B,YAAA,EAAE,CAAC,KAAK,KAAK,QAAQ,GAAG,aAAa,GAAG,UAAU,MAAM;AACvD,aAAA;AAAA,QACN,GAAG;AAAA,QACH;AAAA,MACD;AAAA,IAAA,CACA;AAAA,EAAA;AAAA,EAGF,WAAW;AACV,WAAO,EAAE,SAAS,UAAU,KAAK,KAAK,QAAQ,GAAG;AAAA,EAAA;AAEnD;AAMO,MAAM,yBAAyBC,oBAAAA,uBAAuB;AAAA,EAC5D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,iBAAmC;AAAA,EAC/C,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,QAAQ,eAAe,MAAM,KAAK,EAC9C,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,cAAc,MAAM,MAAM,IAAI,CAAC,EACnD,IAAI,CAAC,CAAC,UAAU,MAAM,MAAM,uBAAuB,mBAAmB,EAAE,SAAU,CAAA,CAAC;AAAA,EAAA;AAEvF;;;;"}
1
+ {"version":3,"file":"RemoveEnumModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/enums/RemoveEnumModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class RemoveEnumModificationHandler implements ModificationHandler<RemoveEnumModificationData> {\n\tconstructor(private readonly data: RemoveEnumModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tbuilder.dropDomain(this.data.enumName)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(({ model }) => {\n\t\t\tconst { [this.data.enumName]: removedEnum, ...enums } = model.enums\n\t\t\treturn {\n\t\t\t\t...model,\n\t\t\t\tenums,\n\t\t\t}\n\t\t})\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Remove ${this.data.enumName}` }\n\t}\n}\n\nexport interface RemoveEnumModificationData {\n\tenumName: string\n}\n\nexport const removeEnumModification = createModificationType({\n\tid: 'removeEnum',\n\thandler: RemoveEnumModificationHandler,\n})\n\nexport class RemoveEnumDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(originalSchema.model.enums)\n\t\t\t.filter(([name]) => !updatedSchema.model.enums[name])\n\t\t\t.map(([enumName, values]) => removeEnumModification.createModification({ enumName }))\n\t}\n}\n"],"names":["updateModel","createModificationType"],"mappings":";;;;AAKO,MAAM,8BAAyF;AAAA,EACrG,YAA6B,MAAmD,QAAgB;AAAnE,SAAA,OAAA;AAAmD,SAAA,SAAA;AAAA,EAAiB;AAAA,EAE1F,UAAU,SAAiC;AACjD,YAAQ,WAAW,KAAK,KAAK,QAAQ;AAAA,EACtC;AAAA,EAEO,mBAAkC;AACxC,WAAOA,kBAAAA,YAAY,CAAC,EAAE,YAAY;AACjC,YAAM,EAAE,CAAC,KAAK,KAAK,QAAQ,GAAG,aAAa,GAAG,UAAU,MAAM;AAC9D,aAAO;AAAA,QACN,GAAG;AAAA,QACH;AAAA,MAAA;AAAA,IAEF,CAAC;AAAA,EACF;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,UAAU,KAAK,KAAK,QAAQ,GAAA;AAAA,EAC/C;AACD;AAMO,MAAM,yBAAyBC,oBAAAA,uBAAuB;AAAA,EAC5D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,iBAAmC;AAAA,EAC/C,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,QAAQ,eAAe,MAAM,KAAK,EAC9C,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,cAAc,MAAM,MAAM,IAAI,CAAC,EACnD,IAAI,CAAC,CAAC,UAAU,MAAM,MAAM,uBAAuB,mBAAmB,EAAE,SAAA,CAAU,CAAC;AAAA,EACtF;AACD;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"RemoveEnumModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/enums/RemoveEnumModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class RemoveEnumModificationHandler implements ModificationHandler<RemoveEnumModificationData> {\n\tconstructor(private readonly data: RemoveEnumModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tbuilder.dropDomain(this.data.enumName)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(({ model }) => {\n\t\t\tconst { [this.data.enumName]: removedEnum, ...enums } = model.enums\n\t\t\treturn {\n\t\t\t\t...model,\n\t\t\t\tenums,\n\t\t\t}\n\t\t})\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Remove ${this.data.enumName}` }\n\t}\n}\n\nexport interface RemoveEnumModificationData {\n\tenumName: string\n}\n\nexport const removeEnumModification = createModificationType({\n\tid: 'removeEnum',\n\thandler: RemoveEnumModificationHandler,\n})\n\nexport class RemoveEnumDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(originalSchema.model.enums)\n\t\t\t.filter(([name]) => !updatedSchema.model.enums[name])\n\t\t\t.map(([enumName, values]) => removeEnumModification.createModification({ enumName }))\n\t}\n}\n"],"names":[],"mappings":";;AAKO,MAAM,8BAAyF;AAAA,EACrG,YAA6B,MAAmD,QAAgB;AAAnE,SAAA,OAAA;AAAmD,SAAA,SAAA;AAAA,EAAA;AAAA,EAEzE,UAAU,SAAiC;AACzC,YAAA,WAAW,KAAK,KAAK,QAAQ;AAAA,EAAA;AAAA,EAG/B,mBAAkC;AACxC,WAAO,YAAY,CAAC,EAAE,YAAY;AAC3B,YAAA,EAAE,CAAC,KAAK,KAAK,QAAQ,GAAG,aAAa,GAAG,UAAU,MAAM;AACvD,aAAA;AAAA,QACN,GAAG;AAAA,QACH;AAAA,MACD;AAAA,IAAA,CACA;AAAA,EAAA;AAAA,EAGF,WAAW;AACV,WAAO,EAAE,SAAS,UAAU,KAAK,KAAK,QAAQ,GAAG;AAAA,EAAA;AAEnD;AAMO,MAAM,yBAAyB,uBAAuB;AAAA,EAC5D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,iBAAmC;AAAA,EAC/C,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,QAAQ,eAAe,MAAM,KAAK,EAC9C,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,cAAc,MAAM,MAAM,IAAI,CAAC,EACnD,IAAI,CAAC,CAAC,UAAU,MAAM,MAAM,uBAAuB,mBAAmB,EAAE,SAAU,CAAA,CAAC;AAAA,EAAA;AAEvF;"}
1
+ {"version":3,"file":"RemoveEnumModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/enums/RemoveEnumModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class RemoveEnumModificationHandler implements ModificationHandler<RemoveEnumModificationData> {\n\tconstructor(private readonly data: RemoveEnumModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tbuilder.dropDomain(this.data.enumName)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(({ model }) => {\n\t\t\tconst { [this.data.enumName]: removedEnum, ...enums } = model.enums\n\t\t\treturn {\n\t\t\t\t...model,\n\t\t\t\tenums,\n\t\t\t}\n\t\t})\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Remove ${this.data.enumName}` }\n\t}\n}\n\nexport interface RemoveEnumModificationData {\n\tenumName: string\n}\n\nexport const removeEnumModification = createModificationType({\n\tid: 'removeEnum',\n\thandler: RemoveEnumModificationHandler,\n})\n\nexport class RemoveEnumDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(originalSchema.model.enums)\n\t\t\t.filter(([name]) => !updatedSchema.model.enums[name])\n\t\t\t.map(([enumName, values]) => removeEnumModification.createModification({ enumName }))\n\t}\n}\n"],"names":[],"mappings":";;AAKO,MAAM,8BAAyF;AAAA,EACrG,YAA6B,MAAmD,QAAgB;AAAnE,SAAA,OAAA;AAAmD,SAAA,SAAA;AAAA,EAAiB;AAAA,EAE1F,UAAU,SAAiC;AACjD,YAAQ,WAAW,KAAK,KAAK,QAAQ;AAAA,EACtC;AAAA,EAEO,mBAAkC;AACxC,WAAO,YAAY,CAAC,EAAE,YAAY;AACjC,YAAM,EAAE,CAAC,KAAK,KAAK,QAAQ,GAAG,aAAa,GAAG,UAAU,MAAM;AAC9D,aAAO;AAAA,QACN,GAAG;AAAA,QACH;AAAA,MAAA;AAAA,IAEF,CAAC;AAAA,EACF;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,UAAU,KAAK,KAAK,QAAQ,GAAA;AAAA,EAC/C;AACD;AAMO,MAAM,yBAAyB,uBAAuB;AAAA,EAC5D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,iBAAmC;AAAA,EAC/C,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,QAAQ,eAAe,MAAM,KAAK,EAC9C,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,cAAc,MAAM,MAAM,IAAI,CAAC,EACnD,IAAI,CAAC,CAAC,UAAU,MAAM,MAAM,uBAAuB,mBAAmB,EAAE,SAAA,CAAU,CAAC;AAAA,EACtF;AACD;"}