@contember/engine-system-api 2.0.0-alpha.9 → 2.0.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 (533) hide show
  1. package/dist/development/index.cjs +2 -2
  2. package/dist/development/index.js +2 -2
  3. package/dist/development/src/SystemContainer.cjs +4 -3
  4. package/dist/development/src/SystemContainer.cjs.map +1 -1
  5. package/dist/development/src/SystemContainer.js +5 -4
  6. package/dist/development/src/SystemContainer.js.map +1 -1
  7. package/dist/development/src/migrations/2020-03-27-130000-project-migrations.cjs.map +1 -1
  8. package/dist/development/src/migrations/2020-03-27-130000-project-migrations.js.map +1 -1
  9. package/dist/development/src/migrations/2020-05-06-150000-composed-primary.cjs +1 -2
  10. package/dist/development/src/migrations/2020-05-06-150000-composed-primary.cjs.map +1 -1
  11. package/dist/development/src/migrations/2020-05-06-150000-composed-primary.js +1 -2
  12. package/dist/development/src/migrations/2020-05-06-150000-composed-primary.js.map +1 -1
  13. package/dist/development/src/migrations/2020-06-01-103000-event-trigger-perf.cjs +1 -2
  14. package/dist/development/src/migrations/2020-06-01-103000-event-trigger-perf.cjs.map +1 -1
  15. package/dist/development/src/migrations/2020-06-01-103000-event-trigger-perf.js +1 -2
  16. package/dist/development/src/migrations/2020-06-01-103000-event-trigger-perf.js.map +1 -1
  17. package/dist/development/src/migrations/2021-05-07-155800-event-log-rework.cjs +1 -2
  18. package/dist/development/src/migrations/2021-05-07-155800-event-log-rework.cjs.map +1 -1
  19. package/dist/development/src/migrations/2021-05-07-155800-event-log-rework.js +1 -2
  20. package/dist/development/src/migrations/2021-05-07-155800-event-log-rework.js.map +1 -1
  21. package/dist/development/src/migrations/2021-05-19-1232000-event-log-fix-constraint.cjs +1 -2
  22. package/dist/development/src/migrations/2021-05-19-1232000-event-log-fix-constraint.cjs.map +1 -1
  23. package/dist/development/src/migrations/2021-05-19-1232000-event-log-fix-constraint.js +1 -2
  24. package/dist/development/src/migrations/2021-05-19-1232000-event-log-fix-constraint.js.map +1 -1
  25. package/dist/development/src/migrations/2022-10-03-110000-table-on-delete.cjs +1 -1
  26. package/dist/development/src/migrations/2022-10-03-110000-table-on-delete.cjs.map +1 -1
  27. package/dist/development/src/migrations/2022-10-03-110000-table-on-delete.js +1 -1
  28. package/dist/development/src/migrations/2022-10-03-110000-table-on-delete.js.map +1 -1
  29. package/dist/development/src/migrations/2023-09-11-174000-fix-on-delete.cjs +1 -1
  30. package/dist/development/src/migrations/2023-09-11-174000-fix-on-delete.cjs.map +1 -1
  31. package/dist/development/src/migrations/2023-09-11-174000-fix-on-delete.js +1 -1
  32. package/dist/development/src/migrations/2023-09-11-174000-fix-on-delete.js.map +1 -1
  33. package/dist/development/src/migrations/2023-10-19-173000-fix-unique.cjs +1 -1
  34. package/dist/development/src/migrations/2023-10-19-173000-fix-unique.cjs.map +1 -1
  35. package/dist/development/src/migrations/2023-10-19-173000-fix-unique.js +1 -1
  36. package/dist/development/src/migrations/2023-10-19-173000-fix-unique.js.map +1 -1
  37. package/dist/development/src/migrations/2024-06-28-153000-schema.cjs +18 -0
  38. package/dist/development/src/migrations/2024-06-28-153000-schema.cjs.map +1 -0
  39. package/dist/development/src/migrations/2024-06-28-153000-schema.js +19 -0
  40. package/dist/development/src/migrations/2024-06-28-153000-schema.js.map +1 -0
  41. package/dist/development/src/migrations/2024-06-28-153001-schema-init.cjs +12 -0
  42. package/dist/development/src/migrations/2024-06-28-153001-schema-init.cjs.map +1 -0
  43. package/dist/development/src/migrations/2024-06-28-153001-schema-init.js +13 -0
  44. package/dist/development/src/migrations/2024-06-28-153001-schema-init.js.map +1 -0
  45. package/dist/development/src/migrations/2024-07-29-150000-event-data-index.cjs +11 -0
  46. package/dist/development/src/migrations/2024-07-29-150000-event-data-index.cjs.map +1 -0
  47. package/dist/development/src/migrations/2024-07-29-150000-event-data-index.js +12 -0
  48. package/dist/development/src/migrations/2024-07-29-150000-event-data-index.js.map +1 -0
  49. package/dist/development/src/migrations/runner.cjs +11 -5
  50. package/dist/development/src/migrations/runner.cjs.map +1 -1
  51. package/dist/development/src/migrations/runner.js +11 -5
  52. package/dist/development/src/migrations/runner.js.map +1 -1
  53. package/dist/development/src/migrations/snapshot-factory.cjs +1 -1
  54. package/dist/development/src/migrations/snapshot-factory.cjs.map +1 -1
  55. package/dist/development/src/migrations/snapshot-factory.js +1 -1
  56. package/dist/development/src/migrations/snapshot-factory.js.map +1 -1
  57. package/dist/development/src/migrations/snapshot.cjs +17 -1
  58. package/dist/development/src/migrations/snapshot.cjs.map +1 -1
  59. package/dist/development/src/migrations/snapshot.js +17 -1
  60. package/dist/development/src/migrations/snapshot.js.map +1 -1
  61. package/dist/development/src/model/ProjectInitializer.cjs.map +1 -1
  62. package/dist/development/src/model/ProjectInitializer.js.map +1 -1
  63. package/dist/development/src/model/ProjectTruncateExecutor.cjs.map +1 -1
  64. package/dist/development/src/model/ProjectTruncateExecutor.js.map +1 -1
  65. package/dist/development/src/model/authorization/AuthorizationActions.cjs +1 -0
  66. package/dist/development/src/model/authorization/AuthorizationActions.cjs.map +1 -1
  67. package/dist/development/src/model/authorization/AuthorizationActions.js +1 -0
  68. package/dist/development/src/model/authorization/AuthorizationActions.js.map +1 -1
  69. package/dist/development/src/model/authorization/Identity.cjs.map +1 -1
  70. package/dist/development/src/model/authorization/Identity.js.map +1 -1
  71. package/dist/development/src/model/authorization/PermissionsFactory.cjs +1 -0
  72. package/dist/development/src/model/authorization/PermissionsFactory.cjs.map +1 -1
  73. package/dist/development/src/model/authorization/PermissionsFactory.js +1 -0
  74. package/dist/development/src/model/authorization/PermissionsFactory.js.map +1 -1
  75. package/dist/development/src/model/authorization/StagePermissionsFactory.cjs +4 -5
  76. package/dist/development/src/model/authorization/StagePermissionsFactory.cjs.map +1 -1
  77. package/dist/development/src/model/authorization/StagePermissionsFactory.js +4 -5
  78. package/dist/development/src/model/authorization/StagePermissionsFactory.js.map +1 -1
  79. package/dist/development/src/model/authorization/StageScope.cjs +2 -2
  80. package/dist/development/src/model/authorization/StageScope.cjs.map +1 -1
  81. package/dist/development/src/model/authorization/StageScope.js +2 -2
  82. package/dist/development/src/model/authorization/StageScope.js.map +1 -1
  83. package/dist/development/src/model/authorization/SwitchEvaluatorNode.cjs.map +1 -1
  84. package/dist/development/src/model/authorization/SwitchEvaluatorNode.js.map +1 -1
  85. package/dist/development/src/model/commands/CommandBus.cjs.map +1 -1
  86. package/dist/development/src/model/commands/CommandBus.js.map +1 -1
  87. package/dist/development/src/model/commands/events/TruncateEventsCommand.cjs.map +1 -1
  88. package/dist/development/src/model/commands/events/TruncateEventsCommand.js.map +1 -1
  89. package/dist/development/src/model/commands/migrations/DeleteMigrationCommand.cjs.map +1 -1
  90. package/dist/development/src/model/commands/migrations/DeleteMigrationCommand.js.map +1 -1
  91. package/dist/development/src/model/commands/migrations/ModifyMigrationCommand.cjs.map +1 -1
  92. package/dist/development/src/model/commands/migrations/ModifyMigrationCommand.js.map +1 -1
  93. package/dist/development/src/model/commands/migrations/SaveMigrationCommand.cjs.map +1 -1
  94. package/dist/development/src/model/commands/migrations/SaveMigrationCommand.js.map +1 -1
  95. package/dist/development/src/model/commands/schema/SaveSchemaCommand.cjs +28 -0
  96. package/dist/development/src/model/commands/schema/SaveSchemaCommand.cjs.map +1 -0
  97. package/dist/development/src/model/commands/schema/SaveSchemaCommand.js +28 -0
  98. package/dist/development/src/model/commands/schema/SaveSchemaCommand.js.map +1 -0
  99. package/dist/development/src/model/commands/stages/CreateStageCommand.cjs.map +1 -1
  100. package/dist/development/src/model/commands/stages/CreateStageCommand.js.map +1 -1
  101. package/dist/development/src/model/database/DatabaseContext.cjs.map +1 -1
  102. package/dist/development/src/model/database/DatabaseContext.js.map +1 -1
  103. package/dist/development/src/model/dtos/ExecutedMigration.cjs.map +1 -1
  104. package/dist/development/src/model/dtos/ExecutedMigration.js.map +1 -1
  105. package/dist/development/src/model/events/EventResponseBuilder.cjs.map +1 -1
  106. package/dist/development/src/model/events/EventResponseBuilder.js.map +1 -1
  107. package/dist/development/src/model/events/EventResponseHelper.cjs.map +1 -1
  108. package/dist/development/src/model/events/EventResponseHelper.js.map +1 -1
  109. package/dist/development/src/model/events/identityUtils.cjs.map +1 -1
  110. package/dist/development/src/model/events/identityUtils.js.map +1 -1
  111. package/dist/development/src/model/events/types.cjs.map +1 -1
  112. package/dist/development/src/model/events/types.js.map +1 -1
  113. package/dist/development/src/model/helpers/modelHelpers.cjs.map +1 -1
  114. package/dist/development/src/model/helpers/modelHelpers.js.map +1 -1
  115. package/dist/development/src/model/metadata/SchemaDatabaseMetadataResolverStore.cjs.map +1 -1
  116. package/dist/development/src/model/metadata/SchemaDatabaseMetadataResolverStore.js.map +1 -1
  117. package/dist/development/src/model/migrations/ExecutedMigrationsResolver.cjs.map +1 -1
  118. package/dist/development/src/model/migrations/ExecutedMigrationsResolver.js.map +1 -1
  119. package/dist/development/src/model/migrations/MigrationAlterer.cjs +10 -0
  120. package/dist/development/src/model/migrations/MigrationAlterer.cjs.map +1 -1
  121. package/dist/development/src/model/migrations/MigrationAlterer.js +10 -0
  122. package/dist/development/src/model/migrations/MigrationAlterer.js.map +1 -1
  123. package/dist/development/src/model/migrations/ProjectMigrator.cjs +29 -10
  124. package/dist/development/src/model/migrations/ProjectMigrator.cjs.map +1 -1
  125. package/dist/development/src/model/migrations/ProjectMigrator.js +30 -11
  126. package/dist/development/src/model/migrations/ProjectMigrator.js.map +1 -1
  127. package/dist/development/src/model/migrations/SchemaProvider.cjs +58 -0
  128. package/dist/development/src/model/migrations/SchemaProvider.cjs.map +1 -0
  129. package/dist/development/src/model/migrations/SchemaProvider.js +58 -0
  130. package/dist/development/src/model/migrations/SchemaProvider.js.map +1 -0
  131. package/dist/development/src/model/queries/events/EventQueryHelpers.cjs.map +1 -1
  132. package/dist/development/src/model/queries/events/EventQueryHelpers.js.map +1 -1
  133. package/dist/development/src/model/queries/events/EventsQuery.cjs +10 -14
  134. package/dist/development/src/model/queries/events/EventsQuery.cjs.map +1 -1
  135. package/dist/development/src/model/queries/events/EventsQuery.js +10 -14
  136. package/dist/development/src/model/queries/events/EventsQuery.js.map +1 -1
  137. package/dist/development/src/model/queries/events/LatestTransactionIdByStageQuery.cjs.map +1 -1
  138. package/dist/development/src/model/queries/events/LatestTransactionIdByStageQuery.js.map +1 -1
  139. package/dist/development/src/model/queries/events/OldValuesQuery.cjs.map +1 -1
  140. package/dist/development/src/model/queries/events/OldValuesQuery.js.map +1 -1
  141. package/dist/development/src/model/queries/migrations/ExecutedMigrationByVersionQuery.cjs.map +1 -1
  142. package/dist/development/src/model/queries/migrations/ExecutedMigrationByVersionQuery.js.map +1 -1
  143. package/dist/development/src/model/queries/migrations/ExecutedMigrationsQuery.cjs.map +1 -1
  144. package/dist/development/src/model/queries/migrations/ExecutedMigrationsQuery.js.map +1 -1
  145. package/dist/development/src/model/queries/schema/SchemaQuery.cjs +34 -0
  146. package/dist/development/src/model/queries/schema/SchemaQuery.cjs.map +1 -0
  147. package/dist/development/src/model/queries/schema/SchemaQuery.js +34 -0
  148. package/dist/development/src/model/queries/schema/SchemaQuery.js.map +1 -0
  149. package/dist/development/src/model/queries/stages/StageBySlugQuery.cjs.map +1 -1
  150. package/dist/development/src/model/queries/stages/StageBySlugQuery.js.map +1 -1
  151. package/dist/development/src/model/queries/stages/StagesQuery.cjs.map +1 -1
  152. package/dist/development/src/model/queries/stages/StagesQuery.js.map +1 -1
  153. package/dist/development/src/model/stages/StageCreator.cjs.map +1 -1
  154. package/dist/development/src/model/stages/StageCreator.js.map +1 -1
  155. package/dist/development/src/resolvers/ResolverFactory.cjs +6 -2
  156. package/dist/development/src/resolvers/ResolverFactory.cjs.map +1 -1
  157. package/dist/development/src/resolvers/ResolverFactory.js +7 -3
  158. package/dist/development/src/resolvers/ResolverFactory.js.map +1 -1
  159. package/dist/development/src/resolvers/SystemResolverContext.cjs +5 -5
  160. package/dist/development/src/resolvers/SystemResolverContext.cjs.map +1 -1
  161. package/dist/development/src/resolvers/SystemResolverContext.js +5 -5
  162. package/dist/development/src/resolvers/SystemResolverContext.js.map +1 -1
  163. package/dist/development/src/resolvers/mutation/MigrateMutationResolver.cjs +0 -1
  164. package/dist/development/src/resolvers/mutation/MigrateMutationResolver.cjs.map +1 -1
  165. package/dist/development/src/resolvers/mutation/MigrateMutationResolver.js +0 -1
  166. package/dist/development/src/resolvers/mutation/MigrateMutationResolver.js.map +1 -1
  167. package/dist/development/src/resolvers/mutation/MigrationAlterMutationResolver.cjs +0 -1
  168. package/dist/development/src/resolvers/mutation/MigrationAlterMutationResolver.cjs.map +1 -1
  169. package/dist/development/src/resolvers/mutation/MigrationAlterMutationResolver.js +0 -1
  170. package/dist/development/src/resolvers/mutation/MigrationAlterMutationResolver.js.map +1 -1
  171. package/dist/development/src/resolvers/mutation/TruncateMutationResolver.cjs +1 -1
  172. package/dist/development/src/resolvers/mutation/TruncateMutationResolver.cjs.map +1 -1
  173. package/dist/development/src/resolvers/mutation/TruncateMutationResolver.js +1 -1
  174. package/dist/development/src/resolvers/mutation/TruncateMutationResolver.js.map +1 -1
  175. package/dist/development/src/resolvers/query/EventsQueryResolver.cjs +0 -1
  176. package/dist/development/src/resolvers/query/EventsQueryResolver.cjs.map +1 -1
  177. package/dist/development/src/resolvers/query/EventsQueryResolver.js +0 -1
  178. package/dist/development/src/resolvers/query/EventsQueryResolver.js.map +1 -1
  179. package/dist/development/src/resolvers/query/ExecutedMigrationsQueryResolver.cjs +0 -1
  180. package/dist/development/src/resolvers/query/ExecutedMigrationsQueryResolver.cjs.map +1 -1
  181. package/dist/development/src/resolvers/query/ExecutedMigrationsQueryResolver.js +0 -1
  182. package/dist/development/src/resolvers/query/ExecutedMigrationsQueryResolver.js.map +1 -1
  183. package/dist/development/src/resolvers/query/SchemaQueryResolver.cjs +23 -0
  184. package/dist/development/src/resolvers/query/SchemaQueryResolver.cjs.map +1 -0
  185. package/dist/development/src/resolvers/query/SchemaQueryResolver.js +23 -0
  186. package/dist/development/src/resolvers/query/SchemaQueryResolver.js.map +1 -0
  187. package/dist/development/src/resolvers/query/StagesQueryResolver.cjs +0 -1
  188. package/dist/development/src/resolvers/query/StagesQueryResolver.cjs.map +1 -1
  189. package/dist/development/src/resolvers/query/StagesQueryResolver.js +0 -1
  190. package/dist/development/src/resolvers/query/StagesQueryResolver.js.map +1 -1
  191. package/dist/development/src/resolvers/types/EventOldValuesResolver.cjs.map +1 -1
  192. package/dist/development/src/resolvers/types/EventOldValuesResolver.js.map +1 -1
  193. package/dist/development/src/resolvers/types/OldValuesHelpers.cjs +0 -1
  194. package/dist/development/src/resolvers/types/OldValuesHelpers.cjs.map +1 -1
  195. package/dist/development/src/resolvers/types/OldValuesHelpers.js +0 -1
  196. package/dist/development/src/resolvers/types/OldValuesHelpers.js.map +1 -1
  197. package/dist/development/src/schema/dev.graphql.cjs.map +1 -1
  198. package/dist/development/src/schema/system.graphql.cjs +3 -1
  199. package/dist/development/src/schema/system.graphql.cjs.map +1 -1
  200. package/dist/development/src/schema/system.graphql.js +3 -1
  201. package/dist/development/src/schema/system.graphql.js.map +1 -1
  202. package/dist/development/src/schema/types.cjs.map +1 -1
  203. package/dist/development/src/schema/types.js.map +1 -1
  204. package/dist/development/src/utils/MapSet.cjs.map +1 -1
  205. package/dist/development/src/utils/MapSet.js.map +1 -1
  206. package/dist/development/src/utils/Response.cjs.map +1 -1
  207. package/dist/development/src/utils/Response.js.map +1 -1
  208. package/dist/development/src/utils/batchQuery.cjs.map +1 -1
  209. package/dist/development/src/utils/batchQuery.js.map +1 -1
  210. package/dist/production/index.cjs +2 -2
  211. package/dist/production/index.js +2 -2
  212. package/dist/production/src/SystemContainer.cjs +4 -3
  213. package/dist/production/src/SystemContainer.cjs.map +1 -1
  214. package/dist/production/src/SystemContainer.js +5 -4
  215. package/dist/production/src/SystemContainer.js.map +1 -1
  216. package/dist/production/src/migrations/2020-03-27-130000-project-migrations.cjs.map +1 -1
  217. package/dist/production/src/migrations/2020-03-27-130000-project-migrations.js.map +1 -1
  218. package/dist/production/src/migrations/2020-05-06-150000-composed-primary.cjs +1 -2
  219. package/dist/production/src/migrations/2020-05-06-150000-composed-primary.cjs.map +1 -1
  220. package/dist/production/src/migrations/2020-05-06-150000-composed-primary.js +1 -2
  221. package/dist/production/src/migrations/2020-05-06-150000-composed-primary.js.map +1 -1
  222. package/dist/production/src/migrations/2020-06-01-103000-event-trigger-perf.cjs +1 -2
  223. package/dist/production/src/migrations/2020-06-01-103000-event-trigger-perf.cjs.map +1 -1
  224. package/dist/production/src/migrations/2020-06-01-103000-event-trigger-perf.js +1 -2
  225. package/dist/production/src/migrations/2020-06-01-103000-event-trigger-perf.js.map +1 -1
  226. package/dist/production/src/migrations/2021-05-07-155800-event-log-rework.cjs +1 -2
  227. package/dist/production/src/migrations/2021-05-07-155800-event-log-rework.cjs.map +1 -1
  228. package/dist/production/src/migrations/2021-05-07-155800-event-log-rework.js +1 -2
  229. package/dist/production/src/migrations/2021-05-07-155800-event-log-rework.js.map +1 -1
  230. package/dist/production/src/migrations/2021-05-19-1232000-event-log-fix-constraint.cjs +1 -2
  231. package/dist/production/src/migrations/2021-05-19-1232000-event-log-fix-constraint.cjs.map +1 -1
  232. package/dist/production/src/migrations/2021-05-19-1232000-event-log-fix-constraint.js +1 -2
  233. package/dist/production/src/migrations/2021-05-19-1232000-event-log-fix-constraint.js.map +1 -1
  234. package/dist/production/src/migrations/2022-10-03-110000-table-on-delete.cjs +1 -1
  235. package/dist/production/src/migrations/2022-10-03-110000-table-on-delete.cjs.map +1 -1
  236. package/dist/production/src/migrations/2022-10-03-110000-table-on-delete.js +1 -1
  237. package/dist/production/src/migrations/2022-10-03-110000-table-on-delete.js.map +1 -1
  238. package/dist/production/src/migrations/2023-09-11-174000-fix-on-delete.cjs +1 -1
  239. package/dist/production/src/migrations/2023-09-11-174000-fix-on-delete.cjs.map +1 -1
  240. package/dist/production/src/migrations/2023-09-11-174000-fix-on-delete.js +1 -1
  241. package/dist/production/src/migrations/2023-09-11-174000-fix-on-delete.js.map +1 -1
  242. package/dist/production/src/migrations/2023-10-19-173000-fix-unique.cjs +1 -1
  243. package/dist/production/src/migrations/2023-10-19-173000-fix-unique.cjs.map +1 -1
  244. package/dist/production/src/migrations/2023-10-19-173000-fix-unique.js +1 -1
  245. package/dist/production/src/migrations/2023-10-19-173000-fix-unique.js.map +1 -1
  246. package/dist/production/src/migrations/2024-06-28-153000-schema.cjs +18 -0
  247. package/dist/production/src/migrations/2024-06-28-153000-schema.cjs.map +1 -0
  248. package/dist/production/src/migrations/2024-06-28-153000-schema.js +19 -0
  249. package/dist/production/src/migrations/2024-06-28-153000-schema.js.map +1 -0
  250. package/dist/production/src/migrations/2024-06-28-153001-schema-init.cjs +12 -0
  251. package/dist/production/src/migrations/2024-06-28-153001-schema-init.cjs.map +1 -0
  252. package/dist/production/src/migrations/2024-06-28-153001-schema-init.js +13 -0
  253. package/dist/production/src/migrations/2024-06-28-153001-schema-init.js.map +1 -0
  254. package/dist/production/src/migrations/2024-07-29-150000-event-data-index.cjs +11 -0
  255. package/dist/production/src/migrations/2024-07-29-150000-event-data-index.cjs.map +1 -0
  256. package/dist/production/src/migrations/2024-07-29-150000-event-data-index.js +12 -0
  257. package/dist/production/src/migrations/2024-07-29-150000-event-data-index.js.map +1 -0
  258. package/dist/production/src/migrations/runner.cjs +11 -5
  259. package/dist/production/src/migrations/runner.cjs.map +1 -1
  260. package/dist/production/src/migrations/runner.js +11 -5
  261. package/dist/production/src/migrations/runner.js.map +1 -1
  262. package/dist/production/src/migrations/snapshot-factory.cjs +1 -1
  263. package/dist/production/src/migrations/snapshot-factory.cjs.map +1 -1
  264. package/dist/production/src/migrations/snapshot-factory.js +1 -1
  265. package/dist/production/src/migrations/snapshot-factory.js.map +1 -1
  266. package/dist/production/src/migrations/snapshot.cjs +17 -1
  267. package/dist/production/src/migrations/snapshot.cjs.map +1 -1
  268. package/dist/production/src/migrations/snapshot.js +17 -1
  269. package/dist/production/src/migrations/snapshot.js.map +1 -1
  270. package/dist/production/src/model/ProjectInitializer.cjs.map +1 -1
  271. package/dist/production/src/model/ProjectInitializer.js.map +1 -1
  272. package/dist/production/src/model/ProjectTruncateExecutor.cjs.map +1 -1
  273. package/dist/production/src/model/ProjectTruncateExecutor.js.map +1 -1
  274. package/dist/production/src/model/authorization/AuthorizationActions.cjs +1 -0
  275. package/dist/production/src/model/authorization/AuthorizationActions.cjs.map +1 -1
  276. package/dist/production/src/model/authorization/AuthorizationActions.js +1 -0
  277. package/dist/production/src/model/authorization/AuthorizationActions.js.map +1 -1
  278. package/dist/production/src/model/authorization/Identity.cjs.map +1 -1
  279. package/dist/production/src/model/authorization/Identity.js.map +1 -1
  280. package/dist/production/src/model/authorization/PermissionsFactory.cjs +1 -0
  281. package/dist/production/src/model/authorization/PermissionsFactory.cjs.map +1 -1
  282. package/dist/production/src/model/authorization/PermissionsFactory.js +1 -0
  283. package/dist/production/src/model/authorization/PermissionsFactory.js.map +1 -1
  284. package/dist/production/src/model/authorization/StagePermissionsFactory.cjs +4 -5
  285. package/dist/production/src/model/authorization/StagePermissionsFactory.cjs.map +1 -1
  286. package/dist/production/src/model/authorization/StagePermissionsFactory.js +4 -5
  287. package/dist/production/src/model/authorization/StagePermissionsFactory.js.map +1 -1
  288. package/dist/production/src/model/authorization/StageScope.cjs +2 -2
  289. package/dist/production/src/model/authorization/StageScope.cjs.map +1 -1
  290. package/dist/production/src/model/authorization/StageScope.js +2 -2
  291. package/dist/production/src/model/authorization/StageScope.js.map +1 -1
  292. package/dist/production/src/model/authorization/SwitchEvaluatorNode.cjs.map +1 -1
  293. package/dist/production/src/model/authorization/SwitchEvaluatorNode.js.map +1 -1
  294. package/dist/production/src/model/commands/CommandBus.cjs.map +1 -1
  295. package/dist/production/src/model/commands/CommandBus.js.map +1 -1
  296. package/dist/production/src/model/commands/events/TruncateEventsCommand.cjs.map +1 -1
  297. package/dist/production/src/model/commands/events/TruncateEventsCommand.js.map +1 -1
  298. package/dist/production/src/model/commands/migrations/DeleteMigrationCommand.cjs.map +1 -1
  299. package/dist/production/src/model/commands/migrations/DeleteMigrationCommand.js.map +1 -1
  300. package/dist/production/src/model/commands/migrations/ModifyMigrationCommand.cjs.map +1 -1
  301. package/dist/production/src/model/commands/migrations/ModifyMigrationCommand.js.map +1 -1
  302. package/dist/production/src/model/commands/migrations/SaveMigrationCommand.cjs.map +1 -1
  303. package/dist/production/src/model/commands/migrations/SaveMigrationCommand.js.map +1 -1
  304. package/dist/production/src/model/commands/schema/SaveSchemaCommand.cjs +28 -0
  305. package/dist/production/src/model/commands/schema/SaveSchemaCommand.cjs.map +1 -0
  306. package/dist/production/src/model/commands/schema/SaveSchemaCommand.js +28 -0
  307. package/dist/production/src/model/commands/schema/SaveSchemaCommand.js.map +1 -0
  308. package/dist/production/src/model/commands/stages/CreateStageCommand.cjs.map +1 -1
  309. package/dist/production/src/model/commands/stages/CreateStageCommand.js.map +1 -1
  310. package/dist/production/src/model/database/DatabaseContext.cjs.map +1 -1
  311. package/dist/production/src/model/database/DatabaseContext.js.map +1 -1
  312. package/dist/production/src/model/dtos/ExecutedMigration.cjs.map +1 -1
  313. package/dist/production/src/model/dtos/ExecutedMigration.js.map +1 -1
  314. package/dist/production/src/model/events/EventResponseBuilder.cjs.map +1 -1
  315. package/dist/production/src/model/events/EventResponseBuilder.js.map +1 -1
  316. package/dist/production/src/model/events/EventResponseHelper.cjs.map +1 -1
  317. package/dist/production/src/model/events/EventResponseHelper.js.map +1 -1
  318. package/dist/production/src/model/events/identityUtils.cjs.map +1 -1
  319. package/dist/production/src/model/events/identityUtils.js.map +1 -1
  320. package/dist/production/src/model/events/types.cjs.map +1 -1
  321. package/dist/production/src/model/events/types.js.map +1 -1
  322. package/dist/production/src/model/helpers/modelHelpers.cjs.map +1 -1
  323. package/dist/production/src/model/helpers/modelHelpers.js.map +1 -1
  324. package/dist/production/src/model/metadata/SchemaDatabaseMetadataResolverStore.cjs.map +1 -1
  325. package/dist/production/src/model/metadata/SchemaDatabaseMetadataResolverStore.js.map +1 -1
  326. package/dist/production/src/model/migrations/ExecutedMigrationsResolver.cjs.map +1 -1
  327. package/dist/production/src/model/migrations/ExecutedMigrationsResolver.js.map +1 -1
  328. package/dist/production/src/model/migrations/MigrationAlterer.cjs +10 -0
  329. package/dist/production/src/model/migrations/MigrationAlterer.cjs.map +1 -1
  330. package/dist/production/src/model/migrations/MigrationAlterer.js +10 -0
  331. package/dist/production/src/model/migrations/MigrationAlterer.js.map +1 -1
  332. package/dist/production/src/model/migrations/ProjectMigrator.cjs +29 -10
  333. package/dist/production/src/model/migrations/ProjectMigrator.cjs.map +1 -1
  334. package/dist/production/src/model/migrations/ProjectMigrator.js +30 -11
  335. package/dist/production/src/model/migrations/ProjectMigrator.js.map +1 -1
  336. package/dist/production/src/model/migrations/SchemaProvider.cjs +58 -0
  337. package/dist/production/src/model/migrations/SchemaProvider.cjs.map +1 -0
  338. package/dist/production/src/model/migrations/SchemaProvider.js +58 -0
  339. package/dist/production/src/model/migrations/SchemaProvider.js.map +1 -0
  340. package/dist/production/src/model/queries/events/EventQueryHelpers.cjs.map +1 -1
  341. package/dist/production/src/model/queries/events/EventQueryHelpers.js.map +1 -1
  342. package/dist/production/src/model/queries/events/EventsQuery.cjs +10 -14
  343. package/dist/production/src/model/queries/events/EventsQuery.cjs.map +1 -1
  344. package/dist/production/src/model/queries/events/EventsQuery.js +10 -14
  345. package/dist/production/src/model/queries/events/EventsQuery.js.map +1 -1
  346. package/dist/production/src/model/queries/events/LatestTransactionIdByStageQuery.cjs.map +1 -1
  347. package/dist/production/src/model/queries/events/LatestTransactionIdByStageQuery.js.map +1 -1
  348. package/dist/production/src/model/queries/events/OldValuesQuery.cjs.map +1 -1
  349. package/dist/production/src/model/queries/events/OldValuesQuery.js.map +1 -1
  350. package/dist/production/src/model/queries/migrations/ExecutedMigrationByVersionQuery.cjs.map +1 -1
  351. package/dist/production/src/model/queries/migrations/ExecutedMigrationByVersionQuery.js.map +1 -1
  352. package/dist/production/src/model/queries/migrations/ExecutedMigrationsQuery.cjs.map +1 -1
  353. package/dist/production/src/model/queries/migrations/ExecutedMigrationsQuery.js.map +1 -1
  354. package/dist/production/src/model/queries/schema/SchemaQuery.cjs +34 -0
  355. package/dist/production/src/model/queries/schema/SchemaQuery.cjs.map +1 -0
  356. package/dist/production/src/model/queries/schema/SchemaQuery.js +34 -0
  357. package/dist/production/src/model/queries/schema/SchemaQuery.js.map +1 -0
  358. package/dist/production/src/model/queries/stages/StageBySlugQuery.cjs.map +1 -1
  359. package/dist/production/src/model/queries/stages/StageBySlugQuery.js.map +1 -1
  360. package/dist/production/src/model/queries/stages/StagesQuery.cjs.map +1 -1
  361. package/dist/production/src/model/queries/stages/StagesQuery.js.map +1 -1
  362. package/dist/production/src/model/stages/StageCreator.cjs.map +1 -1
  363. package/dist/production/src/model/stages/StageCreator.js.map +1 -1
  364. package/dist/production/src/resolvers/ResolverFactory.cjs +6 -2
  365. package/dist/production/src/resolvers/ResolverFactory.cjs.map +1 -1
  366. package/dist/production/src/resolvers/ResolverFactory.js +7 -3
  367. package/dist/production/src/resolvers/ResolverFactory.js.map +1 -1
  368. package/dist/production/src/resolvers/SystemResolverContext.cjs +5 -5
  369. package/dist/production/src/resolvers/SystemResolverContext.cjs.map +1 -1
  370. package/dist/production/src/resolvers/SystemResolverContext.js +5 -5
  371. package/dist/production/src/resolvers/SystemResolverContext.js.map +1 -1
  372. package/dist/production/src/resolvers/mutation/MigrateMutationResolver.cjs +0 -1
  373. package/dist/production/src/resolvers/mutation/MigrateMutationResolver.cjs.map +1 -1
  374. package/dist/production/src/resolvers/mutation/MigrateMutationResolver.js +0 -1
  375. package/dist/production/src/resolvers/mutation/MigrateMutationResolver.js.map +1 -1
  376. package/dist/production/src/resolvers/mutation/MigrationAlterMutationResolver.cjs +0 -1
  377. package/dist/production/src/resolvers/mutation/MigrationAlterMutationResolver.cjs.map +1 -1
  378. package/dist/production/src/resolvers/mutation/MigrationAlterMutationResolver.js +0 -1
  379. package/dist/production/src/resolvers/mutation/MigrationAlterMutationResolver.js.map +1 -1
  380. package/dist/production/src/resolvers/mutation/TruncateMutationResolver.cjs +1 -1
  381. package/dist/production/src/resolvers/mutation/TruncateMutationResolver.cjs.map +1 -1
  382. package/dist/production/src/resolvers/mutation/TruncateMutationResolver.js +1 -1
  383. package/dist/production/src/resolvers/mutation/TruncateMutationResolver.js.map +1 -1
  384. package/dist/production/src/resolvers/query/EventsQueryResolver.cjs +0 -1
  385. package/dist/production/src/resolvers/query/EventsQueryResolver.cjs.map +1 -1
  386. package/dist/production/src/resolvers/query/EventsQueryResolver.js +0 -1
  387. package/dist/production/src/resolvers/query/EventsQueryResolver.js.map +1 -1
  388. package/dist/production/src/resolvers/query/ExecutedMigrationsQueryResolver.cjs +0 -1
  389. package/dist/production/src/resolvers/query/ExecutedMigrationsQueryResolver.cjs.map +1 -1
  390. package/dist/production/src/resolvers/query/ExecutedMigrationsQueryResolver.js +0 -1
  391. package/dist/production/src/resolvers/query/ExecutedMigrationsQueryResolver.js.map +1 -1
  392. package/dist/production/src/resolvers/query/SchemaQueryResolver.cjs +23 -0
  393. package/dist/production/src/resolvers/query/SchemaQueryResolver.cjs.map +1 -0
  394. package/dist/production/src/resolvers/query/SchemaQueryResolver.js +23 -0
  395. package/dist/production/src/resolvers/query/SchemaQueryResolver.js.map +1 -0
  396. package/dist/production/src/resolvers/query/StagesQueryResolver.cjs +0 -1
  397. package/dist/production/src/resolvers/query/StagesQueryResolver.cjs.map +1 -1
  398. package/dist/production/src/resolvers/query/StagesQueryResolver.js +0 -1
  399. package/dist/production/src/resolvers/query/StagesQueryResolver.js.map +1 -1
  400. package/dist/production/src/resolvers/types/EventOldValuesResolver.cjs.map +1 -1
  401. package/dist/production/src/resolvers/types/EventOldValuesResolver.js.map +1 -1
  402. package/dist/production/src/resolvers/types/OldValuesHelpers.cjs +0 -1
  403. package/dist/production/src/resolvers/types/OldValuesHelpers.cjs.map +1 -1
  404. package/dist/production/src/resolvers/types/OldValuesHelpers.js +0 -1
  405. package/dist/production/src/resolvers/types/OldValuesHelpers.js.map +1 -1
  406. package/dist/production/src/schema/dev.graphql.cjs.map +1 -1
  407. package/dist/production/src/schema/system.graphql.cjs +3 -1
  408. package/dist/production/src/schema/system.graphql.cjs.map +1 -1
  409. package/dist/production/src/schema/system.graphql.js +3 -1
  410. package/dist/production/src/schema/system.graphql.js.map +1 -1
  411. package/dist/production/src/schema/types.cjs.map +1 -1
  412. package/dist/production/src/schema/types.js.map +1 -1
  413. package/dist/production/src/utils/MapSet.cjs.map +1 -1
  414. package/dist/production/src/utils/MapSet.js.map +1 -1
  415. package/dist/production/src/utils/Response.cjs.map +1 -1
  416. package/dist/production/src/utils/Response.js.map +1 -1
  417. package/dist/production/src/utils/batchQuery.cjs.map +1 -1
  418. package/dist/production/src/utils/batchQuery.js.map +1 -1
  419. package/dist/tests/cases/unit/eventsQuery.test.d.ts +2 -0
  420. package/dist/tests/cases/unit/eventsQuery.test.d.ts.map +1 -0
  421. package/dist/tests/src/uuid.d.ts +3 -0
  422. package/dist/tests/src/uuid.d.ts.map +1 -0
  423. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  424. package/dist/types/SystemContainer.d.ts +8 -6
  425. package/dist/types/SystemContainer.d.ts.map +1 -1
  426. package/dist/types/index.d.ts +1 -1
  427. package/dist/types/index.d.ts.map +1 -1
  428. package/dist/types/migrations/2024-06-28-153000-schema.d.ts +3 -0
  429. package/dist/types/migrations/2024-06-28-153000-schema.d.ts.map +1 -0
  430. package/dist/types/migrations/2024-06-28-153001-schema-init.d.ts +4 -0
  431. package/dist/types/migrations/2024-06-28-153001-schema-init.d.ts.map +1 -0
  432. package/dist/types/migrations/2024-07-29-150000-event-data-index.d.ts +3 -0
  433. package/dist/types/migrations/2024-07-29-150000-event-data-index.d.ts.map +1 -0
  434. package/dist/types/migrations/runner.d.ts +3 -3
  435. package/dist/types/migrations/runner.d.ts.map +1 -1
  436. package/dist/types/migrations/snapshot.d.ts.map +1 -1
  437. package/dist/types/migrations/types.d.ts +2 -2
  438. package/dist/types/migrations/types.d.ts.map +1 -1
  439. package/dist/types/model/SchemaGetter.d.ts +6 -0
  440. package/dist/types/model/SchemaGetter.d.ts.map +1 -0
  441. package/dist/types/model/authorization/AuthorizationActions.d.ts +5 -0
  442. package/dist/types/model/authorization/AuthorizationActions.d.ts.map +1 -1
  443. package/dist/types/model/authorization/PermissionsFactory.d.ts.map +1 -1
  444. package/dist/types/model/authorization/StagePermissionsFactory.d.ts +4 -4
  445. package/dist/types/model/authorization/StagePermissionsFactory.d.ts.map +1 -1
  446. package/dist/types/model/authorization/StageScope.d.ts.map +1 -1
  447. package/dist/types/model/commands/schema/SaveSchemaCommand.d.ts +8 -0
  448. package/dist/types/model/commands/schema/SaveSchemaCommand.d.ts.map +1 -0
  449. package/dist/types/model/dependencies/content/ContentQueryExecutor.d.ts +3 -2
  450. package/dist/types/model/dependencies/content/ContentQueryExecutor.d.ts.map +1 -1
  451. package/dist/types/model/migrations/MigrationAlterer.d.ts +4 -0
  452. package/dist/types/model/migrations/MigrationAlterer.d.ts.map +1 -1
  453. package/dist/types/model/migrations/ProjectMigrator.d.ts +3 -3
  454. package/dist/types/model/migrations/ProjectMigrator.d.ts.map +1 -1
  455. package/dist/types/model/migrations/SchemaProvider.d.ts +28 -0
  456. package/dist/types/model/migrations/SchemaProvider.d.ts.map +1 -0
  457. package/dist/types/model/migrations/index.d.ts +1 -1
  458. package/dist/types/model/migrations/index.d.ts.map +1 -1
  459. package/dist/types/model/queries/events/EventsQuery.d.ts.map +1 -1
  460. package/dist/types/model/queries/index.d.ts +1 -0
  461. package/dist/types/model/queries/index.d.ts.map +1 -1
  462. package/dist/types/model/queries/schema/SchemaQuery.d.ts +8 -0
  463. package/dist/types/model/queries/schema/SchemaQuery.d.ts.map +1 -0
  464. package/dist/types/model/queries/schema/index.d.ts +2 -0
  465. package/dist/types/model/queries/schema/index.d.ts.map +1 -0
  466. package/dist/types/resolvers/ResolverFactory.d.ts +3 -1
  467. package/dist/types/resolvers/ResolverFactory.d.ts.map +1 -1
  468. package/dist/types/resolvers/SystemResolverContext.d.ts +4 -4
  469. package/dist/types/resolvers/SystemResolverContext.d.ts.map +1 -1
  470. package/dist/types/resolvers/query/SchemaQueryResolver.d.ts +7 -0
  471. package/dist/types/resolvers/query/SchemaQueryResolver.d.ts.map +1 -0
  472. package/dist/types/schema/system.graphql.d.ts.map +1 -1
  473. package/dist/types/schema/types.d.ts +14 -2
  474. package/dist/types/schema/types.d.ts.map +1 -1
  475. package/dist/types/tsconfig.tsbuildinfo +1 -1
  476. package/graphql.codegen.yml +3 -1
  477. package/package.json +17 -24
  478. package/src/SystemContainer.ts +14 -13
  479. package/src/bin/runMigrations.ts +4 -4
  480. package/src/index.ts +3 -2
  481. package/src/migrations/2020-05-06-150000-composed-primary.ts +1 -1
  482. package/src/migrations/2020-06-01-103000-event-trigger-perf.ts +1 -1
  483. package/src/migrations/2021-05-07-155800-event-log-rework.ts +1 -1
  484. package/src/migrations/2021-05-19-1232000-event-log-fix-constraint.ts +1 -1
  485. package/src/migrations/2022-10-03-110000-table-on-delete.ts +1 -1
  486. package/src/migrations/2023-09-11-174000-fix-on-delete.ts +1 -1
  487. package/src/migrations/2023-10-19-173000-fix-unique.ts +1 -1
  488. package/src/migrations/2024-06-28-153000-schema.ts +20 -0
  489. package/src/migrations/2024-06-28-153001-schema-init.ts +12 -0
  490. package/src/migrations/2024-07-29-150000-event-data-index.ts +11 -0
  491. package/src/migrations/runner.ts +10 -4
  492. package/src/migrations/snapshot-factory.ts +1 -1
  493. package/src/migrations/snapshot.ts +17 -1
  494. package/src/migrations/types.ts +2 -2
  495. package/src/model/SchemaGetter.ts +3 -0
  496. package/src/model/authorization/AuthorizationActions.ts +1 -0
  497. package/src/model/authorization/PermissionsFactory.ts +1 -0
  498. package/src/model/authorization/StagePermissionsFactory.ts +5 -5
  499. package/src/model/authorization/StageScope.ts +2 -2
  500. package/src/model/commands/schema/SaveSchemaCommand.ts +31 -0
  501. package/src/model/dependencies/content/ContentQueryExecutor.ts +3 -2
  502. package/src/model/migrations/MigrationAlterer.ts +14 -0
  503. package/src/model/migrations/ProjectMigrator.ts +34 -12
  504. package/src/model/migrations/SchemaProvider.ts +77 -0
  505. package/src/model/migrations/index.ts +1 -1
  506. package/src/model/queries/events/EventsQuery.ts +15 -17
  507. package/src/model/queries/index.ts +1 -0
  508. package/src/model/queries/schema/SchemaQuery.ts +48 -0
  509. package/src/model/queries/schema/index.ts +1 -0
  510. package/src/resolvers/ResolverFactory.ts +9 -1
  511. package/src/resolvers/SystemResolverContext.ts +8 -13
  512. package/src/resolvers/mutation/TruncateMutationResolver.ts +1 -1
  513. package/src/resolvers/query/SchemaQueryResolver.ts +19 -0
  514. package/src/schema/system.graphql.ts +3 -1
  515. package/src/schema/types.ts +13 -3
  516. package/tests/cases/migrations/2020-05-06-150000-composed-primary.test.ts +12 -3
  517. package/tests/cases/migrations/2020-06-01-103000-event-trigger-perf.test.ts +12 -3
  518. package/tests/cases/migrations/2022-10-03-110000-table-on-delete.test.ts +20 -8
  519. package/tests/cases/migrations/2023-09-11-174000-fix-on-delete.test.ts +37 -16
  520. package/tests/cases/migrations/2023-10-19-173000-fix-unique.test.ts +12 -3
  521. package/tests/cases/unit/eventsQuery.test.ts +39 -0
  522. package/tests/src/uuid.ts +4 -0
  523. package/dist/development/src/model/migrations/SchemaVersionBuilder.cjs +0 -37
  524. package/dist/development/src/model/migrations/SchemaVersionBuilder.cjs.map +0 -1
  525. package/dist/development/src/model/migrations/SchemaVersionBuilder.js +0 -37
  526. package/dist/development/src/model/migrations/SchemaVersionBuilder.js.map +0 -1
  527. package/dist/production/src/model/migrations/SchemaVersionBuilder.cjs +0 -37
  528. package/dist/production/src/model/migrations/SchemaVersionBuilder.cjs.map +0 -1
  529. package/dist/production/src/model/migrations/SchemaVersionBuilder.js +0 -37
  530. package/dist/production/src/model/migrations/SchemaVersionBuilder.js.map +0 -1
  531. package/dist/types/model/migrations/SchemaVersionBuilder.d.ts +0 -37
  532. package/dist/types/model/migrations/SchemaVersionBuilder.d.ts.map +0 -1
  533. package/src/model/migrations/SchemaVersionBuilder.ts +0 -43
@@ -1 +1 @@
1
- {"version":3,"file":"2022-10-03-110000-table-on-delete.cjs","sources":["../../../../../packages/engine-system-api/src/migrations/2022-10-03-110000-table-on-delete.ts"],"sourcesContent":["import { MigrationArgs, MigrationBuilder } from '@contember/database-migrations'\nimport { DatabaseMetadata, wrapIdentifier } from '@contember/database'\nimport { SystemMigrationArgs } from './types'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\nimport { Model } from '@contember/schema'\n\nexport default async function (builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>) {\n\tconst schema = await args.schemaResolver(args.connection)\n\tconst stages = (await args.connection.query<{schema: string}>('SELECT schema FROM stage')).rows\n\tconst metadataByStage: Record<string, DatabaseMetadata> = {}\n\n\tfor (const entity of Object.values(schema.model.entities)) {\n\t\tfor (const field of Object.values(entity.fields)) {\n\t\t\tconst result = acceptFieldVisitor<null | {\n\t\t\t\trelation: Model.OneHasOneOwningRelation | Model.ManyHasOneRelation\n\t\t\t\ttargetEntity: Model.Entity\n\t\t\t}>(schema.model, entity, field, {\n\t\t\t\tvisitManyHasOne: ({ entity, relation, targetEntity }) => {\n\t\t\t\t\treturn { relation, entity, targetEntity }\n\t\t\t\t},\n\t\t\t\tvisitOneHasOneOwning: ({ entity, relation, targetEntity }) => {\n\t\t\t\t\treturn { relation, entity, targetEntity }\n\t\t\t\t},\n\t\t\t\tvisitOneHasOneInverse: () => null,\n\t\t\t\tvisitManyHasManyInverse: () => null,\n\t\t\t\tvisitManyHasManyOwning: () => null,\n\t\t\t\tvisitOneHasMany: () => null,\n\t\t\t\tvisitColumn: () => null,\n\t\t\t})\n\t\t\tif (!result) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst { targetEntity, relation } = result\n\t\t\tif (entity.view || targetEntity.view) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif (relation.joiningColumn.onDelete === Model.OnDelete.restrict) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tfor (const stage of stages) {\n\t\t\t\tconst databaseMetadata = metadataByStage[stage.schema] ??= await args.databaseMetadataResolver(args.connection, stage.schema)\n\n\t\t\t\tconst fkNames = databaseMetadata.foreignKeys.filter({\n\t\t\t\t\tfromTable: entity.tableName,\n\t\t\t\t\tfromColumn: relation.joiningColumn.columnName,\n\t\t\t\t\ttoTable: targetEntity.tableName,\n\t\t\t\t\ttoColumn: targetEntity.primaryColumn,\n\t\t\t\t}).getNames()\n\t\t\t\tfor (const name of fkNames) {\n\t\t\t\t\tbuilder.sql(`ALTER TABLE ${wrapIdentifier(stage.schema)}.${wrapIdentifier(entity.tableName)} DROP CONSTRAINT ${wrapIdentifier(name)}`)\n\t\t\t\t}\n\n\t\t\t\tconst onDelete = ({\n\t\t\t\t\t[Model.OnDelete.setNull]: 'SET NULL',\n\t\t\t\t\t[Model.OnDelete.cascade]: 'CASCADE',\n\t\t\t\t} as const)[relation.joiningColumn.onDelete]\n\n\t\t\t\tbuilder.sql(`ALTER TABLE ${wrapIdentifier(stage.schema)}.${wrapIdentifier(entity.tableName)}\n\t\t\t\t\tADD FOREIGN KEY (${wrapIdentifier(relation.joiningColumn.columnName)}) \n\t\t\t\t\tREFERENCES ${wrapIdentifier(stage.schema)}.${wrapIdentifier(targetEntity.tableName)} (${wrapIdentifier(targetEntity.primaryColumn)}) ON DELETE ${onDelete} DEFERRABLE INITIALLY IMMEDIATE\n\t\t\t\t`)\n\t\t\t}\n\t\t}\n\t}\n}\n"],"names":["schema","acceptFieldVisitor","entity","relation","targetEntity","Model","wrapIdentifier"],"mappings":";;;;AAMA,eAAA,6BAA+B,SAA2B,MAA0C;AANpG,MAAA;AAOC,QAAMA,WAAS,MAAM,KAAK,eAAe,KAAK,UAAU;AACxD,QAAM,UAAU,MAAM,KAAK,WAAW,MAAwB,0BAA0B,GAAG;AAC3F,QAAM,kBAAoD,CAAA;AAE1D,aAAW,UAAU,OAAO,OAAOA,SAAO,MAAM,QAAQ,GAAG;AAC1D,eAAW,SAAS,OAAO,OAAO,OAAO,MAAM,GAAG;AACjD,YAAM,SAASC,YAAAA,mBAGZD,SAAO,OAAO,QAAQ,OAAO;AAAA,QAC/B,iBAAiB,CAAC,EAAE,QAAAE,SAAQ,UAAAC,WAAU,cAAAC,oBAAmB;AACxD,iBAAO,EAAE,UAAAD,WAAU,QAAAD,SAAQ,cAAAE;QAC5B;AAAA,QACA,sBAAsB,CAAC,EAAE,QAAAF,SAAQ,UAAAC,WAAU,cAAAC,oBAAmB;AAC7D,iBAAO,EAAE,UAAAD,WAAU,QAAAD,SAAQ,cAAAE;QAC5B;AAAA,QACA,uBAAuB,MAAM;AAAA,QAC7B,yBAAyB,MAAM;AAAA,QAC/B,wBAAwB,MAAM;AAAA,QAC9B,iBAAiB,MAAM;AAAA,QACvB,aAAa,MAAM;AAAA,MAAA,CACnB;AACD,UAAI,CAAC,QAAQ;AACZ;AAAA,MACD;AACM,YAAA,EAAE,cAAc,SAAa,IAAA;AAC/B,UAAA,OAAO,QAAQ,aAAa,MAAM;AACrC;AAAA,MACD;AACA,UAAI,SAAS,cAAc,aAAaC,OAAAA,MAAM,SAAS,UAAU;AAChE;AAAA,MACD;AACA,iBAAW,SAAS,QAAQ;AACrB,cAAA,mBAAmB,gBAAgB,KAAA,MAAM,MAAtB,MAAA,gBAAA,EAAA,IAAkC,MAAM,KAAK,yBAAyB,KAAK,YAAY,MAAM,MAAM;AAEtH,cAAA,UAAU,iBAAiB,YAAY,OAAO;AAAA,UACnD,WAAW,OAAO;AAAA,UAClB,YAAY,SAAS,cAAc;AAAA,UACnC,SAAS,aAAa;AAAA,UACtB,UAAU,aAAa;AAAA,QAAA,CACvB,EAAE,SAAS;AACZ,mBAAW,QAAQ,SAAS;AAC3B,kBAAQ,IAAI,eAAeC,SAAe,eAAA,MAAM,MAAM,CAAC,IAAIA,SAAe,eAAA,OAAO,SAAS,CAAC,oBAAoBA,SAAe,eAAA,IAAI,CAAC,EAAE;AAAA,QACtI;AAEA,cAAM,WAAY;AAAA,UACjB,CAACD,OAAA,MAAM,SAAS,OAAO,GAAG;AAAA,UAC1B,CAACA,OAAA,MAAM,SAAS,OAAO,GAAG;AAAA,QAAA,EACf,SAAS,cAAc,QAAQ;AAEnC,gBAAA,IAAI,eAAeC,SAAA,eAAe,MAAM,MAAM,CAAC,IAAIA,SAAAA,eAAe,OAAO,SAAS,CAAC;AAAA,wBACvEA,wBAAe,SAAS,cAAc,UAAU,CAAC;AAAA,kBACvDA,SAAAA,eAAe,MAAM,MAAM,CAAC,IAAIA,SAAe,eAAA,aAAa,SAAS,CAAC,KAAKA,SAAAA,eAAe,aAAa,aAAa,CAAC,eAAe,QAAQ;AAAA,KACzJ;AAAA,MACF;AAAA,IACD;AAAA,EACD;AACD;;"}
1
+ {"version":3,"file":"2022-10-03-110000-table-on-delete.cjs","sources":["../../../../../packages/engine-system-api/src/migrations/2022-10-03-110000-table-on-delete.ts"],"sourcesContent":["import { MigrationArgs, MigrationBuilder } from '@contember/database-migrations'\nimport { DatabaseMetadata, wrapIdentifier } from '@contember/database'\nimport { SystemMigrationArgs } from './types'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\nimport { Model } from '@contember/schema'\n\nexport default async function (builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>) {\n\tconst schema = (await args.schemaResolver(args.connection)).schema\n\tconst stages = (await args.connection.query<{schema: string}>('SELECT schema FROM stage')).rows\n\tconst metadataByStage: Record<string, DatabaseMetadata> = {}\n\n\tfor (const entity of Object.values(schema.model.entities)) {\n\t\tfor (const field of Object.values(entity.fields)) {\n\t\t\tconst result = acceptFieldVisitor<null | {\n\t\t\t\trelation: Model.OneHasOneOwningRelation | Model.ManyHasOneRelation\n\t\t\t\ttargetEntity: Model.Entity\n\t\t\t}>(schema.model, entity, field, {\n\t\t\t\tvisitManyHasOne: ({ entity, relation, targetEntity }) => {\n\t\t\t\t\treturn { relation, entity, targetEntity }\n\t\t\t\t},\n\t\t\t\tvisitOneHasOneOwning: ({ entity, relation, targetEntity }) => {\n\t\t\t\t\treturn { relation, entity, targetEntity }\n\t\t\t\t},\n\t\t\t\tvisitOneHasOneInverse: () => null,\n\t\t\t\tvisitManyHasManyInverse: () => null,\n\t\t\t\tvisitManyHasManyOwning: () => null,\n\t\t\t\tvisitOneHasMany: () => null,\n\t\t\t\tvisitColumn: () => null,\n\t\t\t})\n\t\t\tif (!result) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst { targetEntity, relation } = result\n\t\t\tif (entity.view || targetEntity.view) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif (relation.joiningColumn.onDelete === Model.OnDelete.restrict) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tfor (const stage of stages) {\n\t\t\t\tconst databaseMetadata = metadataByStage[stage.schema] ??= await args.databaseMetadataResolver(args.connection, stage.schema)\n\n\t\t\t\tconst fkNames = databaseMetadata.foreignKeys.filter({\n\t\t\t\t\tfromTable: entity.tableName,\n\t\t\t\t\tfromColumn: relation.joiningColumn.columnName,\n\t\t\t\t\ttoTable: targetEntity.tableName,\n\t\t\t\t\ttoColumn: targetEntity.primaryColumn,\n\t\t\t\t}).getNames()\n\t\t\t\tfor (const name of fkNames) {\n\t\t\t\t\tbuilder.sql(`ALTER TABLE ${wrapIdentifier(stage.schema)}.${wrapIdentifier(entity.tableName)} DROP CONSTRAINT ${wrapIdentifier(name)}`)\n\t\t\t\t}\n\n\t\t\t\tconst onDelete = ({\n\t\t\t\t\t[Model.OnDelete.setNull]: 'SET NULL',\n\t\t\t\t\t[Model.OnDelete.cascade]: 'CASCADE',\n\t\t\t\t} as const)[relation.joiningColumn.onDelete]\n\n\t\t\t\tbuilder.sql(`ALTER TABLE ${wrapIdentifier(stage.schema)}.${wrapIdentifier(entity.tableName)}\n\t\t\t\t\tADD FOREIGN KEY (${wrapIdentifier(relation.joiningColumn.columnName)}) \n\t\t\t\t\tREFERENCES ${wrapIdentifier(stage.schema)}.${wrapIdentifier(targetEntity.tableName)} (${wrapIdentifier(targetEntity.primaryColumn)}) ON DELETE ${onDelete} DEFERRABLE INITIALLY IMMEDIATE\n\t\t\t\t`)\n\t\t\t}\n\t\t}\n\t}\n}\n"],"names":["schema","acceptFieldVisitor","entity","relation","targetEntity","Model","wrapIdentifier"],"mappings":";;;;AAMA,eAAA,6BAA+B,SAA2B,MAA0C;AANpG,MAAA;AAOC,QAAMA,YAAU,MAAM,KAAK,eAAe,KAAK,UAAU,GAAG;AAC5D,QAAM,UAAU,MAAM,KAAK,WAAW,MAAwB,0BAA0B,GAAG;AAC3F,QAAM,kBAAoD,CAAC;AAE3D,aAAW,UAAU,OAAO,OAAOA,SAAO,MAAM,QAAQ,GAAG;AAC1D,eAAW,SAAS,OAAO,OAAO,OAAO,MAAM,GAAG;AACjD,YAAM,SAASC,YAAAA,mBAGZD,SAAO,OAAO,QAAQ,OAAO;AAAA,QAC/B,iBAAiB,CAAC,EAAE,QAAAE,SAAQ,UAAAC,WAAU,cAAAC,oBAAmB;AACxD,iBAAO,EAAE,UAAAD,WAAU,QAAAD,SAAQ,cAAAE,cAAa;AAAA,QACzC;AAAA,QACA,sBAAsB,CAAC,EAAE,QAAAF,SAAQ,UAAAC,WAAU,cAAAC,oBAAmB;AAC7D,iBAAO,EAAE,UAAAD,WAAU,QAAAD,SAAQ,cAAAE,cAAa;AAAA,QACzC;AAAA,QACA,uBAAuB,MAAM;AAAA,QAC7B,yBAAyB,MAAM;AAAA,QAC/B,wBAAwB,MAAM;AAAA,QAC9B,iBAAiB,MAAM;AAAA,QACvB,aAAa,MAAM;AAAA,MAAA,CACnB;AACD,UAAI,CAAC,QAAQ;AACZ;AAAA,MAAA;AAEK,YAAA,EAAE,cAAc,SAAA,IAAa;AAC/B,UAAA,OAAO,QAAQ,aAAa,MAAM;AACrC;AAAA,MAAA;AAED,UAAI,SAAS,cAAc,aAAaC,OAAAA,MAAM,SAAS,UAAU;AAChE;AAAA,MAAA;AAED,iBAAW,SAAS,QAAQ;AACrB,cAAA,mBAAmB,gBAAgB,KAAA,MAAM,MAAtB,MAAA,gBAAA,EAAA,IAAkC,MAAM,KAAK,yBAAyB,KAAK,YAAY,MAAM,MAAM;AAEtH,cAAA,UAAU,iBAAiB,YAAY,OAAO;AAAA,UACnD,WAAW,OAAO;AAAA,UAClB,YAAY,SAAS,cAAc;AAAA,UACnC,SAAS,aAAa;AAAA,UACtB,UAAU,aAAa;AAAA,QACvB,CAAA,EAAE,SAAS;AACZ,mBAAW,QAAQ,SAAS;AAC3B,kBAAQ,IAAI,eAAeC,SAAAA,eAAe,MAAM,MAAM,CAAC,IAAIA,SAAAA,eAAe,OAAO,SAAS,CAAC,oBAAoBA,SAAAA,eAAe,IAAI,CAAC,EAAE;AAAA,QAAA;AAGtI,cAAM,WAAY;AAAA,UACjB,CAACD,OAAA,MAAM,SAAS,OAAO,GAAG;AAAA,UAC1B,CAACA,OAAA,MAAM,SAAS,OAAO,GAAG;AAAA,QAAA,EACf,SAAS,cAAc,QAAQ;AAEnC,gBAAA,IAAI,eAAeC,wBAAe,MAAM,MAAM,CAAC,IAAIA,wBAAe,OAAO,SAAS,CAAC;AAAA,wBACvEA,wBAAe,SAAS,cAAc,UAAU,CAAC;AAAA,kBACvDA,SAAAA,eAAe,MAAM,MAAM,CAAC,IAAIA,SAAe,eAAA,aAAa,SAAS,CAAC,KAAKA,SAAAA,eAAe,aAAa,aAAa,CAAC,eAAe,QAAQ;AAAA,KACzJ;AAAA,MAAA;AAAA,IACF;AAAA,EACD;AAEF;;"}
@@ -3,7 +3,7 @@ import { acceptFieldVisitor } from "@contember/schema-utils";
3
3
  import { Model } from "@contember/schema";
4
4
  async function _20221003110000tableondelete(builder, args) {
5
5
  var _a;
6
- const schema = await args.schemaResolver(args.connection);
6
+ const schema = (await args.schemaResolver(args.connection)).schema;
7
7
  const stages = (await args.connection.query("SELECT schema FROM stage")).rows;
8
8
  const metadataByStage = {};
9
9
  for (const entity of Object.values(schema.model.entities)) {
@@ -1 +1 @@
1
- {"version":3,"file":"2022-10-03-110000-table-on-delete.js","sources":["../../../../../packages/engine-system-api/src/migrations/2022-10-03-110000-table-on-delete.ts"],"sourcesContent":["import { MigrationArgs, MigrationBuilder } from '@contember/database-migrations'\nimport { DatabaseMetadata, wrapIdentifier } from '@contember/database'\nimport { SystemMigrationArgs } from './types'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\nimport { Model } from '@contember/schema'\n\nexport default async function (builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>) {\n\tconst schema = await args.schemaResolver(args.connection)\n\tconst stages = (await args.connection.query<{schema: string}>('SELECT schema FROM stage')).rows\n\tconst metadataByStage: Record<string, DatabaseMetadata> = {}\n\n\tfor (const entity of Object.values(schema.model.entities)) {\n\t\tfor (const field of Object.values(entity.fields)) {\n\t\t\tconst result = acceptFieldVisitor<null | {\n\t\t\t\trelation: Model.OneHasOneOwningRelation | Model.ManyHasOneRelation\n\t\t\t\ttargetEntity: Model.Entity\n\t\t\t}>(schema.model, entity, field, {\n\t\t\t\tvisitManyHasOne: ({ entity, relation, targetEntity }) => {\n\t\t\t\t\treturn { relation, entity, targetEntity }\n\t\t\t\t},\n\t\t\t\tvisitOneHasOneOwning: ({ entity, relation, targetEntity }) => {\n\t\t\t\t\treturn { relation, entity, targetEntity }\n\t\t\t\t},\n\t\t\t\tvisitOneHasOneInverse: () => null,\n\t\t\t\tvisitManyHasManyInverse: () => null,\n\t\t\t\tvisitManyHasManyOwning: () => null,\n\t\t\t\tvisitOneHasMany: () => null,\n\t\t\t\tvisitColumn: () => null,\n\t\t\t})\n\t\t\tif (!result) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst { targetEntity, relation } = result\n\t\t\tif (entity.view || targetEntity.view) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif (relation.joiningColumn.onDelete === Model.OnDelete.restrict) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tfor (const stage of stages) {\n\t\t\t\tconst databaseMetadata = metadataByStage[stage.schema] ??= await args.databaseMetadataResolver(args.connection, stage.schema)\n\n\t\t\t\tconst fkNames = databaseMetadata.foreignKeys.filter({\n\t\t\t\t\tfromTable: entity.tableName,\n\t\t\t\t\tfromColumn: relation.joiningColumn.columnName,\n\t\t\t\t\ttoTable: targetEntity.tableName,\n\t\t\t\t\ttoColumn: targetEntity.primaryColumn,\n\t\t\t\t}).getNames()\n\t\t\t\tfor (const name of fkNames) {\n\t\t\t\t\tbuilder.sql(`ALTER TABLE ${wrapIdentifier(stage.schema)}.${wrapIdentifier(entity.tableName)} DROP CONSTRAINT ${wrapIdentifier(name)}`)\n\t\t\t\t}\n\n\t\t\t\tconst onDelete = ({\n\t\t\t\t\t[Model.OnDelete.setNull]: 'SET NULL',\n\t\t\t\t\t[Model.OnDelete.cascade]: 'CASCADE',\n\t\t\t\t} as const)[relation.joiningColumn.onDelete]\n\n\t\t\t\tbuilder.sql(`ALTER TABLE ${wrapIdentifier(stage.schema)}.${wrapIdentifier(entity.tableName)}\n\t\t\t\t\tADD FOREIGN KEY (${wrapIdentifier(relation.joiningColumn.columnName)}) \n\t\t\t\t\tREFERENCES ${wrapIdentifier(stage.schema)}.${wrapIdentifier(targetEntity.tableName)} (${wrapIdentifier(targetEntity.primaryColumn)}) ON DELETE ${onDelete} DEFERRABLE INITIALLY IMMEDIATE\n\t\t\t\t`)\n\t\t\t}\n\t\t}\n\t}\n}\n"],"names":["entity","relation","targetEntity"],"mappings":";;;AAMA,eAAA,6BAA+B,SAA2B,MAA0C;AANpG,MAAA;AAOC,QAAM,SAAS,MAAM,KAAK,eAAe,KAAK,UAAU;AACxD,QAAM,UAAU,MAAM,KAAK,WAAW,MAAwB,0BAA0B,GAAG;AAC3F,QAAM,kBAAoD,CAAA;AAE1D,aAAW,UAAU,OAAO,OAAO,OAAO,MAAM,QAAQ,GAAG;AAC1D,eAAW,SAAS,OAAO,OAAO,OAAO,MAAM,GAAG;AACjD,YAAM,SAAS,mBAGZ,OAAO,OAAO,QAAQ,OAAO;AAAA,QAC/B,iBAAiB,CAAC,EAAE,QAAAA,SAAQ,UAAAC,WAAU,cAAAC,oBAAmB;AACxD,iBAAO,EAAE,UAAAD,WAAU,QAAAD,SAAQ,cAAAE;QAC5B;AAAA,QACA,sBAAsB,CAAC,EAAE,QAAAF,SAAQ,UAAAC,WAAU,cAAAC,oBAAmB;AAC7D,iBAAO,EAAE,UAAAD,WAAU,QAAAD,SAAQ,cAAAE;QAC5B;AAAA,QACA,uBAAuB,MAAM;AAAA,QAC7B,yBAAyB,MAAM;AAAA,QAC/B,wBAAwB,MAAM;AAAA,QAC9B,iBAAiB,MAAM;AAAA,QACvB,aAAa,MAAM;AAAA,MAAA,CACnB;AACD,UAAI,CAAC,QAAQ;AACZ;AAAA,MACD;AACM,YAAA,EAAE,cAAc,SAAa,IAAA;AAC/B,UAAA,OAAO,QAAQ,aAAa,MAAM;AACrC;AAAA,MACD;AACA,UAAI,SAAS,cAAc,aAAa,MAAM,SAAS,UAAU;AAChE;AAAA,MACD;AACA,iBAAW,SAAS,QAAQ;AACrB,cAAA,mBAAmB,gBAAgB,KAAA,MAAM,MAAtB,MAAA,gBAAA,EAAA,IAAkC,MAAM,KAAK,yBAAyB,KAAK,YAAY,MAAM,MAAM;AAEtH,cAAA,UAAU,iBAAiB,YAAY,OAAO;AAAA,UACnD,WAAW,OAAO;AAAA,UAClB,YAAY,SAAS,cAAc;AAAA,UACnC,SAAS,aAAa;AAAA,UACtB,UAAU,aAAa;AAAA,QAAA,CACvB,EAAE,SAAS;AACZ,mBAAW,QAAQ,SAAS;AAC3B,kBAAQ,IAAI,eAAe,eAAe,MAAM,MAAM,CAAC,IAAI,eAAe,OAAO,SAAS,CAAC,oBAAoB,eAAe,IAAI,CAAC,EAAE;AAAA,QACtI;AAEA,cAAM,WAAY;AAAA,UACjB,CAAC,MAAM,SAAS,OAAO,GAAG;AAAA,UAC1B,CAAC,MAAM,SAAS,OAAO,GAAG;AAAA,QAAA,EACf,SAAS,cAAc,QAAQ;AAEnC,gBAAA,IAAI,eAAe,eAAe,MAAM,MAAM,CAAC,IAAI,eAAe,OAAO,SAAS,CAAC;AAAA,wBACvE,eAAe,SAAS,cAAc,UAAU,CAAC;AAAA,kBACvD,eAAe,MAAM,MAAM,CAAC,IAAI,eAAe,aAAa,SAAS,CAAC,KAAK,eAAe,aAAa,aAAa,CAAC,eAAe,QAAQ;AAAA,KACzJ;AAAA,MACF;AAAA,IACD;AAAA,EACD;AACD;"}
1
+ {"version":3,"file":"2022-10-03-110000-table-on-delete.js","sources":["../../../../../packages/engine-system-api/src/migrations/2022-10-03-110000-table-on-delete.ts"],"sourcesContent":["import { MigrationArgs, MigrationBuilder } from '@contember/database-migrations'\nimport { DatabaseMetadata, wrapIdentifier } from '@contember/database'\nimport { SystemMigrationArgs } from './types'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\nimport { Model } from '@contember/schema'\n\nexport default async function (builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>) {\n\tconst schema = (await args.schemaResolver(args.connection)).schema\n\tconst stages = (await args.connection.query<{schema: string}>('SELECT schema FROM stage')).rows\n\tconst metadataByStage: Record<string, DatabaseMetadata> = {}\n\n\tfor (const entity of Object.values(schema.model.entities)) {\n\t\tfor (const field of Object.values(entity.fields)) {\n\t\t\tconst result = acceptFieldVisitor<null | {\n\t\t\t\trelation: Model.OneHasOneOwningRelation | Model.ManyHasOneRelation\n\t\t\t\ttargetEntity: Model.Entity\n\t\t\t}>(schema.model, entity, field, {\n\t\t\t\tvisitManyHasOne: ({ entity, relation, targetEntity }) => {\n\t\t\t\t\treturn { relation, entity, targetEntity }\n\t\t\t\t},\n\t\t\t\tvisitOneHasOneOwning: ({ entity, relation, targetEntity }) => {\n\t\t\t\t\treturn { relation, entity, targetEntity }\n\t\t\t\t},\n\t\t\t\tvisitOneHasOneInverse: () => null,\n\t\t\t\tvisitManyHasManyInverse: () => null,\n\t\t\t\tvisitManyHasManyOwning: () => null,\n\t\t\t\tvisitOneHasMany: () => null,\n\t\t\t\tvisitColumn: () => null,\n\t\t\t})\n\t\t\tif (!result) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst { targetEntity, relation } = result\n\t\t\tif (entity.view || targetEntity.view) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif (relation.joiningColumn.onDelete === Model.OnDelete.restrict) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tfor (const stage of stages) {\n\t\t\t\tconst databaseMetadata = metadataByStage[stage.schema] ??= await args.databaseMetadataResolver(args.connection, stage.schema)\n\n\t\t\t\tconst fkNames = databaseMetadata.foreignKeys.filter({\n\t\t\t\t\tfromTable: entity.tableName,\n\t\t\t\t\tfromColumn: relation.joiningColumn.columnName,\n\t\t\t\t\ttoTable: targetEntity.tableName,\n\t\t\t\t\ttoColumn: targetEntity.primaryColumn,\n\t\t\t\t}).getNames()\n\t\t\t\tfor (const name of fkNames) {\n\t\t\t\t\tbuilder.sql(`ALTER TABLE ${wrapIdentifier(stage.schema)}.${wrapIdentifier(entity.tableName)} DROP CONSTRAINT ${wrapIdentifier(name)}`)\n\t\t\t\t}\n\n\t\t\t\tconst onDelete = ({\n\t\t\t\t\t[Model.OnDelete.setNull]: 'SET NULL',\n\t\t\t\t\t[Model.OnDelete.cascade]: 'CASCADE',\n\t\t\t\t} as const)[relation.joiningColumn.onDelete]\n\n\t\t\t\tbuilder.sql(`ALTER TABLE ${wrapIdentifier(stage.schema)}.${wrapIdentifier(entity.tableName)}\n\t\t\t\t\tADD FOREIGN KEY (${wrapIdentifier(relation.joiningColumn.columnName)}) \n\t\t\t\t\tREFERENCES ${wrapIdentifier(stage.schema)}.${wrapIdentifier(targetEntity.tableName)} (${wrapIdentifier(targetEntity.primaryColumn)}) ON DELETE ${onDelete} DEFERRABLE INITIALLY IMMEDIATE\n\t\t\t\t`)\n\t\t\t}\n\t\t}\n\t}\n}\n"],"names":["entity","relation","targetEntity"],"mappings":";;;AAMA,eAAA,6BAA+B,SAA2B,MAA0C;AANpG,MAAA;AAOC,QAAM,UAAU,MAAM,KAAK,eAAe,KAAK,UAAU,GAAG;AAC5D,QAAM,UAAU,MAAM,KAAK,WAAW,MAAwB,0BAA0B,GAAG;AAC3F,QAAM,kBAAoD,CAAC;AAE3D,aAAW,UAAU,OAAO,OAAO,OAAO,MAAM,QAAQ,GAAG;AAC1D,eAAW,SAAS,OAAO,OAAO,OAAO,MAAM,GAAG;AACjD,YAAM,SAAS,mBAGZ,OAAO,OAAO,QAAQ,OAAO;AAAA,QAC/B,iBAAiB,CAAC,EAAE,QAAAA,SAAQ,UAAAC,WAAU,cAAAC,oBAAmB;AACxD,iBAAO,EAAE,UAAAD,WAAU,QAAAD,SAAQ,cAAAE,cAAa;AAAA,QACzC;AAAA,QACA,sBAAsB,CAAC,EAAE,QAAAF,SAAQ,UAAAC,WAAU,cAAAC,oBAAmB;AAC7D,iBAAO,EAAE,UAAAD,WAAU,QAAAD,SAAQ,cAAAE,cAAa;AAAA,QACzC;AAAA,QACA,uBAAuB,MAAM;AAAA,QAC7B,yBAAyB,MAAM;AAAA,QAC/B,wBAAwB,MAAM;AAAA,QAC9B,iBAAiB,MAAM;AAAA,QACvB,aAAa,MAAM;AAAA,MAAA,CACnB;AACD,UAAI,CAAC,QAAQ;AACZ;AAAA,MAAA;AAEK,YAAA,EAAE,cAAc,SAAA,IAAa;AAC/B,UAAA,OAAO,QAAQ,aAAa,MAAM;AACrC;AAAA,MAAA;AAED,UAAI,SAAS,cAAc,aAAa,MAAM,SAAS,UAAU;AAChE;AAAA,MAAA;AAED,iBAAW,SAAS,QAAQ;AACrB,cAAA,mBAAmB,gBAAgB,KAAA,MAAM,MAAtB,MAAA,gBAAA,EAAA,IAAkC,MAAM,KAAK,yBAAyB,KAAK,YAAY,MAAM,MAAM;AAEtH,cAAA,UAAU,iBAAiB,YAAY,OAAO;AAAA,UACnD,WAAW,OAAO;AAAA,UAClB,YAAY,SAAS,cAAc;AAAA,UACnC,SAAS,aAAa;AAAA,UACtB,UAAU,aAAa;AAAA,QACvB,CAAA,EAAE,SAAS;AACZ,mBAAW,QAAQ,SAAS;AAC3B,kBAAQ,IAAI,eAAe,eAAe,MAAM,MAAM,CAAC,IAAI,eAAe,OAAO,SAAS,CAAC,oBAAoB,eAAe,IAAI,CAAC,EAAE;AAAA,QAAA;AAGtI,cAAM,WAAY;AAAA,UACjB,CAAC,MAAM,SAAS,OAAO,GAAG;AAAA,UAC1B,CAAC,MAAM,SAAS,OAAO,GAAG;AAAA,QAAA,EACf,SAAS,cAAc,QAAQ;AAEnC,gBAAA,IAAI,eAAe,eAAe,MAAM,MAAM,CAAC,IAAI,eAAe,OAAO,SAAS,CAAC;AAAA,wBACvE,eAAe,SAAS,cAAc,UAAU,CAAC;AAAA,kBACvD,eAAe,MAAM,MAAM,CAAC,IAAI,eAAe,aAAa,SAAS,CAAC,KAAK,eAAe,aAAa,aAAa,CAAC,eAAe,QAAQ;AAAA,KACzJ;AAAA,MAAA;AAAA,IACF;AAAA,EACD;AAEF;"}
@@ -4,7 +4,7 @@ const schemaUtils = require("@contember/schema-utils");
4
4
  const schema = require("@contember/schema");
5
5
  async function _20230911174000fixondelete(builder, args) {
6
6
  var _a;
7
- const schema$1 = await args.schemaResolver(args.connection);
7
+ const schema$1 = (await args.schemaResolver(args.connection)).schema;
8
8
  const stages = (await args.connection.query("SELECT schema FROM stage")).rows;
9
9
  const metadataByStage = {};
10
10
  for (const entity of Object.values(schema$1.model.entities)) {
@@ -1 +1 @@
1
- {"version":3,"file":"2023-09-11-174000-fix-on-delete.cjs","sources":["../../../../../packages/engine-system-api/src/migrations/2023-09-11-174000-fix-on-delete.ts"],"sourcesContent":["import { MigrationArgs, MigrationBuilder } from '@contember/database-migrations'\nimport { DatabaseMetadata, ForeignKeyDeleteAction, wrapIdentifier } from '@contember/database'\nimport { SystemMigrationArgs } from './types'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\nimport { Model } from '@contember/schema'\n\nexport default async function (builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>) {\n\tconst schema = await args.schemaResolver(args.connection)\n\tconst stages = (await args.connection.query<{schema: string}>('SELECT schema FROM stage')).rows\n\tconst metadataByStage: Record<string, DatabaseMetadata> = {}\n\n\tfor (const entity of Object.values(schema.model.entities)) {\n\t\tfor (const field of Object.values(entity.fields)) {\n\t\t\tconst result = acceptFieldVisitor<null | {\n\t\t\t\trelation: Model.OneHasOneOwningRelation | Model.ManyHasOneRelation\n\t\t\t\ttargetEntity: Model.Entity\n\t\t\t}>(schema.model, entity, field, {\n\t\t\t\tvisitManyHasOne: ({ entity, relation, targetEntity }) => {\n\t\t\t\t\treturn { relation, entity, targetEntity }\n\t\t\t\t},\n\t\t\t\tvisitOneHasOneOwning: ({ entity, relation, targetEntity }) => {\n\t\t\t\t\treturn { relation, entity, targetEntity }\n\t\t\t\t},\n\t\t\t\tvisitOneHasOneInverse: () => null,\n\t\t\t\tvisitManyHasManyInverse: () => null,\n\t\t\t\tvisitManyHasManyOwning: () => null,\n\t\t\t\tvisitOneHasMany: () => null,\n\t\t\t\tvisitColumn: () => null,\n\t\t\t})\n\t\t\tif (!result) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst { targetEntity, relation } = result\n\t\t\tif (entity.view || targetEntity.view) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tfor (const stage of stages) {\n\t\t\t\tconst databaseMetadata = metadataByStage[stage.schema] ??= await args.databaseMetadataResolver(args.connection, stage.schema)\n\n\t\t\t\tconst fks = databaseMetadata.foreignKeys.filter({\n\t\t\t\t\tfromTable: entity.tableName,\n\t\t\t\t\tfromColumn: relation.joiningColumn.columnName,\n\t\t\t\t\ttoTable: targetEntity.tableName,\n\t\t\t\t\ttoColumn: targetEntity.primaryColumn,\n\t\t\t\t}).toArray()\n\n\t\t\t\tconst dbConstraintFlag = ({\n\t\t\t\t\t[Model.OnDelete.setNull]: ForeignKeyDeleteAction.setnull,\n\t\t\t\t\t[Model.OnDelete.cascade]: ForeignKeyDeleteAction.cascade,\n\t\t\t\t\t[Model.OnDelete.restrict]: ForeignKeyDeleteAction.restrict,\n\t\t\t\t} as const)[relation.joiningColumn.onDelete]\n\n\t\t\t\tif (fks.every(it => it.deleteAction === dbConstraintFlag)) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t\tfor (const fk of fks) {\n\t\t\t\t\tbuilder.sql(`ALTER TABLE ${wrapIdentifier(stage.schema)}.${wrapIdentifier(entity.tableName)} DROP CONSTRAINT ${wrapIdentifier(fk.constraintName)}`)\n\t\t\t\t}\n\n\t\t\t\tconst onDelete = ({\n\t\t\t\t\t[Model.OnDelete.setNull]: 'SET NULL',\n\t\t\t\t\t[Model.OnDelete.cascade]: 'CASCADE',\n\t\t\t\t\t[Model.OnDelete.restrict]: 'RESTRICT',\n\t\t\t\t} as const)[relation.joiningColumn.onDelete]\n\n\t\t\t\tbuilder.sql(`ALTER TABLE ${wrapIdentifier(stage.schema)}.${wrapIdentifier(entity.tableName)}\n\t\t\t\t\tADD FOREIGN KEY (${wrapIdentifier(relation.joiningColumn.columnName)}) \n\t\t\t\t\tREFERENCES ${wrapIdentifier(stage.schema)}.${wrapIdentifier(targetEntity.tableName)} (${wrapIdentifier(targetEntity.primaryColumn)}) ON DELETE ${onDelete} DEFERRABLE INITIALLY IMMEDIATE\n\t\t\t\t`)\n\t\t\t}\n\t\t}\n\t}\n}\n"],"names":["schema","acceptFieldVisitor","entity","relation","targetEntity","Model","ForeignKeyDeleteAction","wrapIdentifier"],"mappings":";;;;AAMA,eAAA,2BAA+B,SAA2B,MAA0C;AANpG,MAAA;AAOC,QAAMA,WAAS,MAAM,KAAK,eAAe,KAAK,UAAU;AACxD,QAAM,UAAU,MAAM,KAAK,WAAW,MAAwB,0BAA0B,GAAG;AAC3F,QAAM,kBAAoD,CAAA;AAE1D,aAAW,UAAU,OAAO,OAAOA,SAAO,MAAM,QAAQ,GAAG;AAC1D,eAAW,SAAS,OAAO,OAAO,OAAO,MAAM,GAAG;AACjD,YAAM,SAASC,YAAAA,mBAGZD,SAAO,OAAO,QAAQ,OAAO;AAAA,QAC/B,iBAAiB,CAAC,EAAE,QAAAE,SAAQ,UAAAC,WAAU,cAAAC,oBAAmB;AACxD,iBAAO,EAAE,UAAAD,WAAU,QAAAD,SAAQ,cAAAE;QAC5B;AAAA,QACA,sBAAsB,CAAC,EAAE,QAAAF,SAAQ,UAAAC,WAAU,cAAAC,oBAAmB;AAC7D,iBAAO,EAAE,UAAAD,WAAU,QAAAD,SAAQ,cAAAE;QAC5B;AAAA,QACA,uBAAuB,MAAM;AAAA,QAC7B,yBAAyB,MAAM;AAAA,QAC/B,wBAAwB,MAAM;AAAA,QAC9B,iBAAiB,MAAM;AAAA,QACvB,aAAa,MAAM;AAAA,MAAA,CACnB;AACD,UAAI,CAAC,QAAQ;AACZ;AAAA,MACD;AACM,YAAA,EAAE,cAAc,SAAa,IAAA;AAC/B,UAAA,OAAO,QAAQ,aAAa,MAAM;AACrC;AAAA,MACD;AACA,iBAAW,SAAS,QAAQ;AACrB,cAAA,mBAAmB,gBAAgB,KAAA,MAAM,MAAtB,MAAA,gBAAA,EAAA,IAAkC,MAAM,KAAK,yBAAyB,KAAK,YAAY,MAAM,MAAM;AAEtH,cAAA,MAAM,iBAAiB,YAAY,OAAO;AAAA,UAC/C,WAAW,OAAO;AAAA,UAClB,YAAY,SAAS,cAAc;AAAA,UACnC,SAAS,aAAa;AAAA,UACtB,UAAU,aAAa;AAAA,QAAA,CACvB,EAAE,QAAQ;AAEX,cAAM,mBAAoB;AAAA,UACzB,CAACC,aAAM,SAAS,OAAO,GAAGC,SAAuB,uBAAA;AAAA,UACjD,CAACD,aAAM,SAAS,OAAO,GAAGC,SAAuB,uBAAA;AAAA,UACjD,CAACD,aAAM,SAAS,QAAQ,GAAGC,SAAuB,uBAAA;AAAA,QAAA,EACvC,SAAS,cAAc,QAAQ;AAE3C,YAAI,IAAI,MAAM,CAAA,OAAM,GAAG,iBAAiB,gBAAgB,GAAG;AAC1D;AAAA,QACD;AAEA,mBAAW,MAAM,KAAK;AACrB,kBAAQ,IAAI,eAAeC,SAAA,eAAe,MAAM,MAAM,CAAC,IAAIA,SAAAA,eAAe,OAAO,SAAS,CAAC,oBAAoBA,SAAAA,eAAe,GAAG,cAAc,CAAC,EAAE;AAAA,QACnJ;AAEA,cAAM,WAAY;AAAA,UACjB,CAACF,OAAA,MAAM,SAAS,OAAO,GAAG;AAAA,UAC1B,CAACA,OAAA,MAAM,SAAS,OAAO,GAAG;AAAA,UAC1B,CAACA,OAAA,MAAM,SAAS,QAAQ,GAAG;AAAA,QAAA,EAChB,SAAS,cAAc,QAAQ;AAEnC,gBAAA,IAAI,eAAeE,SAAA,eAAe,MAAM,MAAM,CAAC,IAAIA,SAAAA,eAAe,OAAO,SAAS,CAAC;AAAA,wBACvEA,wBAAe,SAAS,cAAc,UAAU,CAAC;AAAA,kBACvDA,SAAAA,eAAe,MAAM,MAAM,CAAC,IAAIA,SAAe,eAAA,aAAa,SAAS,CAAC,KAAKA,SAAAA,eAAe,aAAa,aAAa,CAAC,eAAe,QAAQ;AAAA,KACzJ;AAAA,MACF;AAAA,IACD;AAAA,EACD;AACD;;"}
1
+ {"version":3,"file":"2023-09-11-174000-fix-on-delete.cjs","sources":["../../../../../packages/engine-system-api/src/migrations/2023-09-11-174000-fix-on-delete.ts"],"sourcesContent":["import { MigrationArgs, MigrationBuilder } from '@contember/database-migrations'\nimport { DatabaseMetadata, ForeignKeyDeleteAction, wrapIdentifier } from '@contember/database'\nimport { SystemMigrationArgs } from './types'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\nimport { Model } from '@contember/schema'\n\nexport default async function (builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>) {\n\tconst schema = (await args.schemaResolver(args.connection)).schema\n\tconst stages = (await args.connection.query<{schema: string}>('SELECT schema FROM stage')).rows\n\tconst metadataByStage: Record<string, DatabaseMetadata> = {}\n\n\tfor (const entity of Object.values(schema.model.entities)) {\n\t\tfor (const field of Object.values(entity.fields)) {\n\t\t\tconst result = acceptFieldVisitor<null | {\n\t\t\t\trelation: Model.OneHasOneOwningRelation | Model.ManyHasOneRelation\n\t\t\t\ttargetEntity: Model.Entity\n\t\t\t}>(schema.model, entity, field, {\n\t\t\t\tvisitManyHasOne: ({ entity, relation, targetEntity }) => {\n\t\t\t\t\treturn { relation, entity, targetEntity }\n\t\t\t\t},\n\t\t\t\tvisitOneHasOneOwning: ({ entity, relation, targetEntity }) => {\n\t\t\t\t\treturn { relation, entity, targetEntity }\n\t\t\t\t},\n\t\t\t\tvisitOneHasOneInverse: () => null,\n\t\t\t\tvisitManyHasManyInverse: () => null,\n\t\t\t\tvisitManyHasManyOwning: () => null,\n\t\t\t\tvisitOneHasMany: () => null,\n\t\t\t\tvisitColumn: () => null,\n\t\t\t})\n\t\t\tif (!result) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst { targetEntity, relation } = result\n\t\t\tif (entity.view || targetEntity.view) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tfor (const stage of stages) {\n\t\t\t\tconst databaseMetadata = metadataByStage[stage.schema] ??= await args.databaseMetadataResolver(args.connection, stage.schema)\n\n\t\t\t\tconst fks = databaseMetadata.foreignKeys.filter({\n\t\t\t\t\tfromTable: entity.tableName,\n\t\t\t\t\tfromColumn: relation.joiningColumn.columnName,\n\t\t\t\t\ttoTable: targetEntity.tableName,\n\t\t\t\t\ttoColumn: targetEntity.primaryColumn,\n\t\t\t\t}).toArray()\n\n\t\t\t\tconst dbConstraintFlag = ({\n\t\t\t\t\t[Model.OnDelete.setNull]: ForeignKeyDeleteAction.setnull,\n\t\t\t\t\t[Model.OnDelete.cascade]: ForeignKeyDeleteAction.cascade,\n\t\t\t\t\t[Model.OnDelete.restrict]: ForeignKeyDeleteAction.restrict,\n\t\t\t\t} as const)[relation.joiningColumn.onDelete]\n\n\t\t\t\tif (fks.every(it => it.deleteAction === dbConstraintFlag)) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t\tfor (const fk of fks) {\n\t\t\t\t\tbuilder.sql(`ALTER TABLE ${wrapIdentifier(stage.schema)}.${wrapIdentifier(entity.tableName)} DROP CONSTRAINT ${wrapIdentifier(fk.constraintName)}`)\n\t\t\t\t}\n\n\t\t\t\tconst onDelete = ({\n\t\t\t\t\t[Model.OnDelete.setNull]: 'SET NULL',\n\t\t\t\t\t[Model.OnDelete.cascade]: 'CASCADE',\n\t\t\t\t\t[Model.OnDelete.restrict]: 'RESTRICT',\n\t\t\t\t} as const)[relation.joiningColumn.onDelete]\n\n\t\t\t\tbuilder.sql(`ALTER TABLE ${wrapIdentifier(stage.schema)}.${wrapIdentifier(entity.tableName)}\n\t\t\t\t\tADD FOREIGN KEY (${wrapIdentifier(relation.joiningColumn.columnName)}) \n\t\t\t\t\tREFERENCES ${wrapIdentifier(stage.schema)}.${wrapIdentifier(targetEntity.tableName)} (${wrapIdentifier(targetEntity.primaryColumn)}) ON DELETE ${onDelete} DEFERRABLE INITIALLY IMMEDIATE\n\t\t\t\t`)\n\t\t\t}\n\t\t}\n\t}\n}\n"],"names":["schema","acceptFieldVisitor","entity","relation","targetEntity","Model","ForeignKeyDeleteAction","wrapIdentifier"],"mappings":";;;;AAMA,eAAA,2BAA+B,SAA2B,MAA0C;AANpG,MAAA;AAOC,QAAMA,YAAU,MAAM,KAAK,eAAe,KAAK,UAAU,GAAG;AAC5D,QAAM,UAAU,MAAM,KAAK,WAAW,MAAwB,0BAA0B,GAAG;AAC3F,QAAM,kBAAoD,CAAC;AAE3D,aAAW,UAAU,OAAO,OAAOA,SAAO,MAAM,QAAQ,GAAG;AAC1D,eAAW,SAAS,OAAO,OAAO,OAAO,MAAM,GAAG;AACjD,YAAM,SAASC,YAAAA,mBAGZD,SAAO,OAAO,QAAQ,OAAO;AAAA,QAC/B,iBAAiB,CAAC,EAAE,QAAAE,SAAQ,UAAAC,WAAU,cAAAC,oBAAmB;AACxD,iBAAO,EAAE,UAAAD,WAAU,QAAAD,SAAQ,cAAAE,cAAa;AAAA,QACzC;AAAA,QACA,sBAAsB,CAAC,EAAE,QAAAF,SAAQ,UAAAC,WAAU,cAAAC,oBAAmB;AAC7D,iBAAO,EAAE,UAAAD,WAAU,QAAAD,SAAQ,cAAAE,cAAa;AAAA,QACzC;AAAA,QACA,uBAAuB,MAAM;AAAA,QAC7B,yBAAyB,MAAM;AAAA,QAC/B,wBAAwB,MAAM;AAAA,QAC9B,iBAAiB,MAAM;AAAA,QACvB,aAAa,MAAM;AAAA,MAAA,CACnB;AACD,UAAI,CAAC,QAAQ;AACZ;AAAA,MAAA;AAEK,YAAA,EAAE,cAAc,SAAA,IAAa;AAC/B,UAAA,OAAO,QAAQ,aAAa,MAAM;AACrC;AAAA,MAAA;AAED,iBAAW,SAAS,QAAQ;AACrB,cAAA,mBAAmB,gBAAgB,KAAA,MAAM,MAAtB,MAAA,gBAAA,EAAA,IAAkC,MAAM,KAAK,yBAAyB,KAAK,YAAY,MAAM,MAAM;AAEtH,cAAA,MAAM,iBAAiB,YAAY,OAAO;AAAA,UAC/C,WAAW,OAAO;AAAA,UAClB,YAAY,SAAS,cAAc;AAAA,UACnC,SAAS,aAAa;AAAA,UACtB,UAAU,aAAa;AAAA,QACvB,CAAA,EAAE,QAAQ;AAEX,cAAM,mBAAoB;AAAA,UACzB,CAACC,aAAM,SAAS,OAAO,GAAGC,SAAuB,uBAAA;AAAA,UACjD,CAACD,aAAM,SAAS,OAAO,GAAGC,SAAuB,uBAAA;AAAA,UACjD,CAACD,aAAM,SAAS,QAAQ,GAAGC,gCAAuB;AAAA,QAAA,EACvC,SAAS,cAAc,QAAQ;AAE3C,YAAI,IAAI,MAAM,CAAA,OAAM,GAAG,iBAAiB,gBAAgB,GAAG;AAC1D;AAAA,QAAA;AAGD,mBAAW,MAAM,KAAK;AACrB,kBAAQ,IAAI,eAAeC,SAAA,eAAe,MAAM,MAAM,CAAC,IAAIA,SAAA,eAAe,OAAO,SAAS,CAAC,oBAAoBA,SAAA,eAAe,GAAG,cAAc,CAAC,EAAE;AAAA,QAAA;AAGnJ,cAAM,WAAY;AAAA,UACjB,CAACF,OAAA,MAAM,SAAS,OAAO,GAAG;AAAA,UAC1B,CAACA,OAAA,MAAM,SAAS,OAAO,GAAG;AAAA,UAC1B,CAACA,OAAA,MAAM,SAAS,QAAQ,GAAG;AAAA,QAAA,EAChB,SAAS,cAAc,QAAQ;AAEnC,gBAAA,IAAI,eAAeE,wBAAe,MAAM,MAAM,CAAC,IAAIA,wBAAe,OAAO,SAAS,CAAC;AAAA,wBACvEA,wBAAe,SAAS,cAAc,UAAU,CAAC;AAAA,kBACvDA,SAAAA,eAAe,MAAM,MAAM,CAAC,IAAIA,SAAe,eAAA,aAAa,SAAS,CAAC,KAAKA,SAAAA,eAAe,aAAa,aAAa,CAAC,eAAe,QAAQ;AAAA,KACzJ;AAAA,MAAA;AAAA,IACF;AAAA,EACD;AAEF;;"}
@@ -3,7 +3,7 @@ import { acceptFieldVisitor } from "@contember/schema-utils";
3
3
  import { Model } from "@contember/schema";
4
4
  async function _20230911174000fixondelete(builder, args) {
5
5
  var _a;
6
- const schema = await args.schemaResolver(args.connection);
6
+ const schema = (await args.schemaResolver(args.connection)).schema;
7
7
  const stages = (await args.connection.query("SELECT schema FROM stage")).rows;
8
8
  const metadataByStage = {};
9
9
  for (const entity of Object.values(schema.model.entities)) {
@@ -1 +1 @@
1
- {"version":3,"file":"2023-09-11-174000-fix-on-delete.js","sources":["../../../../../packages/engine-system-api/src/migrations/2023-09-11-174000-fix-on-delete.ts"],"sourcesContent":["import { MigrationArgs, MigrationBuilder } from '@contember/database-migrations'\nimport { DatabaseMetadata, ForeignKeyDeleteAction, wrapIdentifier } from '@contember/database'\nimport { SystemMigrationArgs } from './types'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\nimport { Model } from '@contember/schema'\n\nexport default async function (builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>) {\n\tconst schema = await args.schemaResolver(args.connection)\n\tconst stages = (await args.connection.query<{schema: string}>('SELECT schema FROM stage')).rows\n\tconst metadataByStage: Record<string, DatabaseMetadata> = {}\n\n\tfor (const entity of Object.values(schema.model.entities)) {\n\t\tfor (const field of Object.values(entity.fields)) {\n\t\t\tconst result = acceptFieldVisitor<null | {\n\t\t\t\trelation: Model.OneHasOneOwningRelation | Model.ManyHasOneRelation\n\t\t\t\ttargetEntity: Model.Entity\n\t\t\t}>(schema.model, entity, field, {\n\t\t\t\tvisitManyHasOne: ({ entity, relation, targetEntity }) => {\n\t\t\t\t\treturn { relation, entity, targetEntity }\n\t\t\t\t},\n\t\t\t\tvisitOneHasOneOwning: ({ entity, relation, targetEntity }) => {\n\t\t\t\t\treturn { relation, entity, targetEntity }\n\t\t\t\t},\n\t\t\t\tvisitOneHasOneInverse: () => null,\n\t\t\t\tvisitManyHasManyInverse: () => null,\n\t\t\t\tvisitManyHasManyOwning: () => null,\n\t\t\t\tvisitOneHasMany: () => null,\n\t\t\t\tvisitColumn: () => null,\n\t\t\t})\n\t\t\tif (!result) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst { targetEntity, relation } = result\n\t\t\tif (entity.view || targetEntity.view) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tfor (const stage of stages) {\n\t\t\t\tconst databaseMetadata = metadataByStage[stage.schema] ??= await args.databaseMetadataResolver(args.connection, stage.schema)\n\n\t\t\t\tconst fks = databaseMetadata.foreignKeys.filter({\n\t\t\t\t\tfromTable: entity.tableName,\n\t\t\t\t\tfromColumn: relation.joiningColumn.columnName,\n\t\t\t\t\ttoTable: targetEntity.tableName,\n\t\t\t\t\ttoColumn: targetEntity.primaryColumn,\n\t\t\t\t}).toArray()\n\n\t\t\t\tconst dbConstraintFlag = ({\n\t\t\t\t\t[Model.OnDelete.setNull]: ForeignKeyDeleteAction.setnull,\n\t\t\t\t\t[Model.OnDelete.cascade]: ForeignKeyDeleteAction.cascade,\n\t\t\t\t\t[Model.OnDelete.restrict]: ForeignKeyDeleteAction.restrict,\n\t\t\t\t} as const)[relation.joiningColumn.onDelete]\n\n\t\t\t\tif (fks.every(it => it.deleteAction === dbConstraintFlag)) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t\tfor (const fk of fks) {\n\t\t\t\t\tbuilder.sql(`ALTER TABLE ${wrapIdentifier(stage.schema)}.${wrapIdentifier(entity.tableName)} DROP CONSTRAINT ${wrapIdentifier(fk.constraintName)}`)\n\t\t\t\t}\n\n\t\t\t\tconst onDelete = ({\n\t\t\t\t\t[Model.OnDelete.setNull]: 'SET NULL',\n\t\t\t\t\t[Model.OnDelete.cascade]: 'CASCADE',\n\t\t\t\t\t[Model.OnDelete.restrict]: 'RESTRICT',\n\t\t\t\t} as const)[relation.joiningColumn.onDelete]\n\n\t\t\t\tbuilder.sql(`ALTER TABLE ${wrapIdentifier(stage.schema)}.${wrapIdentifier(entity.tableName)}\n\t\t\t\t\tADD FOREIGN KEY (${wrapIdentifier(relation.joiningColumn.columnName)}) \n\t\t\t\t\tREFERENCES ${wrapIdentifier(stage.schema)}.${wrapIdentifier(targetEntity.tableName)} (${wrapIdentifier(targetEntity.primaryColumn)}) ON DELETE ${onDelete} DEFERRABLE INITIALLY IMMEDIATE\n\t\t\t\t`)\n\t\t\t}\n\t\t}\n\t}\n}\n"],"names":["entity","relation","targetEntity"],"mappings":";;;AAMA,eAAA,2BAA+B,SAA2B,MAA0C;AANpG,MAAA;AAOC,QAAM,SAAS,MAAM,KAAK,eAAe,KAAK,UAAU;AACxD,QAAM,UAAU,MAAM,KAAK,WAAW,MAAwB,0BAA0B,GAAG;AAC3F,QAAM,kBAAoD,CAAA;AAE1D,aAAW,UAAU,OAAO,OAAO,OAAO,MAAM,QAAQ,GAAG;AAC1D,eAAW,SAAS,OAAO,OAAO,OAAO,MAAM,GAAG;AACjD,YAAM,SAAS,mBAGZ,OAAO,OAAO,QAAQ,OAAO;AAAA,QAC/B,iBAAiB,CAAC,EAAE,QAAAA,SAAQ,UAAAC,WAAU,cAAAC,oBAAmB;AACxD,iBAAO,EAAE,UAAAD,WAAU,QAAAD,SAAQ,cAAAE;QAC5B;AAAA,QACA,sBAAsB,CAAC,EAAE,QAAAF,SAAQ,UAAAC,WAAU,cAAAC,oBAAmB;AAC7D,iBAAO,EAAE,UAAAD,WAAU,QAAAD,SAAQ,cAAAE;QAC5B;AAAA,QACA,uBAAuB,MAAM;AAAA,QAC7B,yBAAyB,MAAM;AAAA,QAC/B,wBAAwB,MAAM;AAAA,QAC9B,iBAAiB,MAAM;AAAA,QACvB,aAAa,MAAM;AAAA,MAAA,CACnB;AACD,UAAI,CAAC,QAAQ;AACZ;AAAA,MACD;AACM,YAAA,EAAE,cAAc,SAAa,IAAA;AAC/B,UAAA,OAAO,QAAQ,aAAa,MAAM;AACrC;AAAA,MACD;AACA,iBAAW,SAAS,QAAQ;AACrB,cAAA,mBAAmB,gBAAgB,KAAA,MAAM,MAAtB,MAAA,gBAAA,EAAA,IAAkC,MAAM,KAAK,yBAAyB,KAAK,YAAY,MAAM,MAAM;AAEtH,cAAA,MAAM,iBAAiB,YAAY,OAAO;AAAA,UAC/C,WAAW,OAAO;AAAA,UAClB,YAAY,SAAS,cAAc;AAAA,UACnC,SAAS,aAAa;AAAA,UACtB,UAAU,aAAa;AAAA,QAAA,CACvB,EAAE,QAAQ;AAEX,cAAM,mBAAoB;AAAA,UACzB,CAAC,MAAM,SAAS,OAAO,GAAG,uBAAuB;AAAA,UACjD,CAAC,MAAM,SAAS,OAAO,GAAG,uBAAuB;AAAA,UACjD,CAAC,MAAM,SAAS,QAAQ,GAAG,uBAAuB;AAAA,QAAA,EACvC,SAAS,cAAc,QAAQ;AAE3C,YAAI,IAAI,MAAM,CAAA,OAAM,GAAG,iBAAiB,gBAAgB,GAAG;AAC1D;AAAA,QACD;AAEA,mBAAW,MAAM,KAAK;AACrB,kBAAQ,IAAI,eAAe,eAAe,MAAM,MAAM,CAAC,IAAI,eAAe,OAAO,SAAS,CAAC,oBAAoB,eAAe,GAAG,cAAc,CAAC,EAAE;AAAA,QACnJ;AAEA,cAAM,WAAY;AAAA,UACjB,CAAC,MAAM,SAAS,OAAO,GAAG;AAAA,UAC1B,CAAC,MAAM,SAAS,OAAO,GAAG;AAAA,UAC1B,CAAC,MAAM,SAAS,QAAQ,GAAG;AAAA,QAAA,EAChB,SAAS,cAAc,QAAQ;AAEnC,gBAAA,IAAI,eAAe,eAAe,MAAM,MAAM,CAAC,IAAI,eAAe,OAAO,SAAS,CAAC;AAAA,wBACvE,eAAe,SAAS,cAAc,UAAU,CAAC;AAAA,kBACvD,eAAe,MAAM,MAAM,CAAC,IAAI,eAAe,aAAa,SAAS,CAAC,KAAK,eAAe,aAAa,aAAa,CAAC,eAAe,QAAQ;AAAA,KACzJ;AAAA,MACF;AAAA,IACD;AAAA,EACD;AACD;"}
1
+ {"version":3,"file":"2023-09-11-174000-fix-on-delete.js","sources":["../../../../../packages/engine-system-api/src/migrations/2023-09-11-174000-fix-on-delete.ts"],"sourcesContent":["import { MigrationArgs, MigrationBuilder } from '@contember/database-migrations'\nimport { DatabaseMetadata, ForeignKeyDeleteAction, wrapIdentifier } from '@contember/database'\nimport { SystemMigrationArgs } from './types'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\nimport { Model } from '@contember/schema'\n\nexport default async function (builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>) {\n\tconst schema = (await args.schemaResolver(args.connection)).schema\n\tconst stages = (await args.connection.query<{schema: string}>('SELECT schema FROM stage')).rows\n\tconst metadataByStage: Record<string, DatabaseMetadata> = {}\n\n\tfor (const entity of Object.values(schema.model.entities)) {\n\t\tfor (const field of Object.values(entity.fields)) {\n\t\t\tconst result = acceptFieldVisitor<null | {\n\t\t\t\trelation: Model.OneHasOneOwningRelation | Model.ManyHasOneRelation\n\t\t\t\ttargetEntity: Model.Entity\n\t\t\t}>(schema.model, entity, field, {\n\t\t\t\tvisitManyHasOne: ({ entity, relation, targetEntity }) => {\n\t\t\t\t\treturn { relation, entity, targetEntity }\n\t\t\t\t},\n\t\t\t\tvisitOneHasOneOwning: ({ entity, relation, targetEntity }) => {\n\t\t\t\t\treturn { relation, entity, targetEntity }\n\t\t\t\t},\n\t\t\t\tvisitOneHasOneInverse: () => null,\n\t\t\t\tvisitManyHasManyInverse: () => null,\n\t\t\t\tvisitManyHasManyOwning: () => null,\n\t\t\t\tvisitOneHasMany: () => null,\n\t\t\t\tvisitColumn: () => null,\n\t\t\t})\n\t\t\tif (!result) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst { targetEntity, relation } = result\n\t\t\tif (entity.view || targetEntity.view) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tfor (const stage of stages) {\n\t\t\t\tconst databaseMetadata = metadataByStage[stage.schema] ??= await args.databaseMetadataResolver(args.connection, stage.schema)\n\n\t\t\t\tconst fks = databaseMetadata.foreignKeys.filter({\n\t\t\t\t\tfromTable: entity.tableName,\n\t\t\t\t\tfromColumn: relation.joiningColumn.columnName,\n\t\t\t\t\ttoTable: targetEntity.tableName,\n\t\t\t\t\ttoColumn: targetEntity.primaryColumn,\n\t\t\t\t}).toArray()\n\n\t\t\t\tconst dbConstraintFlag = ({\n\t\t\t\t\t[Model.OnDelete.setNull]: ForeignKeyDeleteAction.setnull,\n\t\t\t\t\t[Model.OnDelete.cascade]: ForeignKeyDeleteAction.cascade,\n\t\t\t\t\t[Model.OnDelete.restrict]: ForeignKeyDeleteAction.restrict,\n\t\t\t\t} as const)[relation.joiningColumn.onDelete]\n\n\t\t\t\tif (fks.every(it => it.deleteAction === dbConstraintFlag)) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t\tfor (const fk of fks) {\n\t\t\t\t\tbuilder.sql(`ALTER TABLE ${wrapIdentifier(stage.schema)}.${wrapIdentifier(entity.tableName)} DROP CONSTRAINT ${wrapIdentifier(fk.constraintName)}`)\n\t\t\t\t}\n\n\t\t\t\tconst onDelete = ({\n\t\t\t\t\t[Model.OnDelete.setNull]: 'SET NULL',\n\t\t\t\t\t[Model.OnDelete.cascade]: 'CASCADE',\n\t\t\t\t\t[Model.OnDelete.restrict]: 'RESTRICT',\n\t\t\t\t} as const)[relation.joiningColumn.onDelete]\n\n\t\t\t\tbuilder.sql(`ALTER TABLE ${wrapIdentifier(stage.schema)}.${wrapIdentifier(entity.tableName)}\n\t\t\t\t\tADD FOREIGN KEY (${wrapIdentifier(relation.joiningColumn.columnName)}) \n\t\t\t\t\tREFERENCES ${wrapIdentifier(stage.schema)}.${wrapIdentifier(targetEntity.tableName)} (${wrapIdentifier(targetEntity.primaryColumn)}) ON DELETE ${onDelete} DEFERRABLE INITIALLY IMMEDIATE\n\t\t\t\t`)\n\t\t\t}\n\t\t}\n\t}\n}\n"],"names":["entity","relation","targetEntity"],"mappings":";;;AAMA,eAAA,2BAA+B,SAA2B,MAA0C;AANpG,MAAA;AAOC,QAAM,UAAU,MAAM,KAAK,eAAe,KAAK,UAAU,GAAG;AAC5D,QAAM,UAAU,MAAM,KAAK,WAAW,MAAwB,0BAA0B,GAAG;AAC3F,QAAM,kBAAoD,CAAC;AAE3D,aAAW,UAAU,OAAO,OAAO,OAAO,MAAM,QAAQ,GAAG;AAC1D,eAAW,SAAS,OAAO,OAAO,OAAO,MAAM,GAAG;AACjD,YAAM,SAAS,mBAGZ,OAAO,OAAO,QAAQ,OAAO;AAAA,QAC/B,iBAAiB,CAAC,EAAE,QAAAA,SAAQ,UAAAC,WAAU,cAAAC,oBAAmB;AACxD,iBAAO,EAAE,UAAAD,WAAU,QAAAD,SAAQ,cAAAE,cAAa;AAAA,QACzC;AAAA,QACA,sBAAsB,CAAC,EAAE,QAAAF,SAAQ,UAAAC,WAAU,cAAAC,oBAAmB;AAC7D,iBAAO,EAAE,UAAAD,WAAU,QAAAD,SAAQ,cAAAE,cAAa;AAAA,QACzC;AAAA,QACA,uBAAuB,MAAM;AAAA,QAC7B,yBAAyB,MAAM;AAAA,QAC/B,wBAAwB,MAAM;AAAA,QAC9B,iBAAiB,MAAM;AAAA,QACvB,aAAa,MAAM;AAAA,MAAA,CACnB;AACD,UAAI,CAAC,QAAQ;AACZ;AAAA,MAAA;AAEK,YAAA,EAAE,cAAc,SAAA,IAAa;AAC/B,UAAA,OAAO,QAAQ,aAAa,MAAM;AACrC;AAAA,MAAA;AAED,iBAAW,SAAS,QAAQ;AACrB,cAAA,mBAAmB,gBAAgB,KAAA,MAAM,MAAtB,MAAA,gBAAA,EAAA,IAAkC,MAAM,KAAK,yBAAyB,KAAK,YAAY,MAAM,MAAM;AAEtH,cAAA,MAAM,iBAAiB,YAAY,OAAO;AAAA,UAC/C,WAAW,OAAO;AAAA,UAClB,YAAY,SAAS,cAAc;AAAA,UACnC,SAAS,aAAa;AAAA,UACtB,UAAU,aAAa;AAAA,QACvB,CAAA,EAAE,QAAQ;AAEX,cAAM,mBAAoB;AAAA,UACzB,CAAC,MAAM,SAAS,OAAO,GAAG,uBAAuB;AAAA,UACjD,CAAC,MAAM,SAAS,OAAO,GAAG,uBAAuB;AAAA,UACjD,CAAC,MAAM,SAAS,QAAQ,GAAG,uBAAuB;AAAA,QAAA,EACvC,SAAS,cAAc,QAAQ;AAE3C,YAAI,IAAI,MAAM,CAAA,OAAM,GAAG,iBAAiB,gBAAgB,GAAG;AAC1D;AAAA,QAAA;AAGD,mBAAW,MAAM,KAAK;AACrB,kBAAQ,IAAI,eAAe,eAAe,MAAM,MAAM,CAAC,IAAI,eAAe,OAAO,SAAS,CAAC,oBAAoB,eAAe,GAAG,cAAc,CAAC,EAAE;AAAA,QAAA;AAGnJ,cAAM,WAAY;AAAA,UACjB,CAAC,MAAM,SAAS,OAAO,GAAG;AAAA,UAC1B,CAAC,MAAM,SAAS,OAAO,GAAG;AAAA,UAC1B,CAAC,MAAM,SAAS,QAAQ,GAAG;AAAA,QAAA,EAChB,SAAS,cAAc,QAAQ;AAEnC,gBAAA,IAAI,eAAe,eAAe,MAAM,MAAM,CAAC,IAAI,eAAe,OAAO,SAAS,CAAC;AAAA,wBACvE,eAAe,SAAS,cAAc,UAAU,CAAC;AAAA,kBACvD,eAAe,MAAM,MAAM,CAAC,IAAI,eAAe,aAAa,SAAS,CAAC,KAAK,eAAe,aAAa,aAAa,CAAC,eAAe,QAAQ;AAAA,KACzJ;AAAA,MAAA;AAAA,IACF;AAAA,EACD;AAEF;"}
@@ -3,7 +3,7 @@ const Database = require("@contember/database");
3
3
  const schemaMigrations = require("@contember/schema-migrations");
4
4
  async function _20231019173000fixunique(builder, args) {
5
5
  var _a;
6
- const schema = await args.schemaResolver(args.connection);
6
+ const schema = (await args.schemaResolver(args.connection)).schema;
7
7
  const stages = (await args.connection.query("SELECT schema FROM stage")).rows;
8
8
  const metadataByStage = {};
9
9
  for (const entity of Object.values(schema.model.entities)) {
@@ -1 +1 @@
1
- {"version":3,"file":"2023-10-19-173000-fix-unique.cjs","sources":["../../../../../packages/engine-system-api/src/migrations/2023-10-19-173000-fix-unique.ts"],"sourcesContent":["import { MigrationArgs, MigrationBuilder } from '@contember/database-migrations'\nimport { DatabaseMetadata, wrapIdentifier } from '@contember/database'\nimport { SystemMigrationArgs } from './types'\nimport { getUniqueConstraintColumns } from '@contember/schema-migrations'\n\nexport default async function (builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>) {\n\tconst schema = await args.schemaResolver(args.connection)\n\tconst stages = (await args.connection.query<{schema: string}>('SELECT schema FROM stage')).rows\n\tconst metadataByStage: Record<string, DatabaseMetadata> = {}\n\n\tfor (const entity of Object.values(schema.model.entities)) {\n\t\tif (entity.view) {\n\t\t\tcontinue\n\t\t}\n\n\t\tconst expectedUnique: string[][] = []\n\n\t\tfor (const uniq of entity.unique) {\n\t\t\tconst columns = getUniqueConstraintColumns({\n\t\t\t\tentity,\n\t\t\t\tfields: uniq.fields,\n\t\t\t\tmodel: schema.model,\n\t\t\t})\n\t\t\texpectedUnique.push(columns)\n\t\t}\n\n\n\t\tfor (const stage of stages) {\n\t\t\tconst databaseMetadata = metadataByStage[stage.schema] ??= await args.databaseMetadataResolver(args.connection, stage.schema)\n\n\t\t\tconst existingUniqueConstraints = databaseMetadata.uniqueConstraints.filter({ tableName: entity.tableName }).toArray()\n\t\t\tfor (const constraint of existingUniqueConstraints) {\n\t\t\t\tif (constraint.columnNames.length === 1 || expectedUnique.some(it => stringArrayEquals(it, constraint.columnNames))) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tbuilder.sql(`ALTER TABLE ${wrapIdentifier(stage.schema)}.${wrapIdentifier(entity.tableName)} DROP CONSTRAINT ${wrapIdentifier(constraint.constraintName)}`)\n\t\t\t}\n\t\t}\n\t}\n}\nconst stringArrayEquals = (colA: string[], colB: string[]) => {\n\tif (colA.length !== colB.length) {\n\t\treturn false\n\t}\n\tconst a = [...colA].sort()\n\tconst b = [...colB].sort()\n\treturn a.every((it, index) => it === b[index])\n}\n"],"names":["getUniqueConstraintColumns","wrapIdentifier"],"mappings":";;;AAKA,eAAA,yBAA+B,SAA2B,MAA0C;AALpG,MAAA;AAMC,QAAM,SAAS,MAAM,KAAK,eAAe,KAAK,UAAU;AACxD,QAAM,UAAU,MAAM,KAAK,WAAW,MAAwB,0BAA0B,GAAG;AAC3F,QAAM,kBAAoD,CAAA;AAE1D,aAAW,UAAU,OAAO,OAAO,OAAO,MAAM,QAAQ,GAAG;AAC1D,QAAI,OAAO,MAAM;AAChB;AAAA,IACD;AAEA,UAAM,iBAA6B,CAAA;AAExB,eAAA,QAAQ,OAAO,QAAQ;AACjC,YAAM,UAAUA,iBAAAA,2BAA2B;AAAA,QAC1C;AAAA,QACA,QAAQ,KAAK;AAAA,QACb,OAAO,OAAO;AAAA,MAAA,CACd;AACD,qBAAe,KAAK,OAAO;AAAA,IAC5B;AAGA,eAAW,SAAS,QAAQ;AACrB,YAAA,mBAAmB,gBAAgB,KAAA,MAAM,MAAtB,MAAA,gBAAA,EAAA,IAAkC,MAAM,KAAK,yBAAyB,KAAK,YAAY,MAAM,MAAM;AAEtH,YAAA,4BAA4B,iBAAiB,kBAAkB,OAAO,EAAE,WAAW,OAAO,UAAA,CAAW,EAAE;AAC7G,iBAAW,cAAc,2BAA2B;AACnD,YAAI,WAAW,YAAY,WAAW,KAAK,eAAe,KAAK,CAAM,OAAA,kBAAkB,IAAI,WAAW,WAAW,CAAC,GAAG;AACpH;AAAA,QACD;AACA,gBAAQ,IAAI,eAAeC,SAAA,eAAe,MAAM,MAAM,CAAC,IAAIA,SAAAA,eAAe,OAAO,SAAS,CAAC,oBAAoBA,SAAAA,eAAe,WAAW,cAAc,CAAC,EAAE;AAAA,MAC3J;AAAA,IACD;AAAA,EACD;AACD;AACA,MAAM,oBAAoB,CAAC,MAAgB,SAAmB;AACzD,MAAA,KAAK,WAAW,KAAK,QAAQ;AACzB,WAAA;AAAA,EACR;AACA,QAAM,IAAI,CAAC,GAAG,IAAI,EAAE,KAAK;AACzB,QAAM,IAAI,CAAC,GAAG,IAAI,EAAE,KAAK;AAClB,SAAA,EAAE,MAAM,CAAC,IAAI,UAAU,OAAO,EAAE,KAAK,CAAC;AAC9C;;"}
1
+ {"version":3,"file":"2023-10-19-173000-fix-unique.cjs","sources":["../../../../../packages/engine-system-api/src/migrations/2023-10-19-173000-fix-unique.ts"],"sourcesContent":["import { MigrationArgs, MigrationBuilder } from '@contember/database-migrations'\nimport { DatabaseMetadata, wrapIdentifier } from '@contember/database'\nimport { SystemMigrationArgs } from './types'\nimport { getUniqueConstraintColumns } from '@contember/schema-migrations'\n\nexport default async function (builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>) {\n\tconst schema = (await args.schemaResolver(args.connection)).schema\n\tconst stages = (await args.connection.query<{schema: string}>('SELECT schema FROM stage')).rows\n\tconst metadataByStage: Record<string, DatabaseMetadata> = {}\n\n\tfor (const entity of Object.values(schema.model.entities)) {\n\t\tif (entity.view) {\n\t\t\tcontinue\n\t\t}\n\n\t\tconst expectedUnique: string[][] = []\n\n\t\tfor (const uniq of entity.unique) {\n\t\t\tconst columns = getUniqueConstraintColumns({\n\t\t\t\tentity,\n\t\t\t\tfields: uniq.fields,\n\t\t\t\tmodel: schema.model,\n\t\t\t})\n\t\t\texpectedUnique.push(columns)\n\t\t}\n\n\n\t\tfor (const stage of stages) {\n\t\t\tconst databaseMetadata = metadataByStage[stage.schema] ??= await args.databaseMetadataResolver(args.connection, stage.schema)\n\n\t\t\tconst existingUniqueConstraints = databaseMetadata.uniqueConstraints.filter({ tableName: entity.tableName }).toArray()\n\t\t\tfor (const constraint of existingUniqueConstraints) {\n\t\t\t\tif (constraint.columnNames.length === 1 || expectedUnique.some(it => stringArrayEquals(it, constraint.columnNames))) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tbuilder.sql(`ALTER TABLE ${wrapIdentifier(stage.schema)}.${wrapIdentifier(entity.tableName)} DROP CONSTRAINT ${wrapIdentifier(constraint.constraintName)}`)\n\t\t\t}\n\t\t}\n\t}\n}\nconst stringArrayEquals = (colA: string[], colB: string[]) => {\n\tif (colA.length !== colB.length) {\n\t\treturn false\n\t}\n\tconst a = [...colA].sort()\n\tconst b = [...colB].sort()\n\treturn a.every((it, index) => it === b[index])\n}\n"],"names":["getUniqueConstraintColumns","wrapIdentifier"],"mappings":";;;AAKA,eAAA,yBAA+B,SAA2B,MAA0C;AALpG,MAAA;AAMC,QAAM,UAAU,MAAM,KAAK,eAAe,KAAK,UAAU,GAAG;AAC5D,QAAM,UAAU,MAAM,KAAK,WAAW,MAAwB,0BAA0B,GAAG;AAC3F,QAAM,kBAAoD,CAAC;AAE3D,aAAW,UAAU,OAAO,OAAO,OAAO,MAAM,QAAQ,GAAG;AAC1D,QAAI,OAAO,MAAM;AAChB;AAAA,IAAA;AAGD,UAAM,iBAA6B,CAAC;AAEzB,eAAA,QAAQ,OAAO,QAAQ;AACjC,YAAM,UAAUA,iBAAAA,2BAA2B;AAAA,QAC1C;AAAA,QACA,QAAQ,KAAK;AAAA,QACb,OAAO,OAAO;AAAA,MAAA,CACd;AACD,qBAAe,KAAK,OAAO;AAAA,IAAA;AAI5B,eAAW,SAAS,QAAQ;AACrB,YAAA,mBAAmB,gBAAgB,KAAA,MAAM,MAAtB,MAAA,gBAAA,EAAA,IAAkC,MAAM,KAAK,yBAAyB,KAAK,YAAY,MAAM,MAAM;AAEtH,YAAA,4BAA4B,iBAAiB,kBAAkB,OAAO,EAAE,WAAW,OAAO,WAAW,EAAE,QAAQ;AACrH,iBAAW,cAAc,2BAA2B;AACnD,YAAI,WAAW,YAAY,WAAW,KAAK,eAAe,KAAK,CAAM,OAAA,kBAAkB,IAAI,WAAW,WAAW,CAAC,GAAG;AACpH;AAAA,QAAA;AAED,gBAAQ,IAAI,eAAeC,SAAA,eAAe,MAAM,MAAM,CAAC,IAAIA,SAAA,eAAe,OAAO,SAAS,CAAC,oBAAoBA,SAAA,eAAe,WAAW,cAAc,CAAC,EAAE;AAAA,MAAA;AAAA,IAC3J;AAAA,EACD;AAEF;AACA,MAAM,oBAAoB,CAAC,MAAgB,SAAmB;AACzD,MAAA,KAAK,WAAW,KAAK,QAAQ;AACzB,WAAA;AAAA,EAAA;AAER,QAAM,IAAI,CAAC,GAAG,IAAI,EAAE,KAAK;AACzB,QAAM,IAAI,CAAC,GAAG,IAAI,EAAE,KAAK;AAClB,SAAA,EAAE,MAAM,CAAC,IAAI,UAAU,OAAO,EAAE,KAAK,CAAC;AAC9C;;"}
@@ -2,7 +2,7 @@ import { wrapIdentifier } from "@contember/database";
2
2
  import { getUniqueConstraintColumns } from "@contember/schema-migrations";
3
3
  async function _20231019173000fixunique(builder, args) {
4
4
  var _a;
5
- const schema = await args.schemaResolver(args.connection);
5
+ const schema = (await args.schemaResolver(args.connection)).schema;
6
6
  const stages = (await args.connection.query("SELECT schema FROM stage")).rows;
7
7
  const metadataByStage = {};
8
8
  for (const entity of Object.values(schema.model.entities)) {
@@ -1 +1 @@
1
- {"version":3,"file":"2023-10-19-173000-fix-unique.js","sources":["../../../../../packages/engine-system-api/src/migrations/2023-10-19-173000-fix-unique.ts"],"sourcesContent":["import { MigrationArgs, MigrationBuilder } from '@contember/database-migrations'\nimport { DatabaseMetadata, wrapIdentifier } from '@contember/database'\nimport { SystemMigrationArgs } from './types'\nimport { getUniqueConstraintColumns } from '@contember/schema-migrations'\n\nexport default async function (builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>) {\n\tconst schema = await args.schemaResolver(args.connection)\n\tconst stages = (await args.connection.query<{schema: string}>('SELECT schema FROM stage')).rows\n\tconst metadataByStage: Record<string, DatabaseMetadata> = {}\n\n\tfor (const entity of Object.values(schema.model.entities)) {\n\t\tif (entity.view) {\n\t\t\tcontinue\n\t\t}\n\n\t\tconst expectedUnique: string[][] = []\n\n\t\tfor (const uniq of entity.unique) {\n\t\t\tconst columns = getUniqueConstraintColumns({\n\t\t\t\tentity,\n\t\t\t\tfields: uniq.fields,\n\t\t\t\tmodel: schema.model,\n\t\t\t})\n\t\t\texpectedUnique.push(columns)\n\t\t}\n\n\n\t\tfor (const stage of stages) {\n\t\t\tconst databaseMetadata = metadataByStage[stage.schema] ??= await args.databaseMetadataResolver(args.connection, stage.schema)\n\n\t\t\tconst existingUniqueConstraints = databaseMetadata.uniqueConstraints.filter({ tableName: entity.tableName }).toArray()\n\t\t\tfor (const constraint of existingUniqueConstraints) {\n\t\t\t\tif (constraint.columnNames.length === 1 || expectedUnique.some(it => stringArrayEquals(it, constraint.columnNames))) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tbuilder.sql(`ALTER TABLE ${wrapIdentifier(stage.schema)}.${wrapIdentifier(entity.tableName)} DROP CONSTRAINT ${wrapIdentifier(constraint.constraintName)}`)\n\t\t\t}\n\t\t}\n\t}\n}\nconst stringArrayEquals = (colA: string[], colB: string[]) => {\n\tif (colA.length !== colB.length) {\n\t\treturn false\n\t}\n\tconst a = [...colA].sort()\n\tconst b = [...colB].sort()\n\treturn a.every((it, index) => it === b[index])\n}\n"],"names":[],"mappings":";;AAKA,eAAA,yBAA+B,SAA2B,MAA0C;AALpG,MAAA;AAMC,QAAM,SAAS,MAAM,KAAK,eAAe,KAAK,UAAU;AACxD,QAAM,UAAU,MAAM,KAAK,WAAW,MAAwB,0BAA0B,GAAG;AAC3F,QAAM,kBAAoD,CAAA;AAE1D,aAAW,UAAU,OAAO,OAAO,OAAO,MAAM,QAAQ,GAAG;AAC1D,QAAI,OAAO,MAAM;AAChB;AAAA,IACD;AAEA,UAAM,iBAA6B,CAAA;AAExB,eAAA,QAAQ,OAAO,QAAQ;AACjC,YAAM,UAAU,2BAA2B;AAAA,QAC1C;AAAA,QACA,QAAQ,KAAK;AAAA,QACb,OAAO,OAAO;AAAA,MAAA,CACd;AACD,qBAAe,KAAK,OAAO;AAAA,IAC5B;AAGA,eAAW,SAAS,QAAQ;AACrB,YAAA,mBAAmB,gBAAgB,KAAA,MAAM,MAAtB,MAAA,gBAAA,EAAA,IAAkC,MAAM,KAAK,yBAAyB,KAAK,YAAY,MAAM,MAAM;AAEtH,YAAA,4BAA4B,iBAAiB,kBAAkB,OAAO,EAAE,WAAW,OAAO,UAAA,CAAW,EAAE;AAC7G,iBAAW,cAAc,2BAA2B;AACnD,YAAI,WAAW,YAAY,WAAW,KAAK,eAAe,KAAK,CAAM,OAAA,kBAAkB,IAAI,WAAW,WAAW,CAAC,GAAG;AACpH;AAAA,QACD;AACA,gBAAQ,IAAI,eAAe,eAAe,MAAM,MAAM,CAAC,IAAI,eAAe,OAAO,SAAS,CAAC,oBAAoB,eAAe,WAAW,cAAc,CAAC,EAAE;AAAA,MAC3J;AAAA,IACD;AAAA,EACD;AACD;AACA,MAAM,oBAAoB,CAAC,MAAgB,SAAmB;AACzD,MAAA,KAAK,WAAW,KAAK,QAAQ;AACzB,WAAA;AAAA,EACR;AACA,QAAM,IAAI,CAAC,GAAG,IAAI,EAAE,KAAK;AACzB,QAAM,IAAI,CAAC,GAAG,IAAI,EAAE,KAAK;AAClB,SAAA,EAAE,MAAM,CAAC,IAAI,UAAU,OAAO,EAAE,KAAK,CAAC;AAC9C;"}
1
+ {"version":3,"file":"2023-10-19-173000-fix-unique.js","sources":["../../../../../packages/engine-system-api/src/migrations/2023-10-19-173000-fix-unique.ts"],"sourcesContent":["import { MigrationArgs, MigrationBuilder } from '@contember/database-migrations'\nimport { DatabaseMetadata, wrapIdentifier } from '@contember/database'\nimport { SystemMigrationArgs } from './types'\nimport { getUniqueConstraintColumns } from '@contember/schema-migrations'\n\nexport default async function (builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>) {\n\tconst schema = (await args.schemaResolver(args.connection)).schema\n\tconst stages = (await args.connection.query<{schema: string}>('SELECT schema FROM stage')).rows\n\tconst metadataByStage: Record<string, DatabaseMetadata> = {}\n\n\tfor (const entity of Object.values(schema.model.entities)) {\n\t\tif (entity.view) {\n\t\t\tcontinue\n\t\t}\n\n\t\tconst expectedUnique: string[][] = []\n\n\t\tfor (const uniq of entity.unique) {\n\t\t\tconst columns = getUniqueConstraintColumns({\n\t\t\t\tentity,\n\t\t\t\tfields: uniq.fields,\n\t\t\t\tmodel: schema.model,\n\t\t\t})\n\t\t\texpectedUnique.push(columns)\n\t\t}\n\n\n\t\tfor (const stage of stages) {\n\t\t\tconst databaseMetadata = metadataByStage[stage.schema] ??= await args.databaseMetadataResolver(args.connection, stage.schema)\n\n\t\t\tconst existingUniqueConstraints = databaseMetadata.uniqueConstraints.filter({ tableName: entity.tableName }).toArray()\n\t\t\tfor (const constraint of existingUniqueConstraints) {\n\t\t\t\tif (constraint.columnNames.length === 1 || expectedUnique.some(it => stringArrayEquals(it, constraint.columnNames))) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tbuilder.sql(`ALTER TABLE ${wrapIdentifier(stage.schema)}.${wrapIdentifier(entity.tableName)} DROP CONSTRAINT ${wrapIdentifier(constraint.constraintName)}`)\n\t\t\t}\n\t\t}\n\t}\n}\nconst stringArrayEquals = (colA: string[], colB: string[]) => {\n\tif (colA.length !== colB.length) {\n\t\treturn false\n\t}\n\tconst a = [...colA].sort()\n\tconst b = [...colB].sort()\n\treturn a.every((it, index) => it === b[index])\n}\n"],"names":[],"mappings":";;AAKA,eAAA,yBAA+B,SAA2B,MAA0C;AALpG,MAAA;AAMC,QAAM,UAAU,MAAM,KAAK,eAAe,KAAK,UAAU,GAAG;AAC5D,QAAM,UAAU,MAAM,KAAK,WAAW,MAAwB,0BAA0B,GAAG;AAC3F,QAAM,kBAAoD,CAAC;AAE3D,aAAW,UAAU,OAAO,OAAO,OAAO,MAAM,QAAQ,GAAG;AAC1D,QAAI,OAAO,MAAM;AAChB;AAAA,IAAA;AAGD,UAAM,iBAA6B,CAAC;AAEzB,eAAA,QAAQ,OAAO,QAAQ;AACjC,YAAM,UAAU,2BAA2B;AAAA,QAC1C;AAAA,QACA,QAAQ,KAAK;AAAA,QACb,OAAO,OAAO;AAAA,MAAA,CACd;AACD,qBAAe,KAAK,OAAO;AAAA,IAAA;AAI5B,eAAW,SAAS,QAAQ;AACrB,YAAA,mBAAmB,gBAAgB,KAAA,MAAM,MAAtB,MAAA,gBAAA,EAAA,IAAkC,MAAM,KAAK,yBAAyB,KAAK,YAAY,MAAM,MAAM;AAEtH,YAAA,4BAA4B,iBAAiB,kBAAkB,OAAO,EAAE,WAAW,OAAO,WAAW,EAAE,QAAQ;AACrH,iBAAW,cAAc,2BAA2B;AACnD,YAAI,WAAW,YAAY,WAAW,KAAK,eAAe,KAAK,CAAM,OAAA,kBAAkB,IAAI,WAAW,WAAW,CAAC,GAAG;AACpH;AAAA,QAAA;AAED,gBAAQ,IAAI,eAAe,eAAe,MAAM,MAAM,CAAC,IAAI,eAAe,OAAO,SAAS,CAAC,oBAAoB,eAAe,WAAW,cAAc,CAAC,EAAE;AAAA,MAAA;AAAA,IAC3J;AAAA,EACD;AAEF;AACA,MAAM,oBAAoB,CAAC,MAAgB,SAAmB;AACzD,MAAA,KAAK,WAAW,KAAK,QAAQ;AACzB,WAAA;AAAA,EAAA;AAER,QAAM,IAAI,CAAC,GAAG,IAAI,EAAE,KAAK;AACzB,QAAM,IAAI,CAAC,GAAG,IAAI,EAAE,KAAK;AAClB,SAAA,EAAE,MAAM,CAAC,IAAI,UAAU,OAAO,EAAE,KAAK,CAAC;AAC9C;"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ const sql = `
3
+ CREATE TYPE SCHEMA_SINGLE AS ENUM ('single');
4
+ CREATE TABLE "schema"
5
+ (
6
+ id SCHEMA_SINGLE NOT NULL PRIMARY KEY DEFAULT 'single',
7
+ schema JSON NOT NULL,
8
+ updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
9
+ checksum CHAR(32) NOT NULL,
10
+ version VARCHAR(20) NOT NULL,
11
+ migration_id INT NOT NULL REFERENCES schema_migration(id) DEFERRABLE INITIALLY DEFERRED
12
+ );
13
+ `;
14
+ async function _20240628153000schema(builder) {
15
+ builder.sql(sql);
16
+ }
17
+ module.exports = _20240628153000schema;
18
+ //# sourceMappingURL=2024-06-28-153000-schema.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"2024-06-28-153000-schema.cjs","sources":["../../../../../packages/engine-system-api/src/migrations/2024-06-28-153000-schema.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\n\n// deliberately using \"JSON\" instead of \"JSONB\" to preserve the order of keys\n\nconst sql = `\nCREATE TYPE SCHEMA_SINGLE AS ENUM ('single');\nCREATE TABLE \"schema\"\n(\n\tid SCHEMA_SINGLE NOT NULL PRIMARY KEY DEFAULT 'single',\n\tschema JSON NOT NULL,\n\tupdated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),\n\tchecksum CHAR(32) NOT NULL,\n\tversion VARCHAR(20) NOT NULL,\n\tmigration_id INT NOT NULL REFERENCES schema_migration(id) DEFERRABLE INITIALLY DEFERRED\n);\n`\n\nexport default async function (builder: MigrationBuilder) {\n\tbuilder.sql(sql)\n}\n"],"names":[],"mappings":";AAIA,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAaZ,eAAA,sBAA+B,SAA2B;AACzD,UAAQ,IAAI,GAAG;AAChB;;"}
@@ -0,0 +1,19 @@
1
+ const sql = `
2
+ CREATE TYPE SCHEMA_SINGLE AS ENUM ('single');
3
+ CREATE TABLE "schema"
4
+ (
5
+ id SCHEMA_SINGLE NOT NULL PRIMARY KEY DEFAULT 'single',
6
+ schema JSON NOT NULL,
7
+ updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
8
+ checksum CHAR(32) NOT NULL,
9
+ version VARCHAR(20) NOT NULL,
10
+ migration_id INT NOT NULL REFERENCES schema_migration(id) DEFERRABLE INITIALLY DEFERRED
11
+ );
12
+ `;
13
+ async function _20240628153000schema(builder) {
14
+ builder.sql(sql);
15
+ }
16
+ export {
17
+ _20240628153000schema as default
18
+ };
19
+ //# sourceMappingURL=2024-06-28-153000-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"2024-06-28-153000-schema.js","sources":["../../../../../packages/engine-system-api/src/migrations/2024-06-28-153000-schema.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\n\n// deliberately using \"JSON\" instead of \"JSONB\" to preserve the order of keys\n\nconst sql = `\nCREATE TYPE SCHEMA_SINGLE AS ENUM ('single');\nCREATE TABLE \"schema\"\n(\n\tid SCHEMA_SINGLE NOT NULL PRIMARY KEY DEFAULT 'single',\n\tschema JSON NOT NULL,\n\tupdated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),\n\tchecksum CHAR(32) NOT NULL,\n\tversion VARCHAR(20) NOT NULL,\n\tmigration_id INT NOT NULL REFERENCES schema_migration(id) DEFERRABLE INITIALLY DEFERRED\n);\n`\n\nexport default async function (builder: MigrationBuilder) {\n\tbuilder.sql(sql)\n}\n"],"names":[],"mappings":"AAIA,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAaZ,eAAA,sBAA+B,SAA2B;AACzD,UAAQ,IAAI,GAAG;AAChB;"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ const databaseMigrations = require("@contember/database-migrations");
3
+ async function _20240628153001schemainit(builder, args) {
4
+ const schema = await args.schemaResolver(args.connection);
5
+ if (!schema.meta.id) {
6
+ return;
7
+ }
8
+ builder.sql(`INSERT INTO schema(schema, checksum, version, migration_id)
9
+ VALUES(${databaseMigrations.escapeValue(JSON.stringify(schema.schema))}, ${databaseMigrations.escapeValue(schema.meta.checksum)}, ${databaseMigrations.escapeValue(schema.meta.version)}, ${schema.meta.id})`);
10
+ }
11
+ module.exports = _20240628153001schemainit;
12
+ //# sourceMappingURL=2024-06-28-153001-schema-init.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"2024-06-28-153001-schema-init.cjs","sources":["../../../../../packages/engine-system-api/src/migrations/2024-06-28-153001-schema-init.ts"],"sourcesContent":["import { escapeValue, MigrationArgs, MigrationBuilder } from '@contember/database-migrations'\nimport { SystemMigrationArgs } from './types'\n\n\nexport default async function (builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>) {\n\tconst schema = await args.schemaResolver(args.connection)\n\tif (!schema.meta.id) {\n\t\treturn\n\t}\n\tbuilder.sql(`INSERT INTO schema(schema, checksum, version, migration_id) \nVALUES(${escapeValue(JSON.stringify(schema.schema))}, ${escapeValue(schema.meta.checksum)}, ${escapeValue(schema.meta.version)}, ${schema.meta.id})`)\n}\n"],"names":["escapeValue"],"mappings":";;AAIA,eAAA,0BAA+B,SAA2B,MAA0C;AACnG,QAAM,SAAS,MAAM,KAAK,eAAe,KAAK,UAAU;AACpD,MAAA,CAAC,OAAO,KAAK,IAAI;AACpB;AAAA,EAAA;AAED,UAAQ,IAAI;AAAA,SACJA,+BAAY,KAAK,UAAU,OAAO,MAAM,CAAC,CAAC,KAAKA,mBAAAA,YAAY,OAAO,KAAK,QAAQ,CAAC,KAAKA,mBAAY,YAAA,OAAO,KAAK,OAAO,CAAC,KAAK,OAAO,KAAK,EAAE,GAAG;AACpJ;;"}
@@ -0,0 +1,13 @@
1
+ import { escapeValue } from "@contember/database-migrations";
2
+ async function _20240628153001schemainit(builder, args) {
3
+ const schema = await args.schemaResolver(args.connection);
4
+ if (!schema.meta.id) {
5
+ return;
6
+ }
7
+ builder.sql(`INSERT INTO schema(schema, checksum, version, migration_id)
8
+ VALUES(${escapeValue(JSON.stringify(schema.schema))}, ${escapeValue(schema.meta.checksum)}, ${escapeValue(schema.meta.version)}, ${schema.meta.id})`);
9
+ }
10
+ export {
11
+ _20240628153001schemainit as default
12
+ };
13
+ //# sourceMappingURL=2024-06-28-153001-schema-init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"2024-06-28-153001-schema-init.js","sources":["../../../../../packages/engine-system-api/src/migrations/2024-06-28-153001-schema-init.ts"],"sourcesContent":["import { escapeValue, MigrationArgs, MigrationBuilder } from '@contember/database-migrations'\nimport { SystemMigrationArgs } from './types'\n\n\nexport default async function (builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>) {\n\tconst schema = await args.schemaResolver(args.connection)\n\tif (!schema.meta.id) {\n\t\treturn\n\t}\n\tbuilder.sql(`INSERT INTO schema(schema, checksum, version, migration_id) \nVALUES(${escapeValue(JSON.stringify(schema.schema))}, ${escapeValue(schema.meta.checksum)}, ${escapeValue(schema.meta.version)}, ${schema.meta.id})`)\n}\n"],"names":[],"mappings":";AAIA,eAAA,0BAA+B,SAA2B,MAA0C;AACnG,QAAM,SAAS,MAAM,KAAK,eAAe,KAAK,UAAU;AACpD,MAAA,CAAC,OAAO,KAAK,IAAI;AACpB;AAAA,EAAA;AAED,UAAQ,IAAI;AAAA,SACJ,YAAY,KAAK,UAAU,OAAO,MAAM,CAAC,CAAC,KAAK,YAAY,OAAO,KAAK,QAAQ,CAAC,KAAK,YAAY,OAAO,KAAK,OAAO,CAAC,KAAK,OAAO,KAAK,EAAE,GAAG;AACpJ;"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ const sql = `
3
+ CREATE INDEX IF NOT EXISTS system_event_data_row_id_0 ON event_data USING btree ((row_ids -> 0));
4
+ CREATE INDEX IF NOT EXISTS system_event_data_row_id_1 ON event_data USING btree ((row_ids -> 1));
5
+ DROP INDEX IF EXISTS system_event_row_id;
6
+ `;
7
+ async function _20240729150000eventdataindex(builder) {
8
+ builder.sql(sql);
9
+ }
10
+ module.exports = _20240729150000eventdataindex;
11
+ //# sourceMappingURL=2024-07-29-150000-event-data-index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"2024-07-29-150000-event-data-index.cjs","sources":["../../../../../packages/engine-system-api/src/migrations/2024-07-29-150000-event-data-index.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\n\nconst sql = `\nCREATE INDEX IF NOT EXISTS system_event_data_row_id_0 ON event_data USING btree ((row_ids -> 0));\nCREATE INDEX IF NOT EXISTS system_event_data_row_id_1 ON event_data USING btree ((row_ids -> 1));\nDROP INDEX IF EXISTS system_event_row_id;\n`\n\nexport default async function (builder: MigrationBuilder) {\n\tbuilder.sql(sql)\n}\n"],"names":[],"mappings":";AAEA,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAMZ,eAAA,8BAA+B,SAA2B;AACzD,UAAQ,IAAI,GAAG;AAChB;;"}
@@ -0,0 +1,12 @@
1
+ const sql = `
2
+ CREATE INDEX IF NOT EXISTS system_event_data_row_id_0 ON event_data USING btree ((row_ids -> 0));
3
+ CREATE INDEX IF NOT EXISTS system_event_data_row_id_1 ON event_data USING btree ((row_ids -> 1));
4
+ DROP INDEX IF EXISTS system_event_row_id;
5
+ `;
6
+ async function _20240729150000eventdataindex(builder) {
7
+ builder.sql(sql);
8
+ }
9
+ export {
10
+ _20240729150000eventdataindex as default
11
+ };
12
+ //# sourceMappingURL=2024-07-29-150000-event-data-index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"2024-07-29-150000-event-data-index.js","sources":["../../../../../packages/engine-system-api/src/migrations/2024-07-29-150000-event-data-index.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\n\nconst sql = `\nCREATE INDEX IF NOT EXISTS system_event_data_row_id_0 ON event_data USING btree ((row_ids -> 0));\nCREATE INDEX IF NOT EXISTS system_event_data_row_id_1 ON event_data USING btree ((row_ids -> 1));\nDROP INDEX IF EXISTS system_event_row_id;\n`\n\nexport default async function (builder: MigrationBuilder) {\n\tbuilder.sql(sql)\n}\n"],"names":[],"mappings":"AAEA,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAMZ,eAAA,8BAA+B,SAA2B;AACzD,UAAQ,IAAI,GAAG;AAChB;"}
@@ -23,6 +23,9 @@ const _20230911174000FixOnDelete = require("./2023-09-11-174000-fix-on-delete.cj
23
23
  const _20231019173000FixUnique = require("./2023-10-19-173000-fix-unique.cjs");
24
24
  const _20231024140000SchemaNullableChecksum = require("./2023-10-24-140000-schema-nullable-checksum.cjs");
25
25
  const _20240628150000MigrationsDropSequence = require("./2024-06-28-150000-migrations-drop-sequence.cjs");
26
+ const _20240628153000Schema = require("./2024-06-28-153000-schema.cjs");
27
+ const _20240628153001SchemaInit = require("./2024-06-28-153001-schema-init.cjs");
28
+ const _20240729150000EventDataIndex = require("./2024-07-29-150000-event-data-index.cjs");
26
29
  const snapshot = require("./snapshot.cjs");
27
30
  const Database = require("@contember/database");
28
31
  const migrations = {
@@ -47,13 +50,16 @@ const migrations = {
47
50
  "2023-09-11-174000-fix-on-delete": _20230911174000FixOnDelete,
48
51
  "2023-10-19-173000-fix-unique": _20231019173000FixUnique,
49
52
  "2023-10-24-140000-schema-nullable-checksum": _20231024140000SchemaNullableChecksum,
50
- "2024-06-28-150000-migrations-drop-sequence": _20240628150000MigrationsDropSequence
53
+ "2024-06-28-150000-migrations-drop-sequence": _20240628150000MigrationsDropSequence,
54
+ "2024-06-28-153000-schema": _20240628153000Schema,
55
+ "2024-06-28-153001-schema-init": _20240628153001SchemaInit,
56
+ "2024-07-29-150000-event-data-index": _20240729150000EventDataIndex
51
57
  };
52
58
  class SystemMigrationsRunner {
53
- constructor(databaseContextFactory, project, schemaVersionBuilder, migrationGroups, databaseMetadataResolver) {
59
+ constructor(databaseContextFactory, project, schemaProvider, migrationGroups, databaseMetadataResolver) {
54
60
  this.databaseContextFactory = databaseContextFactory;
55
61
  this.project = project;
56
- this.schemaVersionBuilder = schemaVersionBuilder;
62
+ this.schemaProvider = schemaProvider;
57
63
  this.migrationGroups = migrationGroups;
58
64
  this.databaseMetadataResolver = databaseMetadataResolver;
59
65
  }
@@ -61,9 +67,9 @@ class SystemMigrationsRunner {
61
67
  await Database.createDatabaseIfNotExists(this.project.db, (message) => typeof message === "string" ? logger.warn(message) : logger.error(message));
62
68
  const singleConnection = Database.Connection.createSingle(this.project.db, (err) => logger.error(err));
63
69
  await singleConnection.scope(async (connection) => {
64
- const schemaResolver = (connection2) => {
70
+ const schemaResolver = async (connection2) => {
65
71
  const dbContextMigrations = this.databaseContextFactory.create(connection2);
66
- return this.schemaVersionBuilder.buildSchema(dbContextMigrations);
72
+ return await this.schemaProvider.buildSchemaFromMigrations(dbContextMigrations);
67
73
  };
68
74
  const migrationResolver = new databaseMigrations.GroupMigrationsResolver(
69
75
  new databaseMigrations.SnapshotMigrationResolver(snapshot, migrations),
@@ -1 +1 @@
1
- {"version":3,"file":"runner.cjs","sources":["../../../../../packages/engine-system-api/src/migrations/runner.ts"],"sourcesContent":["import {\n\tGroupMigrationsResolver,\n\tMigrationGroup,\n\tMigrationsRunner as DbMigrationsRunner,\n\tSnapshotMigrationResolver,\n} from '@contember/database-migrations'\nimport _20180804102200init from './2018-08-04-102200-init'\nimport _20180805130501triggereventfunction from './2018-08-05-130501-trigger-event-function'\nimport _20190114143432eventtrxid from './2019-01-14-143432-event-trx-id'\nimport _20190204154500eventrebase from './2019-02-04-154500-event-rebase'\nimport _20190318104147eventrunmigrationstruct from './2019-03-18-104147-event-run-migration-struct'\nimport _20190729103000triggereventfunctionfix from './2019-07-29-103000-trigger-event-function-fix'\nimport _20191128100000missingsettingfallback from './2019-11-28-100000-missing-setting-fallback'\nimport _20200327130000projectmigrations from './2020-03-27-130000-project-migrations'\nimport _20200506150000composedprimary from './2020-05-06-150000-composed-primary'\nimport _20200601103000eventtriggerperf from './2020-06-01-103000-event-trigger-perf'\nimport _20210323110000timestampfix from './2021-03-23-110000-timestamp-fix'\nimport _20210507155800eventlogrework from './2021-05-07-155800-event-log-rework'\nimport _202105191232000eventlogfixconstraint from './2021-05-19-1232000-event-log-fix-constraint'\nimport _20211221155500eventsup from './2021-12-21-155500-events-up'\nimport _20220208132600fnsearchpath from './2022-02-08-132600-fn-search-path'\nimport _20220208140500dropdeadcode from './2022-02-08-140500-drop-deadcode'\nimport _20220208144400dynamicstageschema from './2022-02-08-144400-dynamic-stage-schema'\nimport _20221003110000tableondelete from './2022-10-03-110000-table-on-delete'\nimport _20230911174000fixondelete from './2023-09-11-174000-fix-on-delete'\nimport _20231019173000fixunique from './2023-10-19-173000-fix-unique'\nimport _20231024140000schemanullablechecksum from './2023-10-24-140000-schema-nullable-checksum'\nimport _20240628150000migrationsdropsequence from './2024-06-28-150000-migrations-drop-sequence'\nimport snapshot from './snapshot'\n\nimport { Connection, createDatabaseIfNotExists, DatabaseConfig, DatabaseMetadataResolver } from '@contember/database'\nimport { DatabaseContextFactory, SchemaVersionBuilder } from '../model'\nimport { ProjectConfig } from '../types'\nimport { Logger } from '@contember/logger'\n\nconst migrations = {\n\t'2018-08-04-102200-init': _20180804102200init,\n\t'2018-08-05-130501-trigger-event-function': _20180805130501triggereventfunction,\n\t'2019-01-14-143432-event-trx-id': _20190114143432eventtrxid,\n\t'2019-02-04-154500-event-rebase': _20190204154500eventrebase,\n\t'2019-03-18-104147-event-run-migration-struct': _20190318104147eventrunmigrationstruct,\n\t'2019-07-29-103000-trigger-event-function-fix': _20190729103000triggereventfunctionfix,\n\t'2019-11-28-100000-missing-setting-fallback': _20191128100000missingsettingfallback,\n\t'2020-03-27-130000-project-migrations': _20200327130000projectmigrations,\n\t'2020-05-06-150000-composed-primary': _20200506150000composedprimary,\n\t'2020-06-01-103000-event-trigger-perf': _20200601103000eventtriggerperf,\n\t'2021-03-23-110000-timestamp-fix': _20210323110000timestampfix,\n\t'2021-05-07-155800-event-log-rework': _20210507155800eventlogrework,\n\t'2021-05-19-1232000-event-log-fix-constraint': _202105191232000eventlogfixconstraint,\n\t'2021-12-21-155500-events-up': _20211221155500eventsup,\n\t'2022-02-08-132600-fn-search-path': _20220208132600fnsearchpath,\n\t'2022-02-08-140500-drop-deadcode': _20220208140500dropdeadcode,\n\t'2022-02-08-144400-dynamic-stage-schema': _20220208144400dynamicstageschema,\n\t'2022-10-03-110000-table-on-delete': _20221003110000tableondelete,\n\t'2023-09-11-174000-fix-on-delete': _20230911174000fixondelete,\n\t'2023-10-19-173000-fix-unique': _20231019173000fixunique,\n\t'2023-10-24-140000-schema-nullable-checksum': _20231024140000schemanullablechecksum,\n\t'2024-06-28-150000-migrations-drop-sequence': _20240628150000migrationsdropsequence,\n}\n\n\nexport class SystemMigrationsRunner {\n\tconstructor(\n\t\tprivate readonly databaseContextFactory: DatabaseContextFactory,\n\t\tprivate readonly project: ProjectConfig & { db: DatabaseConfig },\n\t\tprivate readonly schemaVersionBuilder: SchemaVersionBuilder,\n\t\tprivate readonly migrationGroups: Record<string, MigrationGroup<unknown>>,\n\t\tprivate readonly databaseMetadataResolver: DatabaseMetadataResolver,\n\t) {\n\t}\n\tasync run(logger: Logger) {\n\t\tawait createDatabaseIfNotExists(this.project.db, message => typeof message === 'string' ? logger.warn(message) : logger.error(message))\n\t\tconst singleConnection = Connection.createSingle(this.project.db, err => logger.error(err))\n\t\tawait singleConnection.scope(async connection => {\n\t\t\tconst schemaResolver = (connection: Connection.ConnectionLike) => {\n\t\t\t\tconst dbContextMigrations = this.databaseContextFactory.create(connection)\n\t\t\t\treturn this.schemaVersionBuilder.buildSchema(dbContextMigrations)\n\t\t\t}\n\t\t\tconst migrationResolver = new GroupMigrationsResolver(\n\t\t\t\tnew SnapshotMigrationResolver(snapshot, migrations),\n\t\t\t\tObject.fromEntries(Object.entries(this.migrationGroups).map(\n\t\t\t\t\t([group, it]) => [\n\t\t\t\t\t\tgroup,\n\t\t\t\t\t\tnew SnapshotMigrationResolver(\n\t\t\t\t\t\t\tit.snapshot,\n\t\t\t\t\t\t\tit.migrations,\n\t\t\t\t\t\t\tgroup.replace(/[^-_\\w]+/g, '-'),\n\t\t\t\t\t\t\tmigrations,\n\t\t\t\t\t\t),\n\t\t\t\t\t]),\n\t\t\t\t),\n\t\t\t)\n\t\t\tconst migrationsRunner = new DbMigrationsRunner(connection, this.project.systemSchema, migrationResolver)\n\t\t\tawait migrationsRunner.migrate(message => logger.warn(message), {\n\t\t\t\tproject: this.project,\n\t\t\t\tschemaResolver,\n\t\t\t\tdatabaseMetadataResolver: (connection: Connection.ConnectionLike, schema: string) => {\n\t\t\t\t\tconst dbContextMigrations = this.databaseContextFactory.create(connection)\n\t\t\t\t\treturn this.databaseMetadataResolver.resolveMetadata(dbContextMigrations.client, schema)\n\t\t\t\t},\n\n\t\t\t})\n\t\t})\n\t\tawait singleConnection.end()\n\t}\n}\n"],"names":["_20180804102200init","_20180805130501triggereventfunction","_20190114143432eventtrxid","_20190204154500eventrebase","_20190318104147eventrunmigrationstruct","_20190729103000triggereventfunctionfix","_20191128100000missingsettingfallback","_20200327130000projectmigrations","_20200506150000composedprimary","_20200601103000eventtriggerperf","_20210323110000timestampfix","_20210507155800eventlogrework","_202105191232000eventlogfixconstraint","_20211221155500eventsup","_20220208132600fnsearchpath","_20220208140500dropdeadcode","_20220208144400dynamicstageschema","_20221003110000tableondelete","_20230911174000fixondelete","_20231019173000fixunique","_20231024140000schemanullablechecksum","_20240628150000migrationsdropsequence","createDatabaseIfNotExists","Connection","connection","GroupMigrationsResolver","SnapshotMigrationResolver","DbMigrationsRunner"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,MAAM,aAAa;AAAA,EAClB,0BAA0BA;AAAAA,EAC1B,4CAA4CC;AAAAA,EAC5C,kCAAkCC;AAAAA,EAClC,kCAAkCC;AAAAA,EAClC,gDAAgDC;AAAAA,EAChD,gDAAgDC;AAAAA,EAChD,8CAA8CC;AAAAA,EAC9C,wCAAwCC;AAAAA,EACxC,sCAAsCC;AAAAA,EACtC,wCAAwCC;AAAAA,EACxC,mCAAmCC;AAAAA,EACnC,sCAAsCC;AAAAA,EACtC,+CAA+CC;AAAAA,EAC/C,+BAA+BC;AAAAA,EAC/B,oCAAoCC;AAAAA,EACpC,mCAAmCC;AAAAA,EACnC,0CAA0CC;AAAAA,EAC1C,qCAAqCC;AAAAA,EACrC,mCAAmCC;AAAAA,EACnC,gCAAgCC;AAAAA,EAChC,8CAA8CC;AAAAA,EAC9C,8CAA8CC;AAC/C;AAGO,MAAM,uBAAuB;AAAA,EACnC,YACkB,wBACA,SACA,sBACA,iBACA,0BAChB;AALgB,SAAA,yBAAA;AACA,SAAA,UAAA;AACA,SAAA,uBAAA;AACA,SAAA,kBAAA;AACA,SAAA,2BAAA;AAAA,EAElB;AAAA,EACA,MAAM,IAAI,QAAgB;AACzB,UAAMC,SAAAA,0BAA0B,KAAK,QAAQ,IAAI,aAAW,OAAO,YAAY,WAAW,OAAO,KAAK,OAAO,IAAI,OAAO,MAAM,OAAO,CAAC;AAChI,UAAA,mBAAmBC,SAAAA,WAAW,aAAa,KAAK,QAAQ,IAAI,CAAO,QAAA,OAAO,MAAM,GAAG,CAAC;AACpF,UAAA,iBAAiB,MAAM,OAAM,eAAc;AAC1C,YAAA,iBAAiB,CAACC,gBAA0C;AACjE,cAAM,sBAAsB,KAAK,uBAAuB,OAAOA,WAAU;AAClE,eAAA,KAAK,qBAAqB,YAAY,mBAAmB;AAAA,MAAA;AAEjE,YAAM,oBAAoB,IAAIC,mBAAA;AAAA,QAC7B,IAAIC,mBAA0B,0BAAA,UAAU,UAAU;AAAA,QAClD,OAAO;AAAA,UAAY,OAAO,QAAQ,KAAK,eAAe,EAAE;AAAA,YACvD,CAAC,CAAC,OAAO,EAAE,MAAM;AAAA,cAChB;AAAA,cACA,IAAIA,mBAAA;AAAA,gBACH,GAAG;AAAA,gBACH,GAAG;AAAA,gBACH,MAAM,QAAQ,aAAa,GAAG;AAAA,gBAC9B;AAAA,cACD;AAAA,YACD;AAAA,UAAC;AAAA,QACF;AAAA,MAAA;AAED,YAAM,mBAAmB,IAAIC,mBAAAA,iBAAmB,YAAY,KAAK,QAAQ,cAAc,iBAAiB;AACxG,YAAM,iBAAiB,QAAQ,CAAA,YAAW,OAAO,KAAK,OAAO,GAAG;AAAA,QAC/D,SAAS,KAAK;AAAA,QACd;AAAA,QACA,0BAA0B,CAACH,aAAuC,WAAmB;AACpF,gBAAM,sBAAsB,KAAK,uBAAuB,OAAOA,WAAU;AACzE,iBAAO,KAAK,yBAAyB,gBAAgB,oBAAoB,QAAQ,MAAM;AAAA,QACxF;AAAA,MAAA,CAEA;AAAA,IAAA,CACD;AACD,UAAM,iBAAiB;EACxB;AACD;;"}
1
+ {"version":3,"file":"runner.cjs","sources":["../../../../../packages/engine-system-api/src/migrations/runner.ts"],"sourcesContent":["import {\n\tGroupMigrationsResolver,\n\tMigrationGroup,\n\tMigrationsRunner as DbMigrationsRunner,\n\tSnapshotMigrationResolver,\n} from '@contember/database-migrations'\nimport _20180804102200init from './2018-08-04-102200-init'\nimport _20180805130501triggereventfunction from './2018-08-05-130501-trigger-event-function'\nimport _20190114143432eventtrxid from './2019-01-14-143432-event-trx-id'\nimport _20190204154500eventrebase from './2019-02-04-154500-event-rebase'\nimport _20190318104147eventrunmigrationstruct from './2019-03-18-104147-event-run-migration-struct'\nimport _20190729103000triggereventfunctionfix from './2019-07-29-103000-trigger-event-function-fix'\nimport _20191128100000missingsettingfallback from './2019-11-28-100000-missing-setting-fallback'\nimport _20200327130000projectmigrations from './2020-03-27-130000-project-migrations'\nimport _20200506150000composedprimary from './2020-05-06-150000-composed-primary'\nimport _20200601103000eventtriggerperf from './2020-06-01-103000-event-trigger-perf'\nimport _20210323110000timestampfix from './2021-03-23-110000-timestamp-fix'\nimport _20210507155800eventlogrework from './2021-05-07-155800-event-log-rework'\nimport _202105191232000eventlogfixconstraint from './2021-05-19-1232000-event-log-fix-constraint'\nimport _20211221155500eventsup from './2021-12-21-155500-events-up'\nimport _20220208132600fnsearchpath from './2022-02-08-132600-fn-search-path'\nimport _20220208140500dropdeadcode from './2022-02-08-140500-drop-deadcode'\nimport _20220208144400dynamicstageschema from './2022-02-08-144400-dynamic-stage-schema'\nimport _20221003110000tableondelete from './2022-10-03-110000-table-on-delete'\nimport _20230911174000fixondelete from './2023-09-11-174000-fix-on-delete'\nimport _20231019173000fixunique from './2023-10-19-173000-fix-unique'\nimport _20231024140000schemanullablechecksum from './2023-10-24-140000-schema-nullable-checksum'\nimport _20240628150000migrationsdropsequence from './2024-06-28-150000-migrations-drop-sequence'\nimport _20240628153000schema from './2024-06-28-153000-schema'\nimport _20240628153001schemainit from './2024-06-28-153001-schema-init'\nimport _20240729150000eventdataindex from './2024-07-29-150000-event-data-index'\nimport snapshot from './snapshot'\n\nimport { Connection, createDatabaseIfNotExists, DatabaseConfig, DatabaseMetadataResolver } from '@contember/database'\nimport { DatabaseContextFactory, SchemaProvider } from '../model'\nimport { ProjectConfig } from '../types'\nimport { Logger } from '@contember/logger'\n\nconst migrations = {\n\t'2018-08-04-102200-init': _20180804102200init,\n\t'2018-08-05-130501-trigger-event-function': _20180805130501triggereventfunction,\n\t'2019-01-14-143432-event-trx-id': _20190114143432eventtrxid,\n\t'2019-02-04-154500-event-rebase': _20190204154500eventrebase,\n\t'2019-03-18-104147-event-run-migration-struct': _20190318104147eventrunmigrationstruct,\n\t'2019-07-29-103000-trigger-event-function-fix': _20190729103000triggereventfunctionfix,\n\t'2019-11-28-100000-missing-setting-fallback': _20191128100000missingsettingfallback,\n\t'2020-03-27-130000-project-migrations': _20200327130000projectmigrations,\n\t'2020-05-06-150000-composed-primary': _20200506150000composedprimary,\n\t'2020-06-01-103000-event-trigger-perf': _20200601103000eventtriggerperf,\n\t'2021-03-23-110000-timestamp-fix': _20210323110000timestampfix,\n\t'2021-05-07-155800-event-log-rework': _20210507155800eventlogrework,\n\t'2021-05-19-1232000-event-log-fix-constraint': _202105191232000eventlogfixconstraint,\n\t'2021-12-21-155500-events-up': _20211221155500eventsup,\n\t'2022-02-08-132600-fn-search-path': _20220208132600fnsearchpath,\n\t'2022-02-08-140500-drop-deadcode': _20220208140500dropdeadcode,\n\t'2022-02-08-144400-dynamic-stage-schema': _20220208144400dynamicstageschema,\n\t'2022-10-03-110000-table-on-delete': _20221003110000tableondelete,\n\t'2023-09-11-174000-fix-on-delete': _20230911174000fixondelete,\n\t'2023-10-19-173000-fix-unique': _20231019173000fixunique,\n\t'2023-10-24-140000-schema-nullable-checksum': _20231024140000schemanullablechecksum,\n\t'2024-06-28-150000-migrations-drop-sequence': _20240628150000migrationsdropsequence,\n\t'2024-06-28-153000-schema': _20240628153000schema,\n\t'2024-06-28-153001-schema-init': _20240628153001schemainit,\n\t'2024-07-29-150000-event-data-index': _20240729150000eventdataindex,\n}\n\n\nexport class SystemMigrationsRunner {\n\tconstructor(\n\t\tprivate readonly databaseContextFactory: DatabaseContextFactory,\n\t\tprivate readonly project: ProjectConfig & { db: DatabaseConfig },\n\t\tprivate readonly schemaProvider: SchemaProvider,\n\t\tprivate readonly migrationGroups: Record<string, MigrationGroup<unknown>>,\n\t\tprivate readonly databaseMetadataResolver: DatabaseMetadataResolver,\n\t) {\n\t}\n\tasync run(logger: Logger) {\n\t\tawait createDatabaseIfNotExists(this.project.db, message => typeof message === 'string' ? logger.warn(message) : logger.error(message))\n\t\tconst singleConnection = Connection.createSingle(this.project.db, err => logger.error(err))\n\t\tawait singleConnection.scope(async connection => {\n\t\t\tconst schemaResolver = async (connection: Connection.ConnectionLike) => {\n\t\t\t\tconst dbContextMigrations = this.databaseContextFactory.create(connection)\n\t\t\t\treturn await this.schemaProvider.buildSchemaFromMigrations(dbContextMigrations)\n\t\t\t}\n\t\t\tconst migrationResolver = new GroupMigrationsResolver(\n\t\t\t\tnew SnapshotMigrationResolver(snapshot, migrations),\n\t\t\t\tObject.fromEntries(Object.entries(this.migrationGroups).map(\n\t\t\t\t\t([group, it]) => [\n\t\t\t\t\t\tgroup,\n\t\t\t\t\t\tnew SnapshotMigrationResolver(\n\t\t\t\t\t\t\tit.snapshot,\n\t\t\t\t\t\t\tit.migrations,\n\t\t\t\t\t\t\tgroup.replace(/[^-_\\w]+/g, '-'),\n\t\t\t\t\t\t\tmigrations,\n\t\t\t\t\t\t),\n\t\t\t\t\t]),\n\t\t\t\t),\n\t\t\t)\n\t\t\tconst migrationsRunner = new DbMigrationsRunner(connection, this.project.systemSchema, migrationResolver)\n\t\t\tawait migrationsRunner.migrate(message => logger.warn(message), {\n\t\t\t\tproject: this.project,\n\t\t\t\tschemaResolver,\n\t\t\t\tdatabaseMetadataResolver: (connection: Connection.ConnectionLike, schema: string) => {\n\t\t\t\t\tconst dbContextMigrations = this.databaseContextFactory.create(connection)\n\t\t\t\t\treturn this.databaseMetadataResolver.resolveMetadata(dbContextMigrations.client, schema)\n\t\t\t\t},\n\n\t\t\t})\n\t\t})\n\t\tawait singleConnection.end()\n\t}\n}\n"],"names":["_20180804102200init","_20180805130501triggereventfunction","_20190114143432eventtrxid","_20190204154500eventrebase","_20190318104147eventrunmigrationstruct","_20190729103000triggereventfunctionfix","_20191128100000missingsettingfallback","_20200327130000projectmigrations","_20200506150000composedprimary","_20200601103000eventtriggerperf","_20210323110000timestampfix","_20210507155800eventlogrework","_202105191232000eventlogfixconstraint","_20211221155500eventsup","_20220208132600fnsearchpath","_20220208140500dropdeadcode","_20220208144400dynamicstageschema","_20221003110000tableondelete","_20230911174000fixondelete","_20231019173000fixunique","_20231024140000schemanullablechecksum","_20240628150000migrationsdropsequence","_20240628153000schema","_20240628153001schemainit","_20240729150000eventdataindex","createDatabaseIfNotExists","Connection","connection","GroupMigrationsResolver","SnapshotMigrationResolver","DbMigrationsRunner"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,MAAM,aAAa;AAAA,EAClB,0BAA0BA;AAAAA,EAC1B,4CAA4CC;AAAAA,EAC5C,kCAAkCC;AAAAA,EAClC,kCAAkCC;AAAAA,EAClC,gDAAgDC;AAAAA,EAChD,gDAAgDC;AAAAA,EAChD,8CAA8CC;AAAAA,EAC9C,wCAAwCC;AAAAA,EACxC,sCAAsCC;AAAAA,EACtC,wCAAwCC;AAAAA,EACxC,mCAAmCC;AAAAA,EACnC,sCAAsCC;AAAAA,EACtC,+CAA+CC;AAAAA,EAC/C,+BAA+BC;AAAAA,EAC/B,oCAAoCC;AAAAA,EACpC,mCAAmCC;AAAAA,EACnC,0CAA0CC;AAAAA,EAC1C,qCAAqCC;AAAAA,EACrC,mCAAmCC;AAAAA,EACnC,gCAAgCC;AAAAA,EAChC,8CAA8CC;AAAAA,EAC9C,8CAA8CC;AAAAA,EAC9C,4BAA4BC;AAAAA,EAC5B,iCAAiCC;AAAAA,EACjC,sCAAsCC;AACvC;AAGO,MAAM,uBAAuB;AAAA,EACnC,YACkB,wBACA,SACA,gBACA,iBACA,0BAChB;AALgB,SAAA,yBAAA;AACA,SAAA,UAAA;AACA,SAAA,iBAAA;AACA,SAAA,kBAAA;AACA,SAAA,2BAAA;AAAA,EAAA;AAAA,EAGlB,MAAM,IAAI,QAAgB;AACzB,UAAMC,SAAAA,0BAA0B,KAAK,QAAQ,IAAI,aAAW,OAAO,YAAY,WAAW,OAAO,KAAK,OAAO,IAAI,OAAO,MAAM,OAAO,CAAC;AAChI,UAAA,mBAAmBC,SAAAA,WAAW,aAAa,KAAK,QAAQ,IAAI,CAAO,QAAA,OAAO,MAAM,GAAG,CAAC;AACpF,UAAA,iBAAiB,MAAM,OAAM,eAAc;AAC1C,YAAA,iBAAiB,OAAOC,gBAA0C;AACvE,cAAM,sBAAsB,KAAK,uBAAuB,OAAOA,WAAU;AACzE,eAAO,MAAM,KAAK,eAAe,0BAA0B,mBAAmB;AAAA,MAC/E;AACA,YAAM,oBAAoB,IAAIC,mBAAA;AAAA,QAC7B,IAAIC,mBAA0B,0BAAA,UAAU,UAAU;AAAA,QAClD,OAAO;AAAA,UAAY,OAAO,QAAQ,KAAK,eAAe,EAAE;AAAA,YACvD,CAAC,CAAC,OAAO,EAAE,MAAM;AAAA,cAChB;AAAA,cACA,IAAIA,mBAAA;AAAA,gBACH,GAAG;AAAA,gBACH,GAAG;AAAA,gBACH,MAAM,QAAQ,aAAa,GAAG;AAAA,gBAC9B;AAAA,cAAA;AAAA,YACD;AAAA,UACD;AAAA,QAAC;AAAA,MAEH;AACA,YAAM,mBAAmB,IAAIC,oCAAmB,YAAY,KAAK,QAAQ,cAAc,iBAAiB;AACxG,YAAM,iBAAiB,QAAQ,CAAA,YAAW,OAAO,KAAK,OAAO,GAAG;AAAA,QAC/D,SAAS,KAAK;AAAA,QACd;AAAA,QACA,0BAA0B,CAACH,aAAuC,WAAmB;AACpF,gBAAM,sBAAsB,KAAK,uBAAuB,OAAOA,WAAU;AACzE,iBAAO,KAAK,yBAAyB,gBAAgB,oBAAoB,QAAQ,MAAM;AAAA,QAAA;AAAA,MACxF,CAEA;AAAA,IAAA,CACD;AACD,UAAM,iBAAiB,IAAI;AAAA,EAAA;AAE7B;;"}
@@ -21,6 +21,9 @@ import _20230911174000fixondelete from "./2023-09-11-174000-fix-on-delete.js";
21
21
  import _20231019173000fixunique from "./2023-10-19-173000-fix-unique.js";
22
22
  import _20231024140000schemanullablechecksum from "./2023-10-24-140000-schema-nullable-checksum.js";
23
23
  import _20240628150000migrationsdropsequence from "./2024-06-28-150000-migrations-drop-sequence.js";
24
+ import _20240628153000schema from "./2024-06-28-153000-schema.js";
25
+ import _20240628153001schemainit from "./2024-06-28-153001-schema-init.js";
26
+ import _20240729150000eventdataindex from "./2024-07-29-150000-event-data-index.js";
24
27
  import snapshot from "./snapshot.js";
25
28
  import { createDatabaseIfNotExists, Connection } from "@contember/database";
26
29
  const migrations = {
@@ -45,13 +48,16 @@ const migrations = {
45
48
  "2023-09-11-174000-fix-on-delete": _20230911174000fixondelete,
46
49
  "2023-10-19-173000-fix-unique": _20231019173000fixunique,
47
50
  "2023-10-24-140000-schema-nullable-checksum": _20231024140000schemanullablechecksum,
48
- "2024-06-28-150000-migrations-drop-sequence": _20240628150000migrationsdropsequence
51
+ "2024-06-28-150000-migrations-drop-sequence": _20240628150000migrationsdropsequence,
52
+ "2024-06-28-153000-schema": _20240628153000schema,
53
+ "2024-06-28-153001-schema-init": _20240628153001schemainit,
54
+ "2024-07-29-150000-event-data-index": _20240729150000eventdataindex
49
55
  };
50
56
  class SystemMigrationsRunner {
51
- constructor(databaseContextFactory, project, schemaVersionBuilder, migrationGroups, databaseMetadataResolver) {
57
+ constructor(databaseContextFactory, project, schemaProvider, migrationGroups, databaseMetadataResolver) {
52
58
  this.databaseContextFactory = databaseContextFactory;
53
59
  this.project = project;
54
- this.schemaVersionBuilder = schemaVersionBuilder;
60
+ this.schemaProvider = schemaProvider;
55
61
  this.migrationGroups = migrationGroups;
56
62
  this.databaseMetadataResolver = databaseMetadataResolver;
57
63
  }
@@ -59,9 +65,9 @@ class SystemMigrationsRunner {
59
65
  await createDatabaseIfNotExists(this.project.db, (message) => typeof message === "string" ? logger.warn(message) : logger.error(message));
60
66
  const singleConnection = Connection.createSingle(this.project.db, (err) => logger.error(err));
61
67
  await singleConnection.scope(async (connection) => {
62
- const schemaResolver = (connection2) => {
68
+ const schemaResolver = async (connection2) => {
63
69
  const dbContextMigrations = this.databaseContextFactory.create(connection2);
64
- return this.schemaVersionBuilder.buildSchema(dbContextMigrations);
70
+ return await this.schemaProvider.buildSchemaFromMigrations(dbContextMigrations);
65
71
  };
66
72
  const migrationResolver = new GroupMigrationsResolver(
67
73
  new SnapshotMigrationResolver(snapshot, migrations),
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sources":["../../../../../packages/engine-system-api/src/migrations/runner.ts"],"sourcesContent":["import {\n\tGroupMigrationsResolver,\n\tMigrationGroup,\n\tMigrationsRunner as DbMigrationsRunner,\n\tSnapshotMigrationResolver,\n} from '@contember/database-migrations'\nimport _20180804102200init from './2018-08-04-102200-init'\nimport _20180805130501triggereventfunction from './2018-08-05-130501-trigger-event-function'\nimport _20190114143432eventtrxid from './2019-01-14-143432-event-trx-id'\nimport _20190204154500eventrebase from './2019-02-04-154500-event-rebase'\nimport _20190318104147eventrunmigrationstruct from './2019-03-18-104147-event-run-migration-struct'\nimport _20190729103000triggereventfunctionfix from './2019-07-29-103000-trigger-event-function-fix'\nimport _20191128100000missingsettingfallback from './2019-11-28-100000-missing-setting-fallback'\nimport _20200327130000projectmigrations from './2020-03-27-130000-project-migrations'\nimport _20200506150000composedprimary from './2020-05-06-150000-composed-primary'\nimport _20200601103000eventtriggerperf from './2020-06-01-103000-event-trigger-perf'\nimport _20210323110000timestampfix from './2021-03-23-110000-timestamp-fix'\nimport _20210507155800eventlogrework from './2021-05-07-155800-event-log-rework'\nimport _202105191232000eventlogfixconstraint from './2021-05-19-1232000-event-log-fix-constraint'\nimport _20211221155500eventsup from './2021-12-21-155500-events-up'\nimport _20220208132600fnsearchpath from './2022-02-08-132600-fn-search-path'\nimport _20220208140500dropdeadcode from './2022-02-08-140500-drop-deadcode'\nimport _20220208144400dynamicstageschema from './2022-02-08-144400-dynamic-stage-schema'\nimport _20221003110000tableondelete from './2022-10-03-110000-table-on-delete'\nimport _20230911174000fixondelete from './2023-09-11-174000-fix-on-delete'\nimport _20231019173000fixunique from './2023-10-19-173000-fix-unique'\nimport _20231024140000schemanullablechecksum from './2023-10-24-140000-schema-nullable-checksum'\nimport _20240628150000migrationsdropsequence from './2024-06-28-150000-migrations-drop-sequence'\nimport snapshot from './snapshot'\n\nimport { Connection, createDatabaseIfNotExists, DatabaseConfig, DatabaseMetadataResolver } from '@contember/database'\nimport { DatabaseContextFactory, SchemaVersionBuilder } from '../model'\nimport { ProjectConfig } from '../types'\nimport { Logger } from '@contember/logger'\n\nconst migrations = {\n\t'2018-08-04-102200-init': _20180804102200init,\n\t'2018-08-05-130501-trigger-event-function': _20180805130501triggereventfunction,\n\t'2019-01-14-143432-event-trx-id': _20190114143432eventtrxid,\n\t'2019-02-04-154500-event-rebase': _20190204154500eventrebase,\n\t'2019-03-18-104147-event-run-migration-struct': _20190318104147eventrunmigrationstruct,\n\t'2019-07-29-103000-trigger-event-function-fix': _20190729103000triggereventfunctionfix,\n\t'2019-11-28-100000-missing-setting-fallback': _20191128100000missingsettingfallback,\n\t'2020-03-27-130000-project-migrations': _20200327130000projectmigrations,\n\t'2020-05-06-150000-composed-primary': _20200506150000composedprimary,\n\t'2020-06-01-103000-event-trigger-perf': _20200601103000eventtriggerperf,\n\t'2021-03-23-110000-timestamp-fix': _20210323110000timestampfix,\n\t'2021-05-07-155800-event-log-rework': _20210507155800eventlogrework,\n\t'2021-05-19-1232000-event-log-fix-constraint': _202105191232000eventlogfixconstraint,\n\t'2021-12-21-155500-events-up': _20211221155500eventsup,\n\t'2022-02-08-132600-fn-search-path': _20220208132600fnsearchpath,\n\t'2022-02-08-140500-drop-deadcode': _20220208140500dropdeadcode,\n\t'2022-02-08-144400-dynamic-stage-schema': _20220208144400dynamicstageschema,\n\t'2022-10-03-110000-table-on-delete': _20221003110000tableondelete,\n\t'2023-09-11-174000-fix-on-delete': _20230911174000fixondelete,\n\t'2023-10-19-173000-fix-unique': _20231019173000fixunique,\n\t'2023-10-24-140000-schema-nullable-checksum': _20231024140000schemanullablechecksum,\n\t'2024-06-28-150000-migrations-drop-sequence': _20240628150000migrationsdropsequence,\n}\n\n\nexport class SystemMigrationsRunner {\n\tconstructor(\n\t\tprivate readonly databaseContextFactory: DatabaseContextFactory,\n\t\tprivate readonly project: ProjectConfig & { db: DatabaseConfig },\n\t\tprivate readonly schemaVersionBuilder: SchemaVersionBuilder,\n\t\tprivate readonly migrationGroups: Record<string, MigrationGroup<unknown>>,\n\t\tprivate readonly databaseMetadataResolver: DatabaseMetadataResolver,\n\t) {\n\t}\n\tasync run(logger: Logger) {\n\t\tawait createDatabaseIfNotExists(this.project.db, message => typeof message === 'string' ? logger.warn(message) : logger.error(message))\n\t\tconst singleConnection = Connection.createSingle(this.project.db, err => logger.error(err))\n\t\tawait singleConnection.scope(async connection => {\n\t\t\tconst schemaResolver = (connection: Connection.ConnectionLike) => {\n\t\t\t\tconst dbContextMigrations = this.databaseContextFactory.create(connection)\n\t\t\t\treturn this.schemaVersionBuilder.buildSchema(dbContextMigrations)\n\t\t\t}\n\t\t\tconst migrationResolver = new GroupMigrationsResolver(\n\t\t\t\tnew SnapshotMigrationResolver(snapshot, migrations),\n\t\t\t\tObject.fromEntries(Object.entries(this.migrationGroups).map(\n\t\t\t\t\t([group, it]) => [\n\t\t\t\t\t\tgroup,\n\t\t\t\t\t\tnew SnapshotMigrationResolver(\n\t\t\t\t\t\t\tit.snapshot,\n\t\t\t\t\t\t\tit.migrations,\n\t\t\t\t\t\t\tgroup.replace(/[^-_\\w]+/g, '-'),\n\t\t\t\t\t\t\tmigrations,\n\t\t\t\t\t\t),\n\t\t\t\t\t]),\n\t\t\t\t),\n\t\t\t)\n\t\t\tconst migrationsRunner = new DbMigrationsRunner(connection, this.project.systemSchema, migrationResolver)\n\t\t\tawait migrationsRunner.migrate(message => logger.warn(message), {\n\t\t\t\tproject: this.project,\n\t\t\t\tschemaResolver,\n\t\t\t\tdatabaseMetadataResolver: (connection: Connection.ConnectionLike, schema: string) => {\n\t\t\t\t\tconst dbContextMigrations = this.databaseContextFactory.create(connection)\n\t\t\t\t\treturn this.databaseMetadataResolver.resolveMetadata(dbContextMigrations.client, schema)\n\t\t\t\t},\n\n\t\t\t})\n\t\t})\n\t\tawait singleConnection.end()\n\t}\n}\n"],"names":["connection","DbMigrationsRunner"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,MAAM,aAAa;AAAA,EAClB,0BAA0B;AAAA,EAC1B,4CAA4C;AAAA,EAC5C,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,gDAAgD;AAAA,EAChD,gDAAgD;AAAA,EAChD,8CAA8C;AAAA,EAC9C,wCAAwC;AAAA,EACxC,sCAAsC;AAAA,EACtC,wCAAwC;AAAA,EACxC,mCAAmC;AAAA,EACnC,sCAAsC;AAAA,EACtC,+CAA+C;AAAA,EAC/C,+BAA+B;AAAA,EAC/B,oCAAoC;AAAA,EACpC,mCAAmC;AAAA,EACnC,0CAA0C;AAAA,EAC1C,qCAAqC;AAAA,EACrC,mCAAmC;AAAA,EACnC,gCAAgC;AAAA,EAChC,8CAA8C;AAAA,EAC9C,8CAA8C;AAC/C;AAGO,MAAM,uBAAuB;AAAA,EACnC,YACkB,wBACA,SACA,sBACA,iBACA,0BAChB;AALgB,SAAA,yBAAA;AACA,SAAA,UAAA;AACA,SAAA,uBAAA;AACA,SAAA,kBAAA;AACA,SAAA,2BAAA;AAAA,EAElB;AAAA,EACA,MAAM,IAAI,QAAgB;AACzB,UAAM,0BAA0B,KAAK,QAAQ,IAAI,aAAW,OAAO,YAAY,WAAW,OAAO,KAAK,OAAO,IAAI,OAAO,MAAM,OAAO,CAAC;AAChI,UAAA,mBAAmB,WAAW,aAAa,KAAK,QAAQ,IAAI,CAAO,QAAA,OAAO,MAAM,GAAG,CAAC;AACpF,UAAA,iBAAiB,MAAM,OAAM,eAAc;AAC1C,YAAA,iBAAiB,CAACA,gBAA0C;AACjE,cAAM,sBAAsB,KAAK,uBAAuB,OAAOA,WAAU;AAClE,eAAA,KAAK,qBAAqB,YAAY,mBAAmB;AAAA,MAAA;AAEjE,YAAM,oBAAoB,IAAI;AAAA,QAC7B,IAAI,0BAA0B,UAAU,UAAU;AAAA,QAClD,OAAO;AAAA,UAAY,OAAO,QAAQ,KAAK,eAAe,EAAE;AAAA,YACvD,CAAC,CAAC,OAAO,EAAE,MAAM;AAAA,cAChB;AAAA,cACA,IAAI;AAAA,gBACH,GAAG;AAAA,gBACH,GAAG;AAAA,gBACH,MAAM,QAAQ,aAAa,GAAG;AAAA,gBAC9B;AAAA,cACD;AAAA,YACD;AAAA,UAAC;AAAA,QACF;AAAA,MAAA;AAED,YAAM,mBAAmB,IAAIC,iBAAmB,YAAY,KAAK,QAAQ,cAAc,iBAAiB;AACxG,YAAM,iBAAiB,QAAQ,CAAA,YAAW,OAAO,KAAK,OAAO,GAAG;AAAA,QAC/D,SAAS,KAAK;AAAA,QACd;AAAA,QACA,0BAA0B,CAACD,aAAuC,WAAmB;AACpF,gBAAM,sBAAsB,KAAK,uBAAuB,OAAOA,WAAU;AACzE,iBAAO,KAAK,yBAAyB,gBAAgB,oBAAoB,QAAQ,MAAM;AAAA,QACxF;AAAA,MAAA,CAEA;AAAA,IAAA,CACD;AACD,UAAM,iBAAiB;EACxB;AACD;"}
1
+ {"version":3,"file":"runner.js","sources":["../../../../../packages/engine-system-api/src/migrations/runner.ts"],"sourcesContent":["import {\n\tGroupMigrationsResolver,\n\tMigrationGroup,\n\tMigrationsRunner as DbMigrationsRunner,\n\tSnapshotMigrationResolver,\n} from '@contember/database-migrations'\nimport _20180804102200init from './2018-08-04-102200-init'\nimport _20180805130501triggereventfunction from './2018-08-05-130501-trigger-event-function'\nimport _20190114143432eventtrxid from './2019-01-14-143432-event-trx-id'\nimport _20190204154500eventrebase from './2019-02-04-154500-event-rebase'\nimport _20190318104147eventrunmigrationstruct from './2019-03-18-104147-event-run-migration-struct'\nimport _20190729103000triggereventfunctionfix from './2019-07-29-103000-trigger-event-function-fix'\nimport _20191128100000missingsettingfallback from './2019-11-28-100000-missing-setting-fallback'\nimport _20200327130000projectmigrations from './2020-03-27-130000-project-migrations'\nimport _20200506150000composedprimary from './2020-05-06-150000-composed-primary'\nimport _20200601103000eventtriggerperf from './2020-06-01-103000-event-trigger-perf'\nimport _20210323110000timestampfix from './2021-03-23-110000-timestamp-fix'\nimport _20210507155800eventlogrework from './2021-05-07-155800-event-log-rework'\nimport _202105191232000eventlogfixconstraint from './2021-05-19-1232000-event-log-fix-constraint'\nimport _20211221155500eventsup from './2021-12-21-155500-events-up'\nimport _20220208132600fnsearchpath from './2022-02-08-132600-fn-search-path'\nimport _20220208140500dropdeadcode from './2022-02-08-140500-drop-deadcode'\nimport _20220208144400dynamicstageschema from './2022-02-08-144400-dynamic-stage-schema'\nimport _20221003110000tableondelete from './2022-10-03-110000-table-on-delete'\nimport _20230911174000fixondelete from './2023-09-11-174000-fix-on-delete'\nimport _20231019173000fixunique from './2023-10-19-173000-fix-unique'\nimport _20231024140000schemanullablechecksum from './2023-10-24-140000-schema-nullable-checksum'\nimport _20240628150000migrationsdropsequence from './2024-06-28-150000-migrations-drop-sequence'\nimport _20240628153000schema from './2024-06-28-153000-schema'\nimport _20240628153001schemainit from './2024-06-28-153001-schema-init'\nimport _20240729150000eventdataindex from './2024-07-29-150000-event-data-index'\nimport snapshot from './snapshot'\n\nimport { Connection, createDatabaseIfNotExists, DatabaseConfig, DatabaseMetadataResolver } from '@contember/database'\nimport { DatabaseContextFactory, SchemaProvider } from '../model'\nimport { ProjectConfig } from '../types'\nimport { Logger } from '@contember/logger'\n\nconst migrations = {\n\t'2018-08-04-102200-init': _20180804102200init,\n\t'2018-08-05-130501-trigger-event-function': _20180805130501triggereventfunction,\n\t'2019-01-14-143432-event-trx-id': _20190114143432eventtrxid,\n\t'2019-02-04-154500-event-rebase': _20190204154500eventrebase,\n\t'2019-03-18-104147-event-run-migration-struct': _20190318104147eventrunmigrationstruct,\n\t'2019-07-29-103000-trigger-event-function-fix': _20190729103000triggereventfunctionfix,\n\t'2019-11-28-100000-missing-setting-fallback': _20191128100000missingsettingfallback,\n\t'2020-03-27-130000-project-migrations': _20200327130000projectmigrations,\n\t'2020-05-06-150000-composed-primary': _20200506150000composedprimary,\n\t'2020-06-01-103000-event-trigger-perf': _20200601103000eventtriggerperf,\n\t'2021-03-23-110000-timestamp-fix': _20210323110000timestampfix,\n\t'2021-05-07-155800-event-log-rework': _20210507155800eventlogrework,\n\t'2021-05-19-1232000-event-log-fix-constraint': _202105191232000eventlogfixconstraint,\n\t'2021-12-21-155500-events-up': _20211221155500eventsup,\n\t'2022-02-08-132600-fn-search-path': _20220208132600fnsearchpath,\n\t'2022-02-08-140500-drop-deadcode': _20220208140500dropdeadcode,\n\t'2022-02-08-144400-dynamic-stage-schema': _20220208144400dynamicstageschema,\n\t'2022-10-03-110000-table-on-delete': _20221003110000tableondelete,\n\t'2023-09-11-174000-fix-on-delete': _20230911174000fixondelete,\n\t'2023-10-19-173000-fix-unique': _20231019173000fixunique,\n\t'2023-10-24-140000-schema-nullable-checksum': _20231024140000schemanullablechecksum,\n\t'2024-06-28-150000-migrations-drop-sequence': _20240628150000migrationsdropsequence,\n\t'2024-06-28-153000-schema': _20240628153000schema,\n\t'2024-06-28-153001-schema-init': _20240628153001schemainit,\n\t'2024-07-29-150000-event-data-index': _20240729150000eventdataindex,\n}\n\n\nexport class SystemMigrationsRunner {\n\tconstructor(\n\t\tprivate readonly databaseContextFactory: DatabaseContextFactory,\n\t\tprivate readonly project: ProjectConfig & { db: DatabaseConfig },\n\t\tprivate readonly schemaProvider: SchemaProvider,\n\t\tprivate readonly migrationGroups: Record<string, MigrationGroup<unknown>>,\n\t\tprivate readonly databaseMetadataResolver: DatabaseMetadataResolver,\n\t) {\n\t}\n\tasync run(logger: Logger) {\n\t\tawait createDatabaseIfNotExists(this.project.db, message => typeof message === 'string' ? logger.warn(message) : logger.error(message))\n\t\tconst singleConnection = Connection.createSingle(this.project.db, err => logger.error(err))\n\t\tawait singleConnection.scope(async connection => {\n\t\t\tconst schemaResolver = async (connection: Connection.ConnectionLike) => {\n\t\t\t\tconst dbContextMigrations = this.databaseContextFactory.create(connection)\n\t\t\t\treturn await this.schemaProvider.buildSchemaFromMigrations(dbContextMigrations)\n\t\t\t}\n\t\t\tconst migrationResolver = new GroupMigrationsResolver(\n\t\t\t\tnew SnapshotMigrationResolver(snapshot, migrations),\n\t\t\t\tObject.fromEntries(Object.entries(this.migrationGroups).map(\n\t\t\t\t\t([group, it]) => [\n\t\t\t\t\t\tgroup,\n\t\t\t\t\t\tnew SnapshotMigrationResolver(\n\t\t\t\t\t\t\tit.snapshot,\n\t\t\t\t\t\t\tit.migrations,\n\t\t\t\t\t\t\tgroup.replace(/[^-_\\w]+/g, '-'),\n\t\t\t\t\t\t\tmigrations,\n\t\t\t\t\t\t),\n\t\t\t\t\t]),\n\t\t\t\t),\n\t\t\t)\n\t\t\tconst migrationsRunner = new DbMigrationsRunner(connection, this.project.systemSchema, migrationResolver)\n\t\t\tawait migrationsRunner.migrate(message => logger.warn(message), {\n\t\t\t\tproject: this.project,\n\t\t\t\tschemaResolver,\n\t\t\t\tdatabaseMetadataResolver: (connection: Connection.ConnectionLike, schema: string) => {\n\t\t\t\t\tconst dbContextMigrations = this.databaseContextFactory.create(connection)\n\t\t\t\t\treturn this.databaseMetadataResolver.resolveMetadata(dbContextMigrations.client, schema)\n\t\t\t\t},\n\n\t\t\t})\n\t\t})\n\t\tawait singleConnection.end()\n\t}\n}\n"],"names":["connection","DbMigrationsRunner"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,MAAM,aAAa;AAAA,EAClB,0BAA0B;AAAA,EAC1B,4CAA4C;AAAA,EAC5C,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,gDAAgD;AAAA,EAChD,gDAAgD;AAAA,EAChD,8CAA8C;AAAA,EAC9C,wCAAwC;AAAA,EACxC,sCAAsC;AAAA,EACtC,wCAAwC;AAAA,EACxC,mCAAmC;AAAA,EACnC,sCAAsC;AAAA,EACtC,+CAA+C;AAAA,EAC/C,+BAA+B;AAAA,EAC/B,oCAAoC;AAAA,EACpC,mCAAmC;AAAA,EACnC,0CAA0C;AAAA,EAC1C,qCAAqC;AAAA,EACrC,mCAAmC;AAAA,EACnC,gCAAgC;AAAA,EAChC,8CAA8C;AAAA,EAC9C,8CAA8C;AAAA,EAC9C,4BAA4B;AAAA,EAC5B,iCAAiC;AAAA,EACjC,sCAAsC;AACvC;AAGO,MAAM,uBAAuB;AAAA,EACnC,YACkB,wBACA,SACA,gBACA,iBACA,0BAChB;AALgB,SAAA,yBAAA;AACA,SAAA,UAAA;AACA,SAAA,iBAAA;AACA,SAAA,kBAAA;AACA,SAAA,2BAAA;AAAA,EAAA;AAAA,EAGlB,MAAM,IAAI,QAAgB;AACzB,UAAM,0BAA0B,KAAK,QAAQ,IAAI,aAAW,OAAO,YAAY,WAAW,OAAO,KAAK,OAAO,IAAI,OAAO,MAAM,OAAO,CAAC;AAChI,UAAA,mBAAmB,WAAW,aAAa,KAAK,QAAQ,IAAI,CAAO,QAAA,OAAO,MAAM,GAAG,CAAC;AACpF,UAAA,iBAAiB,MAAM,OAAM,eAAc;AAC1C,YAAA,iBAAiB,OAAOA,gBAA0C;AACvE,cAAM,sBAAsB,KAAK,uBAAuB,OAAOA,WAAU;AACzE,eAAO,MAAM,KAAK,eAAe,0BAA0B,mBAAmB;AAAA,MAC/E;AACA,YAAM,oBAAoB,IAAI;AAAA,QAC7B,IAAI,0BAA0B,UAAU,UAAU;AAAA,QAClD,OAAO;AAAA,UAAY,OAAO,QAAQ,KAAK,eAAe,EAAE;AAAA,YACvD,CAAC,CAAC,OAAO,EAAE,MAAM;AAAA,cAChB;AAAA,cACA,IAAI;AAAA,gBACH,GAAG;AAAA,gBACH,GAAG;AAAA,gBACH,MAAM,QAAQ,aAAa,GAAG;AAAA,gBAC9B;AAAA,cAAA;AAAA,YACD;AAAA,UACD;AAAA,QAAC;AAAA,MAEH;AACA,YAAM,mBAAmB,IAAIC,iBAAmB,YAAY,KAAK,QAAQ,cAAc,iBAAiB;AACxG,YAAM,iBAAiB,QAAQ,CAAA,YAAW,OAAO,KAAK,OAAO,GAAG;AAAA,QAC/D,SAAS,KAAK;AAAA,QACd;AAAA,QACA,0BAA0B,CAACD,aAAuC,WAAmB;AACpF,gBAAM,sBAAsB,KAAK,uBAAuB,OAAOA,WAAU;AACzE,iBAAO,KAAK,yBAAyB,gBAAgB,oBAAoB,QAAQ,MAAM;AAAA,QAAA;AAAA,MACxF,CAEA;AAAA,IAAA,CACD;AACD,UAAM,iBAAiB,IAAI;AAAA,EAAA;AAE7B;"}
@@ -9,7 +9,7 @@ const snapshotMigration = (sqlFactory) => {
9
9
  WHERE pg_namespace.nspname = 'pg_catalog' AND pg_proc.proname = 'gen_random_uuid'
10
10
  `);
11
11
  let randomUuidFn = "uuid_generate_v4";
12
- if (hasGenRandomUuid.rowCount > 0) {
12
+ if ((hasGenRandomUuid.rowCount ?? 0) > 0) {
13
13
  randomUuidFn = "gen_random_uuid";
14
14
  } else {
15
15
  const hasUuidGenV4 = await args.connection.query(`
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-factory.cjs","sources":["../../../../../packages/engine-system-api/src/migrations/snapshot-factory.ts"],"sourcesContent":["import { MigrationArgs, MigrationBuilder } from '@contember/database-migrations'\nimport { SystemMigrationArgs } from './types'\n\nexport const snapshotMigration = (sqlFactory: (args: { randomUuidFn: string }) => string) => {\n\treturn async (builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>) => {\n\t\tconst hasGenRandomUuid = await args.connection.query(`\n SELECT 1\n FROM pg_proc\n JOIN pg_namespace ON pg_proc.pronamespace = pg_namespace.oid\n WHERE pg_namespace.nspname = 'pg_catalog' AND pg_proc.proname = 'gen_random_uuid'\n\t\t`)\n\t\tlet randomUuidFn: string = 'uuid_generate_v4'\n\t\tif (hasGenRandomUuid.rowCount > 0) {\n\t\t\trandomUuidFn = 'gen_random_uuid'\n\t\t} else {\n\t\t\tconst hasUuidGenV4 = await args.connection.query(`\n SELECT 1\n FROM pg_proc\n JOIN pg_namespace ON pg_proc.pronamespace = pg_namespace.oid\n WHERE pg_namespace.nspname = 'pg_catalog' AND pg_proc.proname = 'uuid_generate_v4'\n\t\t\t`)\n\t\t\tif (hasUuidGenV4.rowCount === 0) {\n\t\t\t\tbuilder.sql(`\n\t\t\t\tCREATE FUNCTION \"uuid_generate_v4\"() RETURNS \"uuid\"\n \t\t\tLANGUAGE \"sql\"\n \t\t\tAS $$\n \t\tSELECT OVERLAY(OVERLAY(md5(random()::TEXT || ':' || clock_timestamp()::TEXT) PLACING '4' FROM 13) PLACING\n to_hex(floor(random() * (11 - 8 + 1) + 8)::INT)::TEXT FROM 17)::UUID;\n \t$$;\n `)\n\t\t\t}\n\t\t}\n\t\tconst sql = sqlFactory({ randomUuidFn })\n\t\tbuilder.sql(sql)\n\n\t\tbuilder.sql(`DO LANGUAGE plpgsql\n$$\n\tBEGIN\n\t\tEXECUTE FORMAT('ALTER FUNCTION trigger_event_commit() SET SEARCH_PATH = %s', QUOTE_IDENT(CURRENT_SCHEMA()));\n\t\tEXECUTE FORMAT('ALTER FUNCTION trigger_event() SET SEARCH_PATH = %s', QUOTE_IDENT(CURRENT_SCHEMA()));\n\tEND\n$$`)\n\n\t}\n}\n"],"names":[],"mappings":";;AAGa,MAAA,oBAAoB,CAAC,eAA2D;AACrF,SAAA,OAAO,SAA2B,SAA6C;AACrF,UAAM,mBAAmB,MAAM,KAAK,WAAW,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,GAKpD;AACD,QAAI,eAAuB;AACvB,QAAA,iBAAiB,WAAW,GAAG;AACnB,qBAAA;AAAA,IAAA,OACT;AACN,YAAM,eAAe,MAAM,KAAK,WAAW,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,IAKhD;AACG,UAAA,aAAa,aAAa,GAAG;AAChC,gBAAQ,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAOH;AAAA,MACV;AAAA,IACD;AACA,UAAM,MAAM,WAAW,EAAE,aAAc,CAAA;AACvC,YAAQ,IAAI,GAAG;AAEf,YAAQ,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAMX;AAAA,EAAA;AAGH;;"}
1
+ {"version":3,"file":"snapshot-factory.cjs","sources":["../../../../../packages/engine-system-api/src/migrations/snapshot-factory.ts"],"sourcesContent":["import { MigrationArgs, MigrationBuilder } from '@contember/database-migrations'\nimport { SystemMigrationArgs } from './types'\n\nexport const snapshotMigration = (sqlFactory: (args: { randomUuidFn: string }) => string) => {\n\treturn async (builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>) => {\n\t\tconst hasGenRandomUuid = await args.connection.query(`\n SELECT 1\n FROM pg_proc\n JOIN pg_namespace ON pg_proc.pronamespace = pg_namespace.oid\n WHERE pg_namespace.nspname = 'pg_catalog' AND pg_proc.proname = 'gen_random_uuid'\n\t\t`)\n\t\tlet randomUuidFn: string = 'uuid_generate_v4'\n\t\tif ((hasGenRandomUuid.rowCount ?? 0) > 0) {\n\t\t\trandomUuidFn = 'gen_random_uuid'\n\t\t} else {\n\t\t\tconst hasUuidGenV4 = await args.connection.query(`\n SELECT 1\n FROM pg_proc\n JOIN pg_namespace ON pg_proc.pronamespace = pg_namespace.oid\n WHERE pg_namespace.nspname = 'pg_catalog' AND pg_proc.proname = 'uuid_generate_v4'\n\t\t\t`)\n\t\t\tif (hasUuidGenV4.rowCount === 0) {\n\t\t\t\tbuilder.sql(`\n\t\t\t\tCREATE FUNCTION \"uuid_generate_v4\"() RETURNS \"uuid\"\n \t\t\tLANGUAGE \"sql\"\n \t\t\tAS $$\n \t\tSELECT OVERLAY(OVERLAY(md5(random()::TEXT || ':' || clock_timestamp()::TEXT) PLACING '4' FROM 13) PLACING\n to_hex(floor(random() * (11 - 8 + 1) + 8)::INT)::TEXT FROM 17)::UUID;\n \t$$;\n `)\n\t\t\t}\n\t\t}\n\t\tconst sql = sqlFactory({ randomUuidFn })\n\t\tbuilder.sql(sql)\n\n\t\tbuilder.sql(`DO LANGUAGE plpgsql\n$$\n\tBEGIN\n\t\tEXECUTE FORMAT('ALTER FUNCTION trigger_event_commit() SET SEARCH_PATH = %s', QUOTE_IDENT(CURRENT_SCHEMA()));\n\t\tEXECUTE FORMAT('ALTER FUNCTION trigger_event() SET SEARCH_PATH = %s', QUOTE_IDENT(CURRENT_SCHEMA()));\n\tEND\n$$`)\n\n\t}\n}\n"],"names":[],"mappings":";;AAGa,MAAA,oBAAoB,CAAC,eAA2D;AACrF,SAAA,OAAO,SAA2B,SAA6C;AACrF,UAAM,mBAAmB,MAAM,KAAK,WAAW,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,GAKpD;AACD,QAAI,eAAuB;AACtB,SAAA,iBAAiB,YAAY,KAAK,GAAG;AAC1B,qBAAA;AAAA,IAAA,OACT;AACN,YAAM,eAAe,MAAM,KAAK,WAAW,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,IAKhD;AACG,UAAA,aAAa,aAAa,GAAG;AAChC,gBAAQ,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAOH;AAAA,MAAA;AAAA,IACV;AAED,UAAM,MAAM,WAAW,EAAE,cAAc;AACvC,YAAQ,IAAI,GAAG;AAEf,YAAQ,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAMX;AAAA,EAEF;AACD;;"}
@@ -7,7 +7,7 @@ const snapshotMigration = (sqlFactory) => {
7
7
  WHERE pg_namespace.nspname = 'pg_catalog' AND pg_proc.proname = 'gen_random_uuid'
8
8
  `);
9
9
  let randomUuidFn = "uuid_generate_v4";
10
- if (hasGenRandomUuid.rowCount > 0) {
10
+ if ((hasGenRandomUuid.rowCount ?? 0) > 0) {
11
11
  randomUuidFn = "gen_random_uuid";
12
12
  } else {
13
13
  const hasUuidGenV4 = await args.connection.query(`
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-factory.js","sources":["../../../../../packages/engine-system-api/src/migrations/snapshot-factory.ts"],"sourcesContent":["import { MigrationArgs, MigrationBuilder } from '@contember/database-migrations'\nimport { SystemMigrationArgs } from './types'\n\nexport const snapshotMigration = (sqlFactory: (args: { randomUuidFn: string }) => string) => {\n\treturn async (builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>) => {\n\t\tconst hasGenRandomUuid = await args.connection.query(`\n SELECT 1\n FROM pg_proc\n JOIN pg_namespace ON pg_proc.pronamespace = pg_namespace.oid\n WHERE pg_namespace.nspname = 'pg_catalog' AND pg_proc.proname = 'gen_random_uuid'\n\t\t`)\n\t\tlet randomUuidFn: string = 'uuid_generate_v4'\n\t\tif (hasGenRandomUuid.rowCount > 0) {\n\t\t\trandomUuidFn = 'gen_random_uuid'\n\t\t} else {\n\t\t\tconst hasUuidGenV4 = await args.connection.query(`\n SELECT 1\n FROM pg_proc\n JOIN pg_namespace ON pg_proc.pronamespace = pg_namespace.oid\n WHERE pg_namespace.nspname = 'pg_catalog' AND pg_proc.proname = 'uuid_generate_v4'\n\t\t\t`)\n\t\t\tif (hasUuidGenV4.rowCount === 0) {\n\t\t\t\tbuilder.sql(`\n\t\t\t\tCREATE FUNCTION \"uuid_generate_v4\"() RETURNS \"uuid\"\n \t\t\tLANGUAGE \"sql\"\n \t\t\tAS $$\n \t\tSELECT OVERLAY(OVERLAY(md5(random()::TEXT || ':' || clock_timestamp()::TEXT) PLACING '4' FROM 13) PLACING\n to_hex(floor(random() * (11 - 8 + 1) + 8)::INT)::TEXT FROM 17)::UUID;\n \t$$;\n `)\n\t\t\t}\n\t\t}\n\t\tconst sql = sqlFactory({ randomUuidFn })\n\t\tbuilder.sql(sql)\n\n\t\tbuilder.sql(`DO LANGUAGE plpgsql\n$$\n\tBEGIN\n\t\tEXECUTE FORMAT('ALTER FUNCTION trigger_event_commit() SET SEARCH_PATH = %s', QUOTE_IDENT(CURRENT_SCHEMA()));\n\t\tEXECUTE FORMAT('ALTER FUNCTION trigger_event() SET SEARCH_PATH = %s', QUOTE_IDENT(CURRENT_SCHEMA()));\n\tEND\n$$`)\n\n\t}\n}\n"],"names":[],"mappings":"AAGa,MAAA,oBAAoB,CAAC,eAA2D;AACrF,SAAA,OAAO,SAA2B,SAA6C;AACrF,UAAM,mBAAmB,MAAM,KAAK,WAAW,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,GAKpD;AACD,QAAI,eAAuB;AACvB,QAAA,iBAAiB,WAAW,GAAG;AACnB,qBAAA;AAAA,IAAA,OACT;AACN,YAAM,eAAe,MAAM,KAAK,WAAW,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,IAKhD;AACG,UAAA,aAAa,aAAa,GAAG;AAChC,gBAAQ,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAOH;AAAA,MACV;AAAA,IACD;AACA,UAAM,MAAM,WAAW,EAAE,aAAc,CAAA;AACvC,YAAQ,IAAI,GAAG;AAEf,YAAQ,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAMX;AAAA,EAAA;AAGH;"}
1
+ {"version":3,"file":"snapshot-factory.js","sources":["../../../../../packages/engine-system-api/src/migrations/snapshot-factory.ts"],"sourcesContent":["import { MigrationArgs, MigrationBuilder } from '@contember/database-migrations'\nimport { SystemMigrationArgs } from './types'\n\nexport const snapshotMigration = (sqlFactory: (args: { randomUuidFn: string }) => string) => {\n\treturn async (builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>) => {\n\t\tconst hasGenRandomUuid = await args.connection.query(`\n SELECT 1\n FROM pg_proc\n JOIN pg_namespace ON pg_proc.pronamespace = pg_namespace.oid\n WHERE pg_namespace.nspname = 'pg_catalog' AND pg_proc.proname = 'gen_random_uuid'\n\t\t`)\n\t\tlet randomUuidFn: string = 'uuid_generate_v4'\n\t\tif ((hasGenRandomUuid.rowCount ?? 0) > 0) {\n\t\t\trandomUuidFn = 'gen_random_uuid'\n\t\t} else {\n\t\t\tconst hasUuidGenV4 = await args.connection.query(`\n SELECT 1\n FROM pg_proc\n JOIN pg_namespace ON pg_proc.pronamespace = pg_namespace.oid\n WHERE pg_namespace.nspname = 'pg_catalog' AND pg_proc.proname = 'uuid_generate_v4'\n\t\t\t`)\n\t\t\tif (hasUuidGenV4.rowCount === 0) {\n\t\t\t\tbuilder.sql(`\n\t\t\t\tCREATE FUNCTION \"uuid_generate_v4\"() RETURNS \"uuid\"\n \t\t\tLANGUAGE \"sql\"\n \t\t\tAS $$\n \t\tSELECT OVERLAY(OVERLAY(md5(random()::TEXT || ':' || clock_timestamp()::TEXT) PLACING '4' FROM 13) PLACING\n to_hex(floor(random() * (11 - 8 + 1) + 8)::INT)::TEXT FROM 17)::UUID;\n \t$$;\n `)\n\t\t\t}\n\t\t}\n\t\tconst sql = sqlFactory({ randomUuidFn })\n\t\tbuilder.sql(sql)\n\n\t\tbuilder.sql(`DO LANGUAGE plpgsql\n$$\n\tBEGIN\n\t\tEXECUTE FORMAT('ALTER FUNCTION trigger_event_commit() SET SEARCH_PATH = %s', QUOTE_IDENT(CURRENT_SCHEMA()));\n\t\tEXECUTE FORMAT('ALTER FUNCTION trigger_event() SET SEARCH_PATH = %s', QUOTE_IDENT(CURRENT_SCHEMA()));\n\tEND\n$$`)\n\n\t}\n}\n"],"names":[],"mappings":"AAGa,MAAA,oBAAoB,CAAC,eAA2D;AACrF,SAAA,OAAO,SAA2B,SAA6C;AACrF,UAAM,mBAAmB,MAAM,KAAK,WAAW,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,GAKpD;AACD,QAAI,eAAuB;AACtB,SAAA,iBAAiB,YAAY,KAAK,GAAG;AAC1B,qBAAA;AAAA,IAAA,OACT;AACN,YAAM,eAAe,MAAM,KAAK,WAAW,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,IAKhD;AACG,UAAA,aAAa,aAAa,GAAG;AAChC,gBAAQ,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAOH;AAAA,MAAA;AAAA,IACV;AAED,UAAM,MAAM,WAAW,EAAE,cAAc;AACvC,YAAQ,IAAI,GAAG;AAEf,YAAQ,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAMX;AAAA,EAEF;AACD;"}