@supabase/pg-delta 1.0.0-alpha.10 → 1.0.0-alpha.12

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 (496) hide show
  1. package/dist/cli/commands/declarative-export.js +12 -17
  2. package/dist/cli/commands/plan.js +10 -13
  3. package/dist/cli/commands/sync.js +8 -12
  4. package/dist/cli/utils/integrations.d.ts +30 -6
  5. package/dist/cli/utils/integrations.js +98 -6
  6. package/dist/core/change-utils.d.ts +9 -0
  7. package/dist/core/change-utils.js +71 -0
  8. package/dist/core/change.types.d.ts +22 -0
  9. package/dist/core/change.types.js +37 -1
  10. package/dist/core/depend.js +25 -0
  11. package/dist/core/expand-replace-dependencies.js +23 -0
  12. package/dist/core/export/file-mapper.d.ts +2 -2
  13. package/dist/core/integrations/filter/dsl.d.ts +78 -74
  14. package/dist/core/integrations/filter/dsl.js +127 -79
  15. package/dist/core/integrations/filter/flatten.d.ts +51 -0
  16. package/dist/core/integrations/filter/flatten.js +116 -0
  17. package/dist/core/integrations/integration-dsl.d.ts +17 -1
  18. package/dist/core/integrations/merge.d.ts +20 -0
  19. package/dist/core/integrations/merge.js +60 -0
  20. package/dist/core/integrations/serialize/dsl.d.ts +8 -12
  21. package/dist/core/integrations/serialize/dsl.js +2 -2
  22. package/dist/core/integrations/serialize/serialize.types.d.ts +31 -0
  23. package/dist/core/integrations/supabase.js +42 -8
  24. package/dist/core/objects/aggregate/changes/aggregate.alter.d.ts +2 -1
  25. package/dist/core/objects/aggregate/changes/aggregate.alter.js +1 -1
  26. package/dist/core/objects/aggregate/changes/aggregate.comment.d.ts +3 -2
  27. package/dist/core/objects/aggregate/changes/aggregate.comment.js +2 -2
  28. package/dist/core/objects/aggregate/changes/aggregate.create.d.ts +2 -1
  29. package/dist/core/objects/aggregate/changes/aggregate.create.js +1 -1
  30. package/dist/core/objects/aggregate/changes/aggregate.drop.d.ts +2 -1
  31. package/dist/core/objects/aggregate/changes/aggregate.drop.js +1 -1
  32. package/dist/core/objects/aggregate/changes/aggregate.privilege.d.ts +4 -3
  33. package/dist/core/objects/aggregate/changes/aggregate.privilege.js +3 -3
  34. package/dist/core/objects/aggregate/changes/aggregate.types.d.ts +1 -0
  35. package/dist/core/objects/base.change.d.ts +12 -1
  36. package/dist/core/objects/base.change.js +10 -0
  37. package/dist/core/objects/base.model.d.ts +4 -1
  38. package/dist/core/objects/base.model.js +5 -2
  39. package/dist/core/objects/collation/changes/collation.alter.d.ts +3 -2
  40. package/dist/core/objects/collation/changes/collation.alter.js +2 -2
  41. package/dist/core/objects/collation/changes/collation.comment.d.ts +3 -2
  42. package/dist/core/objects/collation/changes/collation.comment.js +2 -2
  43. package/dist/core/objects/collation/changes/collation.create.d.ts +2 -1
  44. package/dist/core/objects/collation/changes/collation.create.js +1 -1
  45. package/dist/core/objects/collation/changes/collation.drop.d.ts +2 -1
  46. package/dist/core/objects/collation/changes/collation.drop.js +1 -1
  47. package/dist/core/objects/collation/changes/collation.types.d.ts +1 -0
  48. package/dist/core/objects/domain/changes/domain.alter.d.ts +9 -8
  49. package/dist/core/objects/domain/changes/domain.alter.js +8 -8
  50. package/dist/core/objects/domain/changes/domain.comment.d.ts +3 -2
  51. package/dist/core/objects/domain/changes/domain.comment.js +2 -2
  52. package/dist/core/objects/domain/changes/domain.create.d.ts +3 -2
  53. package/dist/core/objects/domain/changes/domain.create.js +8 -2
  54. package/dist/core/objects/domain/changes/domain.drop.d.ts +2 -1
  55. package/dist/core/objects/domain/changes/domain.drop.js +1 -1
  56. package/dist/core/objects/domain/changes/domain.privilege.d.ts +4 -3
  57. package/dist/core/objects/domain/changes/domain.privilege.js +3 -3
  58. package/dist/core/objects/domain/changes/domain.types.d.ts +1 -0
  59. package/dist/core/objects/event-trigger/changes/event-trigger.alter.d.ts +3 -2
  60. package/dist/core/objects/event-trigger/changes/event-trigger.alter.js +2 -2
  61. package/dist/core/objects/event-trigger/changes/event-trigger.comment.d.ts +3 -2
  62. package/dist/core/objects/event-trigger/changes/event-trigger.comment.js +2 -2
  63. package/dist/core/objects/event-trigger/changes/event-trigger.create.d.ts +2 -1
  64. package/dist/core/objects/event-trigger/changes/event-trigger.create.js +1 -1
  65. package/dist/core/objects/event-trigger/changes/event-trigger.drop.d.ts +2 -1
  66. package/dist/core/objects/event-trigger/changes/event-trigger.drop.js +1 -1
  67. package/dist/core/objects/event-trigger/changes/event-trigger.types.d.ts +1 -0
  68. package/dist/core/objects/extension/changes/extension.alter.d.ts +3 -2
  69. package/dist/core/objects/extension/changes/extension.alter.js +2 -2
  70. package/dist/core/objects/extension/changes/extension.comment.d.ts +3 -2
  71. package/dist/core/objects/extension/changes/extension.comment.js +2 -2
  72. package/dist/core/objects/extension/changes/extension.create.d.ts +2 -1
  73. package/dist/core/objects/extension/changes/extension.create.js +4 -2
  74. package/dist/core/objects/extension/changes/extension.drop.d.ts +2 -1
  75. package/dist/core/objects/extension/changes/extension.drop.js +1 -1
  76. package/dist/core/objects/extension/changes/extension.types.d.ts +1 -0
  77. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.alter.d.ts +3 -2
  78. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.alter.js +2 -2
  79. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.comment.d.ts +3 -2
  80. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.comment.js +2 -2
  81. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.create.d.ts +2 -1
  82. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.create.js +1 -1
  83. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.drop.d.ts +2 -1
  84. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.drop.js +1 -1
  85. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.privilege.d.ts +4 -3
  86. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.privilege.js +3 -3
  87. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.types.d.ts +1 -0
  88. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper.types.d.ts +1 -0
  89. package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.alter.d.ts +10 -9
  90. package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.alter.js +9 -9
  91. package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.comment.d.ts +3 -2
  92. package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.comment.js +2 -2
  93. package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.create.d.ts +2 -1
  94. package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.create.js +1 -1
  95. package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.drop.d.ts +2 -1
  96. package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.drop.js +1 -1
  97. package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.privilege.d.ts +4 -3
  98. package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.privilege.js +3 -3
  99. package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.types.d.ts +1 -0
  100. package/dist/core/objects/foreign-data-wrapper/server/changes/server.alter.d.ts +4 -3
  101. package/dist/core/objects/foreign-data-wrapper/server/changes/server.alter.js +3 -3
  102. package/dist/core/objects/foreign-data-wrapper/server/changes/server.comment.d.ts +3 -2
  103. package/dist/core/objects/foreign-data-wrapper/server/changes/server.comment.js +2 -2
  104. package/dist/core/objects/foreign-data-wrapper/server/changes/server.create.d.ts +2 -1
  105. package/dist/core/objects/foreign-data-wrapper/server/changes/server.create.js +1 -1
  106. package/dist/core/objects/foreign-data-wrapper/server/changes/server.drop.d.ts +2 -1
  107. package/dist/core/objects/foreign-data-wrapper/server/changes/server.drop.js +1 -1
  108. package/dist/core/objects/foreign-data-wrapper/server/changes/server.privilege.d.ts +4 -3
  109. package/dist/core/objects/foreign-data-wrapper/server/changes/server.privilege.js +3 -3
  110. package/dist/core/objects/foreign-data-wrapper/server/changes/server.types.d.ts +1 -0
  111. package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.alter.d.ts +2 -1
  112. package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.alter.js +1 -1
  113. package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.create.d.ts +2 -1
  114. package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.create.js +1 -1
  115. package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.drop.d.ts +2 -1
  116. package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.drop.js +1 -1
  117. package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.types.d.ts +1 -0
  118. package/dist/core/objects/index/changes/index.alter.d.ts +4 -3
  119. package/dist/core/objects/index/changes/index.alter.js +3 -3
  120. package/dist/core/objects/index/changes/index.comment.d.ts +3 -2
  121. package/dist/core/objects/index/changes/index.comment.js +2 -2
  122. package/dist/core/objects/index/changes/index.create.d.ts +2 -1
  123. package/dist/core/objects/index/changes/index.create.js +1 -1
  124. package/dist/core/objects/index/changes/index.drop.d.ts +2 -1
  125. package/dist/core/objects/index/changes/index.drop.js +1 -1
  126. package/dist/core/objects/index/changes/index.types.d.ts +1 -0
  127. package/dist/core/objects/language/changes/language.alter.d.ts +2 -1
  128. package/dist/core/objects/language/changes/language.alter.js +1 -1
  129. package/dist/core/objects/language/changes/language.comment.d.ts +3 -2
  130. package/dist/core/objects/language/changes/language.comment.js +2 -2
  131. package/dist/core/objects/language/changes/language.create.d.ts +2 -1
  132. package/dist/core/objects/language/changes/language.create.js +1 -1
  133. package/dist/core/objects/language/changes/language.drop.d.ts +2 -1
  134. package/dist/core/objects/language/changes/language.drop.js +1 -1
  135. package/dist/core/objects/language/changes/language.privilege.d.ts +4 -3
  136. package/dist/core/objects/language/changes/language.privilege.js +3 -3
  137. package/dist/core/objects/language/changes/language.types.d.ts +1 -0
  138. package/dist/core/objects/materialized-view/changes/materialized-view.alter.d.ts +3 -2
  139. package/dist/core/objects/materialized-view/changes/materialized-view.alter.js +2 -2
  140. package/dist/core/objects/materialized-view/changes/materialized-view.comment.d.ts +5 -4
  141. package/dist/core/objects/materialized-view/changes/materialized-view.comment.js +4 -4
  142. package/dist/core/objects/materialized-view/changes/materialized-view.create.d.ts +2 -1
  143. package/dist/core/objects/materialized-view/changes/materialized-view.create.js +1 -1
  144. package/dist/core/objects/materialized-view/changes/materialized-view.drop.d.ts +2 -1
  145. package/dist/core/objects/materialized-view/changes/materialized-view.drop.js +1 -1
  146. package/dist/core/objects/materialized-view/changes/materialized-view.privilege.d.ts +4 -3
  147. package/dist/core/objects/materialized-view/changes/materialized-view.privilege.js +3 -3
  148. package/dist/core/objects/materialized-view/changes/materialized-view.types.d.ts +1 -0
  149. package/dist/core/objects/procedure/changes/procedure.alter.d.ts +8 -7
  150. package/dist/core/objects/procedure/changes/procedure.alter.js +7 -7
  151. package/dist/core/objects/procedure/changes/procedure.comment.d.ts +3 -2
  152. package/dist/core/objects/procedure/changes/procedure.comment.js +2 -2
  153. package/dist/core/objects/procedure/changes/procedure.create.d.ts +2 -1
  154. package/dist/core/objects/procedure/changes/procedure.create.js +1 -1
  155. package/dist/core/objects/procedure/changes/procedure.drop.d.ts +2 -1
  156. package/dist/core/objects/procedure/changes/procedure.drop.js +1 -1
  157. package/dist/core/objects/procedure/changes/procedure.privilege.d.ts +4 -3
  158. package/dist/core/objects/procedure/changes/procedure.privilege.js +3 -3
  159. package/dist/core/objects/procedure/changes/procedure.types.d.ts +1 -0
  160. package/dist/core/objects/publication/changes/publication.alter.d.ts +9 -7
  161. package/dist/core/objects/publication/changes/publication.alter.js +12 -7
  162. package/dist/core/objects/publication/changes/publication.comment.d.ts +3 -2
  163. package/dist/core/objects/publication/changes/publication.comment.js +2 -2
  164. package/dist/core/objects/publication/changes/publication.create.d.ts +2 -1
  165. package/dist/core/objects/publication/changes/publication.create.js +1 -1
  166. package/dist/core/objects/publication/changes/publication.drop.d.ts +2 -1
  167. package/dist/core/objects/publication/changes/publication.drop.js +1 -1
  168. package/dist/core/objects/publication/changes/publication.types.d.ts +1 -0
  169. package/dist/core/objects/rls-policy/changes/rls-policy.alter.d.ts +4 -3
  170. package/dist/core/objects/rls-policy/changes/rls-policy.alter.js +3 -3
  171. package/dist/core/objects/rls-policy/changes/rls-policy.comment.d.ts +3 -2
  172. package/dist/core/objects/rls-policy/changes/rls-policy.comment.js +2 -2
  173. package/dist/core/objects/rls-policy/changes/rls-policy.create.d.ts +2 -1
  174. package/dist/core/objects/rls-policy/changes/rls-policy.create.js +1 -1
  175. package/dist/core/objects/rls-policy/changes/rls-policy.drop.d.ts +2 -1
  176. package/dist/core/objects/rls-policy/changes/rls-policy.drop.js +1 -1
  177. package/dist/core/objects/rls-policy/changes/rls-policy.types.d.ts +1 -0
  178. package/dist/core/objects/role/changes/role.alter.d.ts +3 -2
  179. package/dist/core/objects/role/changes/role.alter.js +2 -2
  180. package/dist/core/objects/role/changes/role.comment.d.ts +3 -2
  181. package/dist/core/objects/role/changes/role.comment.js +2 -2
  182. package/dist/core/objects/role/changes/role.create.d.ts +2 -1
  183. package/dist/core/objects/role/changes/role.create.js +1 -1
  184. package/dist/core/objects/role/changes/role.drop.d.ts +2 -1
  185. package/dist/core/objects/role/changes/role.drop.js +1 -1
  186. package/dist/core/objects/role/changes/role.privilege.d.ts +6 -5
  187. package/dist/core/objects/role/changes/role.privilege.js +5 -5
  188. package/dist/core/objects/role/changes/role.types.d.ts +1 -0
  189. package/dist/core/objects/rule/changes/rule.alter.d.ts +3 -2
  190. package/dist/core/objects/rule/changes/rule.alter.js +2 -2
  191. package/dist/core/objects/rule/changes/rule.comment.d.ts +3 -2
  192. package/dist/core/objects/rule/changes/rule.comment.js +2 -2
  193. package/dist/core/objects/rule/changes/rule.create.d.ts +2 -1
  194. package/dist/core/objects/rule/changes/rule.create.js +1 -1
  195. package/dist/core/objects/rule/changes/rule.drop.d.ts +2 -1
  196. package/dist/core/objects/rule/changes/rule.drop.js +1 -1
  197. package/dist/core/objects/rule/changes/rule.types.d.ts +1 -0
  198. package/dist/core/objects/schema/changes/schema.alter.d.ts +2 -1
  199. package/dist/core/objects/schema/changes/schema.alter.js +1 -1
  200. package/dist/core/objects/schema/changes/schema.comment.d.ts +3 -2
  201. package/dist/core/objects/schema/changes/schema.comment.js +2 -2
  202. package/dist/core/objects/schema/changes/schema.create.d.ts +3 -5
  203. package/dist/core/objects/schema/changes/schema.drop.d.ts +2 -1
  204. package/dist/core/objects/schema/changes/schema.drop.js +1 -1
  205. package/dist/core/objects/schema/changes/schema.privilege.d.ts +4 -3
  206. package/dist/core/objects/schema/changes/schema.privilege.js +3 -3
  207. package/dist/core/objects/schema/changes/schema.types.d.ts +1 -0
  208. package/dist/core/objects/sequence/changes/sequence.alter.d.ts +3 -2
  209. package/dist/core/objects/sequence/changes/sequence.alter.js +2 -2
  210. package/dist/core/objects/sequence/changes/sequence.comment.d.ts +3 -2
  211. package/dist/core/objects/sequence/changes/sequence.comment.js +2 -2
  212. package/dist/core/objects/sequence/changes/sequence.create.d.ts +2 -1
  213. package/dist/core/objects/sequence/changes/sequence.create.js +1 -1
  214. package/dist/core/objects/sequence/changes/sequence.drop.d.ts +2 -1
  215. package/dist/core/objects/sequence/changes/sequence.drop.js +11 -3
  216. package/dist/core/objects/sequence/changes/sequence.privilege.d.ts +4 -3
  217. package/dist/core/objects/sequence/changes/sequence.privilege.js +3 -3
  218. package/dist/core/objects/sequence/changes/sequence.types.d.ts +1 -0
  219. package/dist/core/objects/sequence/sequence.diff.d.ts +4 -1
  220. package/dist/core/objects/sequence/sequence.diff.js +12 -0
  221. package/dist/core/objects/subscription/changes/subscription.alter.d.ts +7 -6
  222. package/dist/core/objects/subscription/changes/subscription.alter.js +6 -6
  223. package/dist/core/objects/subscription/changes/subscription.comment.d.ts +3 -2
  224. package/dist/core/objects/subscription/changes/subscription.comment.js +2 -2
  225. package/dist/core/objects/subscription/changes/subscription.create.d.ts +2 -1
  226. package/dist/core/objects/subscription/changes/subscription.create.js +1 -1
  227. package/dist/core/objects/subscription/changes/subscription.drop.d.ts +2 -1
  228. package/dist/core/objects/subscription/changes/subscription.drop.js +1 -1
  229. package/dist/core/objects/subscription/changes/subscription.types.d.ts +1 -0
  230. package/dist/core/objects/table/changes/table.alter.d.ts +65 -22
  231. package/dist/core/objects/table/changes/table.alter.js +107 -22
  232. package/dist/core/objects/table/changes/table.comment.d.ts +7 -6
  233. package/dist/core/objects/table/changes/table.comment.js +6 -6
  234. package/dist/core/objects/table/changes/table.create.d.ts +2 -1
  235. package/dist/core/objects/table/changes/table.create.js +1 -1
  236. package/dist/core/objects/table/changes/table.drop.d.ts +4 -3
  237. package/dist/core/objects/table/changes/table.drop.js +7 -1
  238. package/dist/core/objects/table/changes/table.privilege.d.ts +4 -3
  239. package/dist/core/objects/table/changes/table.privilege.js +3 -3
  240. package/dist/core/objects/table/changes/table.types.d.ts +1 -0
  241. package/dist/core/objects/table/table.diff.js +46 -1
  242. package/dist/core/objects/trigger/changes/trigger.alter.d.ts +2 -1
  243. package/dist/core/objects/trigger/changes/trigger.alter.js +1 -1
  244. package/dist/core/objects/trigger/changes/trigger.comment.d.ts +3 -2
  245. package/dist/core/objects/trigger/changes/trigger.comment.js +2 -2
  246. package/dist/core/objects/trigger/changes/trigger.create.d.ts +2 -1
  247. package/dist/core/objects/trigger/changes/trigger.create.js +1 -1
  248. package/dist/core/objects/trigger/changes/trigger.drop.d.ts +2 -1
  249. package/dist/core/objects/trigger/changes/trigger.drop.js +1 -1
  250. package/dist/core/objects/trigger/changes/trigger.types.d.ts +1 -0
  251. package/dist/core/objects/type/composite-type/changes/composite-type.alter.d.ts +5 -4
  252. package/dist/core/objects/type/composite-type/changes/composite-type.alter.js +4 -4
  253. package/dist/core/objects/type/composite-type/changes/composite-type.comment.d.ts +5 -4
  254. package/dist/core/objects/type/composite-type/changes/composite-type.comment.js +4 -4
  255. package/dist/core/objects/type/composite-type/changes/composite-type.create.d.ts +2 -1
  256. package/dist/core/objects/type/composite-type/changes/composite-type.create.js +1 -1
  257. package/dist/core/objects/type/composite-type/changes/composite-type.drop.d.ts +2 -1
  258. package/dist/core/objects/type/composite-type/changes/composite-type.drop.js +1 -1
  259. package/dist/core/objects/type/composite-type/changes/composite-type.privilege.d.ts +4 -3
  260. package/dist/core/objects/type/composite-type/changes/composite-type.privilege.js +3 -3
  261. package/dist/core/objects/type/composite-type/changes/composite-type.types.d.ts +1 -0
  262. package/dist/core/objects/type/enum/changes/enum.alter.d.ts +3 -2
  263. package/dist/core/objects/type/enum/changes/enum.alter.js +2 -2
  264. package/dist/core/objects/type/enum/changes/enum.comment.d.ts +3 -2
  265. package/dist/core/objects/type/enum/changes/enum.comment.js +2 -2
  266. package/dist/core/objects/type/enum/changes/enum.create.d.ts +2 -1
  267. package/dist/core/objects/type/enum/changes/enum.create.js +1 -1
  268. package/dist/core/objects/type/enum/changes/enum.drop.d.ts +2 -1
  269. package/dist/core/objects/type/enum/changes/enum.drop.js +1 -1
  270. package/dist/core/objects/type/enum/changes/enum.privilege.d.ts +4 -3
  271. package/dist/core/objects/type/enum/changes/enum.privilege.js +3 -3
  272. package/dist/core/objects/type/enum/changes/enum.types.d.ts +1 -0
  273. package/dist/core/objects/type/range/changes/range.alter.d.ts +2 -1
  274. package/dist/core/objects/type/range/changes/range.alter.js +1 -1
  275. package/dist/core/objects/type/range/changes/range.comment.d.ts +3 -2
  276. package/dist/core/objects/type/range/changes/range.comment.js +2 -2
  277. package/dist/core/objects/type/range/changes/range.create.d.ts +2 -1
  278. package/dist/core/objects/type/range/changes/range.create.js +1 -1
  279. package/dist/core/objects/type/range/changes/range.drop.d.ts +2 -1
  280. package/dist/core/objects/type/range/changes/range.drop.js +1 -1
  281. package/dist/core/objects/type/range/changes/range.privilege.d.ts +4 -3
  282. package/dist/core/objects/type/range/changes/range.privilege.js +3 -3
  283. package/dist/core/objects/type/range/changes/range.types.d.ts +1 -0
  284. package/dist/core/objects/type/type.types.d.ts +1 -0
  285. package/dist/core/objects/view/changes/view.alter.d.ts +4 -3
  286. package/dist/core/objects/view/changes/view.alter.js +3 -3
  287. package/dist/core/objects/view/changes/view.comment.d.ts +3 -2
  288. package/dist/core/objects/view/changes/view.comment.js +2 -2
  289. package/dist/core/objects/view/changes/view.create.d.ts +2 -1
  290. package/dist/core/objects/view/changes/view.create.js +1 -1
  291. package/dist/core/objects/view/changes/view.drop.d.ts +2 -1
  292. package/dist/core/objects/view/changes/view.drop.js +1 -1
  293. package/dist/core/objects/view/changes/view.privilege.d.ts +4 -3
  294. package/dist/core/objects/view/changes/view.privilege.js +3 -3
  295. package/dist/core/objects/view/changes/view.types.d.ts +1 -0
  296. package/dist/core/objects/view/view.diff.js +24 -13
  297. package/dist/core/postgres-config.d.ts +2 -2
  298. package/dist/core/sort/custom-constraints.js +65 -1
  299. package/dist/core/sort/logical-sort.js +3 -24
  300. package/package.json +5 -1
  301. package/src/cli/commands/declarative-export.ts +19 -27
  302. package/src/cli/commands/plan.ts +14 -20
  303. package/src/cli/commands/sync.ts +8 -15
  304. package/src/cli/utils/integrations.test.ts +210 -3
  305. package/src/cli/utils/integrations.ts +134 -6
  306. package/src/core/catalog.snapshot.test.ts +11 -2
  307. package/src/core/change-utils.test.ts +61 -0
  308. package/src/core/change-utils.ts +73 -0
  309. package/src/core/change.types.ts +50 -0
  310. package/src/core/depend.ts +25 -0
  311. package/src/core/expand-replace-dependencies.test.ts +126 -1
  312. package/src/core/expand-replace-dependencies.ts +50 -0
  313. package/src/core/export/file-mapper.ts +7 -2
  314. package/src/core/integrations/filter/dsl.test.ts +299 -60
  315. package/src/core/integrations/filter/dsl.ts +208 -169
  316. package/src/core/integrations/filter/flatten.test.ts +282 -0
  317. package/src/core/integrations/filter/flatten.ts +150 -0
  318. package/src/core/integrations/integration-dsl.ts +17 -1
  319. package/src/core/integrations/merge.test.ts +128 -0
  320. package/src/core/integrations/merge.ts +72 -0
  321. package/src/core/integrations/serialize/dsl.test.ts +26 -7
  322. package/src/core/integrations/serialize/dsl.ts +8 -14
  323. package/src/core/integrations/serialize/serialize.types.ts +37 -0
  324. package/src/core/integrations/supabase.ts +42 -8
  325. package/src/core/objects/aggregate/changes/aggregate.alter.ts +2 -1
  326. package/src/core/objects/aggregate/changes/aggregate.comment.ts +3 -2
  327. package/src/core/objects/aggregate/changes/aggregate.create.ts +2 -1
  328. package/src/core/objects/aggregate/changes/aggregate.drop.ts +2 -1
  329. package/src/core/objects/aggregate/changes/aggregate.privilege.ts +4 -3
  330. package/src/core/objects/aggregate/changes/aggregate.types.ts +1 -0
  331. package/src/core/objects/base.change.ts +13 -1
  332. package/src/core/objects/base.model.test.ts +43 -0
  333. package/src/core/objects/base.model.ts +5 -2
  334. package/src/core/objects/collation/changes/collation.alter.ts +3 -2
  335. package/src/core/objects/collation/changes/collation.comment.ts +3 -2
  336. package/src/core/objects/collation/changes/collation.create.ts +2 -1
  337. package/src/core/objects/collation/changes/collation.drop.ts +2 -1
  338. package/src/core/objects/collation/changes/collation.types.ts +1 -0
  339. package/src/core/objects/domain/changes/domain.alter.ts +9 -8
  340. package/src/core/objects/domain/changes/domain.comment.ts +3 -2
  341. package/src/core/objects/domain/changes/domain.create.ts +19 -2
  342. package/src/core/objects/domain/changes/domain.drop.ts +2 -1
  343. package/src/core/objects/domain/changes/domain.privilege.ts +4 -3
  344. package/src/core/objects/domain/changes/domain.types.ts +1 -0
  345. package/src/core/objects/event-trigger/changes/event-trigger.alter.ts +3 -2
  346. package/src/core/objects/event-trigger/changes/event-trigger.comment.ts +3 -2
  347. package/src/core/objects/event-trigger/changes/event-trigger.create.ts +2 -1
  348. package/src/core/objects/event-trigger/changes/event-trigger.drop.ts +2 -1
  349. package/src/core/objects/event-trigger/changes/event-trigger.types.ts +1 -0
  350. package/src/core/objects/extension/changes/extension.alter.ts +3 -2
  351. package/src/core/objects/extension/changes/extension.comment.ts +3 -2
  352. package/src/core/objects/extension/changes/extension.create.test.ts +22 -0
  353. package/src/core/objects/extension/changes/extension.create.ts +5 -2
  354. package/src/core/objects/extension/changes/extension.drop.ts +2 -1
  355. package/src/core/objects/extension/changes/extension.types.ts +1 -0
  356. package/src/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.alter.ts +3 -2
  357. package/src/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.comment.ts +3 -2
  358. package/src/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.create.ts +2 -1
  359. package/src/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.drop.ts +2 -1
  360. package/src/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.privilege.ts +4 -3
  361. package/src/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.types.ts +1 -0
  362. package/src/core/objects/foreign-data-wrapper/foreign-data-wrapper.types.ts +1 -0
  363. package/src/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.alter.ts +10 -9
  364. package/src/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.comment.ts +3 -2
  365. package/src/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.create.ts +2 -1
  366. package/src/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.drop.ts +2 -1
  367. package/src/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.privilege.ts +4 -3
  368. package/src/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.types.ts +1 -0
  369. package/src/core/objects/foreign-data-wrapper/server/changes/server.alter.ts +4 -3
  370. package/src/core/objects/foreign-data-wrapper/server/changes/server.comment.ts +3 -2
  371. package/src/core/objects/foreign-data-wrapper/server/changes/server.create.ts +2 -1
  372. package/src/core/objects/foreign-data-wrapper/server/changes/server.drop.ts +2 -1
  373. package/src/core/objects/foreign-data-wrapper/server/changes/server.privilege.ts +4 -3
  374. package/src/core/objects/foreign-data-wrapper/server/changes/server.types.ts +1 -0
  375. package/src/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.alter.ts +2 -1
  376. package/src/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.create.ts +2 -1
  377. package/src/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.drop.ts +2 -1
  378. package/src/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.types.ts +1 -0
  379. package/src/core/objects/index/changes/index.alter.ts +4 -3
  380. package/src/core/objects/index/changes/index.comment.ts +3 -2
  381. package/src/core/objects/index/changes/index.create.ts +2 -1
  382. package/src/core/objects/index/changes/index.drop.ts +2 -1
  383. package/src/core/objects/index/changes/index.types.ts +1 -0
  384. package/src/core/objects/language/changes/language.alter.ts +2 -1
  385. package/src/core/objects/language/changes/language.comment.ts +3 -2
  386. package/src/core/objects/language/changes/language.create.ts +2 -1
  387. package/src/core/objects/language/changes/language.drop.ts +2 -1
  388. package/src/core/objects/language/changes/language.privilege.ts +4 -3
  389. package/src/core/objects/language/changes/language.types.ts +1 -0
  390. package/src/core/objects/materialized-view/changes/materialized-view.alter.ts +3 -2
  391. package/src/core/objects/materialized-view/changes/materialized-view.comment.ts +5 -4
  392. package/src/core/objects/materialized-view/changes/materialized-view.create.ts +2 -1
  393. package/src/core/objects/materialized-view/changes/materialized-view.drop.ts +2 -1
  394. package/src/core/objects/materialized-view/changes/materialized-view.privilege.ts +4 -3
  395. package/src/core/objects/materialized-view/changes/materialized-view.types.ts +1 -0
  396. package/src/core/objects/procedure/changes/procedure.alter.ts +8 -7
  397. package/src/core/objects/procedure/changes/procedure.comment.ts +3 -2
  398. package/src/core/objects/procedure/changes/procedure.create.ts +2 -1
  399. package/src/core/objects/procedure/changes/procedure.drop.ts +2 -1
  400. package/src/core/objects/procedure/changes/procedure.privilege.ts +4 -3
  401. package/src/core/objects/procedure/changes/procedure.types.ts +1 -0
  402. package/src/core/objects/publication/changes/publication.alter.test.ts +4 -0
  403. package/src/core/objects/publication/changes/publication.alter.ts +14 -7
  404. package/src/core/objects/publication/changes/publication.comment.ts +3 -2
  405. package/src/core/objects/publication/changes/publication.create.ts +2 -1
  406. package/src/core/objects/publication/changes/publication.drop.ts +2 -1
  407. package/src/core/objects/publication/changes/publication.types.ts +1 -0
  408. package/src/core/objects/rls-policy/changes/rls-policy.alter.ts +4 -3
  409. package/src/core/objects/rls-policy/changes/rls-policy.comment.ts +3 -2
  410. package/src/core/objects/rls-policy/changes/rls-policy.create.ts +2 -1
  411. package/src/core/objects/rls-policy/changes/rls-policy.drop.ts +2 -1
  412. package/src/core/objects/rls-policy/changes/rls-policy.types.ts +1 -0
  413. package/src/core/objects/role/changes/role.alter.ts +3 -2
  414. package/src/core/objects/role/changes/role.comment.ts +3 -2
  415. package/src/core/objects/role/changes/role.create.ts +2 -1
  416. package/src/core/objects/role/changes/role.drop.ts +2 -1
  417. package/src/core/objects/role/changes/role.privilege.ts +6 -5
  418. package/src/core/objects/role/changes/role.types.ts +1 -0
  419. package/src/core/objects/rule/changes/rule.alter.ts +3 -2
  420. package/src/core/objects/rule/changes/rule.comment.ts +3 -2
  421. package/src/core/objects/rule/changes/rule.create.ts +2 -1
  422. package/src/core/objects/rule/changes/rule.drop.ts +2 -1
  423. package/src/core/objects/rule/changes/rule.types.ts +1 -0
  424. package/src/core/objects/schema/changes/schema.alter.ts +2 -1
  425. package/src/core/objects/schema/changes/schema.comment.ts +3 -2
  426. package/src/core/objects/schema/changes/schema.create.ts +3 -3
  427. package/src/core/objects/schema/changes/schema.drop.ts +2 -1
  428. package/src/core/objects/schema/changes/schema.privilege.ts +4 -3
  429. package/src/core/objects/schema/changes/schema.types.ts +1 -0
  430. package/src/core/objects/sequence/changes/sequence.alter.ts +3 -2
  431. package/src/core/objects/sequence/changes/sequence.comment.ts +3 -2
  432. package/src/core/objects/sequence/changes/sequence.create.ts +2 -1
  433. package/src/core/objects/sequence/changes/sequence.drop.ts +16 -3
  434. package/src/core/objects/sequence/changes/sequence.privilege.ts +4 -3
  435. package/src/core/objects/sequence/changes/sequence.types.ts +1 -0
  436. package/src/core/objects/sequence/sequence.diff.test.ts +73 -1
  437. package/src/core/objects/sequence/sequence.diff.ts +24 -2
  438. package/src/core/objects/subscription/changes/subscription.alter.ts +7 -6
  439. package/src/core/objects/subscription/changes/subscription.comment.ts +3 -2
  440. package/src/core/objects/subscription/changes/subscription.create.ts +2 -1
  441. package/src/core/objects/subscription/changes/subscription.drop.ts +2 -1
  442. package/src/core/objects/subscription/changes/subscription.types.ts +1 -0
  443. package/src/core/objects/table/changes/table.alter.test.ts +38 -0
  444. package/src/core/objects/table/changes/table.alter.ts +123 -22
  445. package/src/core/objects/table/changes/table.comment.ts +7 -6
  446. package/src/core/objects/table/changes/table.create.ts +2 -1
  447. package/src/core/objects/table/changes/table.drop.ts +20 -1
  448. package/src/core/objects/table/changes/table.privilege.ts +4 -3
  449. package/src/core/objects/table/changes/table.types.ts +1 -0
  450. package/src/core/objects/table/table.diff.test.ts +121 -0
  451. package/src/core/objects/table/table.diff.ts +64 -1
  452. package/src/core/objects/trigger/changes/trigger.alter.ts +2 -1
  453. package/src/core/objects/trigger/changes/trigger.comment.ts +3 -2
  454. package/src/core/objects/trigger/changes/trigger.create.ts +2 -1
  455. package/src/core/objects/trigger/changes/trigger.drop.ts +2 -1
  456. package/src/core/objects/trigger/changes/trigger.types.ts +1 -0
  457. package/src/core/objects/type/composite-type/changes/composite-type.alter.ts +5 -4
  458. package/src/core/objects/type/composite-type/changes/composite-type.comment.ts +5 -4
  459. package/src/core/objects/type/composite-type/changes/composite-type.create.ts +2 -1
  460. package/src/core/objects/type/composite-type/changes/composite-type.drop.ts +2 -1
  461. package/src/core/objects/type/composite-type/changes/composite-type.privilege.ts +4 -3
  462. package/src/core/objects/type/composite-type/changes/composite-type.types.ts +1 -0
  463. package/src/core/objects/type/enum/changes/enum.alter.ts +3 -2
  464. package/src/core/objects/type/enum/changes/enum.comment.ts +3 -2
  465. package/src/core/objects/type/enum/changes/enum.create.ts +2 -1
  466. package/src/core/objects/type/enum/changes/enum.drop.ts +2 -1
  467. package/src/core/objects/type/enum/changes/enum.privilege.ts +4 -3
  468. package/src/core/objects/type/enum/changes/enum.types.ts +1 -0
  469. package/src/core/objects/type/range/changes/range.alter.ts +2 -1
  470. package/src/core/objects/type/range/changes/range.comment.ts +3 -2
  471. package/src/core/objects/type/range/changes/range.create.ts +2 -1
  472. package/src/core/objects/type/range/changes/range.drop.ts +2 -1
  473. package/src/core/objects/type/range/changes/range.privilege.ts +4 -3
  474. package/src/core/objects/type/range/changes/range.types.ts +1 -0
  475. package/src/core/objects/type/type.types.ts +1 -0
  476. package/src/core/objects/view/changes/view.alter.ts +4 -3
  477. package/src/core/objects/view/changes/view.comment.ts +3 -2
  478. package/src/core/objects/view/changes/view.create.ts +2 -1
  479. package/src/core/objects/view/changes/view.drop.ts +2 -1
  480. package/src/core/objects/view/changes/view.privilege.ts +4 -3
  481. package/src/core/objects/view/changes/view.types.ts +1 -0
  482. package/src/core/objects/view/view.diff.test.ts +96 -0
  483. package/src/core/objects/view/view.diff.ts +30 -15
  484. package/src/core/plan/sql-format/format-off.test.ts +1 -1
  485. package/src/core/plan/sql-format/format-pretty-lower-leading.test.ts +1 -1
  486. package/src/core/plan/sql-format/format-pretty-narrow.test.ts +1 -1
  487. package/src/core/plan/sql-format/format-pretty-preserve.test.ts +1 -1
  488. package/src/core/plan/sql-format/format-pretty-upper.test.ts +1 -1
  489. package/src/core/postgres-config.ts +2 -2
  490. package/src/core/sort/custom-constraints.ts +75 -1
  491. package/src/core/sort/logical-sort.ts +3 -27
  492. package/src/typedoc.ts +253 -0
  493. package/dist/core/integrations/filter/extractors.d.ts +0 -12
  494. package/dist/core/integrations/filter/extractors.js +0 -178
  495. package/src/core/integrations/filter/extractors.test.ts +0 -244
  496. package/src/core/integrations/filter/extractors.ts +0 -187
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Domain, DomainConstraintProps } from "../domain.model.ts";
2
3
  import { AlterDomainChange, DropDomainChange } from "./domain.base.ts";
3
4
  /**
@@ -45,7 +46,7 @@ export declare class AlterDomainSetDefault extends AlterDomainChange {
45
46
  defaultValue: string;
46
47
  });
47
48
  get requires(): `domain:${string}`[];
48
- serialize(): string;
49
+ serialize(_options?: SerializeOptions): string;
49
50
  }
50
51
  /**
51
52
  * ALTER DOMAIN ... DROP DEFAULT
@@ -57,7 +58,7 @@ export declare class AlterDomainDropDefault extends AlterDomainChange {
57
58
  domain: Domain;
58
59
  });
59
60
  get requires(): `domain:${string}`[];
60
- serialize(): string;
61
+ serialize(_options?: SerializeOptions): string;
61
62
  }
62
63
  /**
63
64
  * ALTER DOMAIN ... SET NOT NULL
@@ -69,7 +70,7 @@ export declare class AlterDomainSetNotNull extends AlterDomainChange {
69
70
  domain: Domain;
70
71
  });
71
72
  get requires(): `domain:${string}`[];
72
- serialize(): string;
73
+ serialize(_options?: SerializeOptions): string;
73
74
  }
74
75
  /**
75
76
  * ALTER DOMAIN ... DROP NOT NULL
@@ -81,7 +82,7 @@ export declare class AlterDomainDropNotNull extends AlterDomainChange {
81
82
  domain: Domain;
82
83
  });
83
84
  get requires(): `domain:${string}`[];
84
- serialize(): string;
85
+ serialize(_options?: SerializeOptions): string;
85
86
  }
86
87
  /**
87
88
  * ALTER DOMAIN ... OWNER TO ...
@@ -95,7 +96,7 @@ export declare class AlterDomainChangeOwner extends AlterDomainChange {
95
96
  owner: string;
96
97
  });
97
98
  get requires(): (`role:${string}` | `domain:${string}`)[];
98
- serialize(): string;
99
+ serialize(_options?: SerializeOptions): string;
99
100
  }
100
101
  /**
101
102
  * ALTER DOMAIN ... ADD CONSTRAINT ... [ NOT VALID ]
@@ -110,7 +111,7 @@ export declare class AlterDomainAddConstraint extends AlterDomainChange {
110
111
  });
111
112
  get creates(): `constraint:${string}.${string}.${string}`[];
112
113
  get requires(): `domain:${string}`[];
113
- serialize(): string;
114
+ serialize(_options?: SerializeOptions): string;
114
115
  }
115
116
  /**
116
117
  * ALTER DOMAIN ... DROP CONSTRAINT ...
@@ -125,7 +126,7 @@ export declare class AlterDomainDropConstraint extends DropDomainChange {
125
126
  });
126
127
  get requires(): (`constraint:${string}.${string}.${string}` | `domain:${string}`)[];
127
128
  get drops(): `constraint:${string}.${string}.${string}`[];
128
- serialize(): string;
129
+ serialize(_options?: SerializeOptions): string;
129
130
  }
130
131
  /**
131
132
  * ALTER DOMAIN ... VALIDATE CONSTRAINT ...
@@ -139,5 +140,5 @@ export declare class AlterDomainValidateConstraint extends AlterDomainChange {
139
140
  constraint: DomainConstraintProps;
140
141
  });
141
142
  get requires(): (`constraint:${string}.${string}.${string}` | `domain:${string}`)[];
142
- serialize(): string;
143
+ serialize(_options?: SerializeOptions): string;
143
144
  }
@@ -15,7 +15,7 @@ export class AlterDomainSetDefault extends AlterDomainChange {
15
15
  get requires() {
16
16
  return [this.domain.stableId];
17
17
  }
18
- serialize() {
18
+ serialize(_options) {
19
19
  return `ALTER DOMAIN ${this.domain.schema}.${this.domain.name} SET DEFAULT ${this.defaultValue}`;
20
20
  }
21
21
  }
@@ -32,7 +32,7 @@ export class AlterDomainDropDefault extends AlterDomainChange {
32
32
  get requires() {
33
33
  return [this.domain.stableId];
34
34
  }
35
- serialize() {
35
+ serialize(_options) {
36
36
  return `ALTER DOMAIN ${this.domain.schema}.${this.domain.name} DROP DEFAULT`;
37
37
  }
38
38
  }
@@ -49,7 +49,7 @@ export class AlterDomainSetNotNull extends AlterDomainChange {
49
49
  get requires() {
50
50
  return [this.domain.stableId];
51
51
  }
52
- serialize() {
52
+ serialize(_options) {
53
53
  return `ALTER DOMAIN ${this.domain.schema}.${this.domain.name} SET NOT NULL`;
54
54
  }
55
55
  }
@@ -66,7 +66,7 @@ export class AlterDomainDropNotNull extends AlterDomainChange {
66
66
  get requires() {
67
67
  return [this.domain.stableId];
68
68
  }
69
- serialize() {
69
+ serialize(_options) {
70
70
  return `ALTER DOMAIN ${this.domain.schema}.${this.domain.name} DROP NOT NULL`;
71
71
  }
72
72
  }
@@ -85,7 +85,7 @@ export class AlterDomainChangeOwner extends AlterDomainChange {
85
85
  get requires() {
86
86
  return [this.domain.stableId, stableId.role(this.owner)];
87
87
  }
88
- serialize() {
88
+ serialize(_options) {
89
89
  return `ALTER DOMAIN ${this.domain.schema}.${this.domain.name} OWNER TO ${this.owner}`;
90
90
  }
91
91
  }
@@ -109,7 +109,7 @@ export class AlterDomainAddConstraint extends AlterDomainChange {
109
109
  get requires() {
110
110
  return [this.domain.stableId];
111
111
  }
112
- serialize() {
112
+ serialize(_options) {
113
113
  const domainName = `${this.domain.schema}.${this.domain.name}`;
114
114
  const parts = [
115
115
  "ALTER DOMAIN",
@@ -149,7 +149,7 @@ export class AlterDomainDropConstraint extends DropDomainChange {
149
149
  stableId.constraint(this.domain.schema, this.domain.name, this.constraint.name),
150
150
  ];
151
151
  }
152
- serialize() {
152
+ serialize(_options) {
153
153
  const domainName = `${this.domain.schema}.${this.domain.name}`;
154
154
  return [
155
155
  "ALTER DOMAIN",
@@ -179,7 +179,7 @@ export class AlterDomainValidateConstraint extends AlterDomainChange {
179
179
  stableId.constraint(this.domain.schema, this.domain.name, this.constraint.name),
180
180
  ];
181
181
  }
182
- serialize() {
182
+ serialize(_options) {
183
183
  const domainName = `${this.domain.schema}.${this.domain.name}`;
184
184
  return [
185
185
  "ALTER DOMAIN",
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Domain } from "../domain.model.ts";
2
3
  import { CreateDomainChange, DropDomainChange } from "./domain.base.ts";
3
4
  export type CommentDomain = CreateCommentOnDomain | DropCommentOnDomain;
@@ -12,7 +13,7 @@ export declare class CreateCommentOnDomain extends CreateDomainChange {
12
13
  });
13
14
  get creates(): `comment:${string}`[];
14
15
  get requires(): `domain:${string}`[];
15
- serialize(): string;
16
+ serialize(_options?: SerializeOptions): string;
16
17
  }
17
18
  export declare class DropCommentOnDomain extends DropDomainChange {
18
19
  readonly domain: Domain;
@@ -21,5 +22,5 @@ export declare class DropCommentOnDomain extends DropDomainChange {
21
22
  domain: Domain;
22
23
  });
23
24
  get requires(): (`comment:${string}` | `domain:${string}`)[];
24
- serialize(): string;
25
+ serialize(_options?: SerializeOptions): string;
25
26
  }
@@ -17,7 +17,7 @@ export class CreateCommentOnDomain extends CreateDomainChange {
17
17
  get requires() {
18
18
  return [this.domain.stableId];
19
19
  }
20
- serialize() {
20
+ serialize(_options) {
21
21
  return [
22
22
  "COMMENT ON DOMAIN",
23
23
  `${this.domain.schema}.${this.domain.name}`,
@@ -37,7 +37,7 @@ export class DropCommentOnDomain extends DropDomainChange {
37
37
  get requires() {
38
38
  return [stableId.comment(this.domain.stableId), this.domain.stableId];
39
39
  }
40
- serialize() {
40
+ serialize(_options) {
41
41
  return [
42
42
  "COMMENT ON DOMAIN",
43
43
  `${this.domain.schema}.${this.domain.name}`,
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Domain } from "../domain.model.ts";
2
3
  import { CreateDomainChange } from "./domain.base.ts";
3
4
  /**
@@ -24,7 +25,7 @@ export declare class CreateDomain extends CreateDomainChange {
24
25
  constructor(props: {
25
26
  domain: Domain;
26
27
  });
27
- get creates(): `domain:${string}`[];
28
+ get creates(): (`constraint:${string}.${string}.${string}` | `domain:${string}`)[];
28
29
  get requires(): string[];
29
- serialize(): string;
30
+ serialize(_options?: SerializeOptions): string;
30
31
  }
@@ -26,7 +26,13 @@ export class CreateDomain extends CreateDomainChange {
26
26
  this.domain = props.domain;
27
27
  }
28
28
  get creates() {
29
- return [this.domain.stableId];
29
+ const creates = [this.domain.stableId];
30
+ for (const constraint of this.domain.constraints) {
31
+ if (constraint.check_expression && constraint.validated) {
32
+ creates.push(stableId.constraint(this.domain.schema, this.domain.name, constraint.name));
33
+ }
34
+ }
35
+ return creates;
30
36
  }
31
37
  get requires() {
32
38
  const dependencies = new Set();
@@ -52,7 +58,7 @@ export class CreateDomain extends CreateDomainChange {
52
58
  }
53
59
  return Array.from(dependencies);
54
60
  }
55
- serialize() {
61
+ serialize(_options) {
56
62
  const parts = [];
57
63
  // Schema-qualified name
58
64
  const domainName = `${this.domain.schema}.${this.domain.name}`;
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Domain } from "../domain.model.ts";
2
3
  import { DropDomainChange } from "./domain.base.ts";
3
4
  /**
@@ -18,5 +19,5 @@ export declare class DropDomain extends DropDomainChange {
18
19
  });
19
20
  get requires(): `domain:${string}`[];
20
21
  get drops(): `domain:${string}`[];
21
- serialize(): string;
22
+ serialize(_options?: SerializeOptions): string;
22
23
  }
@@ -22,7 +22,7 @@ export class DropDomain extends DropDomainChange {
22
22
  get drops() {
23
23
  return [this.domain.stableId];
24
24
  }
25
- serialize() {
25
+ serialize(_options) {
26
26
  return `DROP DOMAIN ${this.domain.schema}.${this.domain.name}`;
27
27
  }
28
28
  }
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Domain } from "../domain.model.ts";
2
3
  import { AlterDomainChange } from "./domain.base.ts";
3
4
  export type DomainPrivilege = GrantDomainPrivileges | RevokeDomainPrivileges | RevokeGrantOptionDomainPrivileges;
@@ -34,7 +35,7 @@ export declare class GrantDomainPrivileges extends AlterDomainChange {
34
35
  });
35
36
  get creates(): `acl:${string}::grantee:${string}`[];
36
37
  get requires(): (`role:${string}` | `domain:${string}`)[];
37
- serialize(): string;
38
+ serialize(_options?: SerializeOptions): string;
38
39
  }
39
40
  /**
40
41
  * Revoke privileges on a domain.
@@ -71,7 +72,7 @@ export declare class RevokeDomainPrivileges extends AlterDomainChange {
71
72
  });
72
73
  get drops(): `acl:${string}::grantee:${string}`[];
73
74
  get requires(): (`role:${string}` | `domain:${string}`)[];
74
- serialize(): string;
75
+ serialize(_options?: SerializeOptions): string;
75
76
  }
76
77
  /**
77
78
  * Revoke grant option for privileges on a domain.
@@ -93,5 +94,5 @@ export declare class RevokeGrantOptionDomainPrivileges extends AlterDomainChange
93
94
  version?: number;
94
95
  });
95
96
  get requires(): (`acl:${string}::grantee:${string}` | `role:${string}` | `domain:${string}`)[];
96
- serialize(): string;
97
+ serialize(_options?: SerializeOptions): string;
97
98
  }
@@ -33,7 +33,7 @@ export class GrantDomainPrivileges extends AlterDomainChange {
33
33
  get requires() {
34
34
  return [this.domain.stableId, stableId.role(this.grantee)];
35
35
  }
36
- serialize() {
36
+ serialize(_options) {
37
37
  const hasGrantable = this.privileges.some((p) => p.grantable);
38
38
  const hasBase = this.privileges.some((p) => !p.grantable);
39
39
  if (hasGrantable && hasBase) {
@@ -83,7 +83,7 @@ export class RevokeDomainPrivileges extends AlterDomainChange {
83
83
  get requires() {
84
84
  return [this.domain.stableId, stableId.role(this.grantee)];
85
85
  }
86
- serialize() {
86
+ serialize(_options) {
87
87
  const kindPrefix = getObjectKindPrefix("DOMAIN");
88
88
  const list = this.privileges.map((p) => p.privilege);
89
89
  const privSql = formatObjectPrivilegeList("DOMAIN", list, this.version);
@@ -118,7 +118,7 @@ export class RevokeGrantOptionDomainPrivileges extends AlterDomainChange {
118
118
  stableId.acl(this.domain.stableId, this.grantee),
119
119
  ];
120
120
  }
121
- serialize() {
121
+ serialize(_options) {
122
122
  const kindPrefix = getObjectKindPrefix("DOMAIN");
123
123
  const privSql = formatObjectPrivilegeList("DOMAIN", this.privilegeNames, this.version);
124
124
  const domainName = `${this.domain.schema}.${this.domain.name}`;
@@ -3,4 +3,5 @@ import type { CommentDomain } from "./domain.comment.ts";
3
3
  import type { CreateDomain } from "./domain.create.ts";
4
4
  import type { DropDomain } from "./domain.drop.ts";
5
5
  import type { DomainPrivilege } from "./domain.privilege.ts";
6
+ /** Union of all domain-related change variants (`objectType: "domain"`). @category Change Types */
6
7
  export type DomainChange = AlterDomain | CommentDomain | CreateDomain | DropDomain | DomainPrivilege;
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { EventTrigger } from "../event-trigger.model.ts";
2
3
  import { AlterEventTriggerChange } from "./event-trigger.base.ts";
3
4
  /**
@@ -26,7 +27,7 @@ export declare class AlterEventTriggerChangeOwner extends AlterEventTriggerChang
26
27
  owner: string;
27
28
  });
28
29
  get requires(): `eventTrigger:${string}`[];
29
- serialize(): string;
30
+ serialize(_options?: SerializeOptions): string;
30
31
  }
31
32
  /**
32
33
  * ALTER EVENT TRIGGER ... ENABLE/DISABLE ...
@@ -40,5 +41,5 @@ export declare class AlterEventTriggerSetEnabled extends AlterEventTriggerChange
40
41
  enabled: EventTrigger["enabled"];
41
42
  });
42
43
  get requires(): `eventTrigger:${string}`[];
43
- serialize(): string;
44
+ serialize(_options?: SerializeOptions): string;
44
45
  }
@@ -14,7 +14,7 @@ export class AlterEventTriggerChangeOwner extends AlterEventTriggerChange {
14
14
  get requires() {
15
15
  return [this.eventTrigger.stableId];
16
16
  }
17
- serialize() {
17
+ serialize(_options) {
18
18
  return [
19
19
  "ALTER EVENT TRIGGER",
20
20
  this.eventTrigger.name,
@@ -44,7 +44,7 @@ export class AlterEventTriggerSetEnabled extends AlterEventTriggerChange {
44
44
  get requires() {
45
45
  return [this.eventTrigger.stableId];
46
46
  }
47
- serialize() {
47
+ serialize(_options) {
48
48
  const clause = ENABLED_SQL[this.enabled];
49
49
  return ["ALTER EVENT TRIGGER", this.eventTrigger.name, clause].join(" ");
50
50
  }
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { EventTrigger } from "../event-trigger.model.ts";
2
3
  import { CreateEventTriggerChange, DropEventTriggerChange } from "./event-trigger.base.ts";
3
4
  export type CommentEventTrigger = CreateCommentOnEventTrigger | DropCommentOnEventTrigger;
@@ -9,7 +10,7 @@ export declare class CreateCommentOnEventTrigger extends CreateEventTriggerChang
9
10
  });
10
11
  get creates(): `comment:${string}`[];
11
12
  get requires(): `eventTrigger:${string}`[];
12
- serialize(): string;
13
+ serialize(_options?: SerializeOptions): string;
13
14
  }
14
15
  export declare class DropCommentOnEventTrigger extends DropEventTriggerChange {
15
16
  readonly eventTrigger: EventTrigger;
@@ -19,5 +20,5 @@ export declare class DropCommentOnEventTrigger extends DropEventTriggerChange {
19
20
  });
20
21
  get drops(): `comment:${string}`[];
21
22
  get requires(): (`comment:${string}` | `eventTrigger:${string}`)[];
22
- serialize(): string;
23
+ serialize(_options?: SerializeOptions): string;
23
24
  }
@@ -14,7 +14,7 @@ export class CreateCommentOnEventTrigger extends CreateEventTriggerChange {
14
14
  get requires() {
15
15
  return [this.eventTrigger.stableId];
16
16
  }
17
- serialize() {
17
+ serialize(_options) {
18
18
  return [
19
19
  "COMMENT ON EVENT TRIGGER",
20
20
  this.eventTrigger.name,
@@ -40,7 +40,7 @@ export class DropCommentOnEventTrigger extends DropEventTriggerChange {
40
40
  this.eventTrigger.stableId,
41
41
  ];
42
42
  }
43
- serialize() {
43
+ serialize(_options) {
44
44
  return ["COMMENT ON EVENT TRIGGER", this.eventTrigger.name, "IS NULL"].join(" ");
45
45
  }
46
46
  }
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { EventTrigger } from "../event-trigger.model.ts";
2
3
  import { CreateEventTriggerChange } from "./event-trigger.base.ts";
3
4
  /**
@@ -21,5 +22,5 @@ export declare class CreateEventTrigger extends CreateEventTriggerChange {
21
22
  });
22
23
  get creates(): `eventTrigger:${string}`[];
23
24
  get requires(): string[];
24
- serialize(): string;
25
+ serialize(_options?: SerializeOptions): string;
25
26
  }
@@ -37,7 +37,7 @@ export class CreateEventTrigger extends CreateEventTriggerChange {
37
37
  }
38
38
  return Array.from(dependencies);
39
39
  }
40
- serialize() {
40
+ serialize(_options) {
41
41
  const parts = [
42
42
  "CREATE EVENT TRIGGER",
43
43
  this.eventTrigger.name,
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { EventTrigger } from "../event-trigger.model.ts";
2
3
  import { DropEventTriggerChange } from "./event-trigger.base.ts";
3
4
  /**
@@ -18,5 +19,5 @@ export declare class DropEventTrigger extends DropEventTriggerChange {
18
19
  });
19
20
  get drops(): `eventTrigger:${string}`[];
20
21
  get requires(): `eventTrigger:${string}`[];
21
- serialize(): string;
22
+ serialize(_options?: SerializeOptions): string;
22
23
  }
@@ -22,7 +22,7 @@ export class DropEventTrigger extends DropEventTriggerChange {
22
22
  get requires() {
23
23
  return [this.eventTrigger.stableId];
24
24
  }
25
- serialize() {
25
+ serialize(_options) {
26
26
  return ["DROP EVENT TRIGGER", this.eventTrigger.name].join(" ");
27
27
  }
28
28
  }
@@ -2,4 +2,5 @@ import type { AlterEventTrigger } from "./event-trigger.alter.ts";
2
2
  import type { CommentEventTrigger } from "./event-trigger.comment.ts";
3
3
  import type { CreateEventTrigger } from "./event-trigger.create.ts";
4
4
  import type { DropEventTrigger } from "./event-trigger.drop.ts";
5
+ /** Union of all event-trigger-related change variants (`objectType: "event_trigger"`). @category Change Types */
5
6
  export type EventTriggerChange = AlterEventTrigger | CommentEventTrigger | CreateEventTrigger | DropEventTrigger;
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Extension } from "../extension.model.ts";
2
3
  import { AlterExtensionChange } from "./extension.base.ts";
3
4
  /**
@@ -26,7 +27,7 @@ export declare class AlterExtensionUpdateVersion extends AlterExtensionChange {
26
27
  version: string;
27
28
  });
28
29
  get requires(): `extension:${string}`[];
29
- serialize(): string;
30
+ serialize(_options?: SerializeOptions): string;
30
31
  }
31
32
  /**
32
33
  * ALTER EXTENSION ... SET SCHEMA ...
@@ -40,5 +41,5 @@ export declare class AlterExtensionSetSchema extends AlterExtensionChange {
40
41
  schema: string;
41
42
  });
42
43
  get requires(): (`schema:${string}` | `extension:${string}`)[];
43
- serialize(): string;
44
+ serialize(_options?: SerializeOptions): string;
44
45
  }
@@ -16,7 +16,7 @@ export class AlterExtensionUpdateVersion extends AlterExtensionChange {
16
16
  get requires() {
17
17
  return [this.extension.stableId];
18
18
  }
19
- serialize() {
19
+ serialize(_options) {
20
20
  return [
21
21
  "ALTER EXTENSION",
22
22
  this.extension.name,
@@ -40,7 +40,7 @@ export class AlterExtensionSetSchema extends AlterExtensionChange {
40
40
  get requires() {
41
41
  return [this.extension.stableId, stableId.schema(this.schema)];
42
42
  }
43
- serialize() {
43
+ serialize(_options) {
44
44
  return [
45
45
  "ALTER EXTENSION",
46
46
  this.extension.name,
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Extension } from "../extension.model.ts";
2
3
  import { CreateExtensionChange, DropExtensionChange } from "./extension.base.ts";
3
4
  export type CommentExtension = CreateCommentOnExtension | DropCommentOnExtension;
@@ -12,7 +13,7 @@ export declare class CreateCommentOnExtension extends CreateExtensionChange {
12
13
  });
13
14
  get creates(): `comment:${string}`[];
14
15
  get requires(): `extension:${string}`[];
15
- serialize(): string;
16
+ serialize(_options?: SerializeOptions): string;
16
17
  }
17
18
  export declare class DropCommentOnExtension extends DropExtensionChange {
18
19
  readonly extension: Extension;
@@ -22,5 +23,5 @@ export declare class DropCommentOnExtension extends DropExtensionChange {
22
23
  });
23
24
  get drops(): `comment:${string}`[];
24
25
  get requires(): (`comment:${string}` | `extension:${string}`)[];
25
- serialize(): string;
26
+ serialize(_options?: SerializeOptions): string;
26
27
  }
@@ -17,7 +17,7 @@ export class CreateCommentOnExtension extends CreateExtensionChange {
17
17
  get requires() {
18
18
  return [this.extension.stableId];
19
19
  }
20
- serialize() {
20
+ serialize(_options) {
21
21
  return [
22
22
  "COMMENT ON EXTENSION",
23
23
  this.extension.name,
@@ -40,7 +40,7 @@ export class DropCommentOnExtension extends DropExtensionChange {
40
40
  get requires() {
41
41
  return [stableId.comment(this.extension.stableId), this.extension.stableId];
42
42
  }
43
- serialize() {
43
+ serialize(_options) {
44
44
  return ["COMMENT ON EXTENSION", this.extension.name, "IS NULL"].join(" ");
45
45
  }
46
46
  }
@@ -1,3 +1,4 @@
1
+ import type { ExtensionSerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Extension } from "../extension.model.ts";
2
3
  import { CreateExtensionChange } from "./extension.base.ts";
3
4
  /**
@@ -21,5 +22,5 @@ export declare class CreateExtension extends CreateExtensionChange {
21
22
  });
22
23
  get creates(): string[];
23
24
  get requires(): string[];
24
- serialize(): string;
25
+ serialize(options?: ExtensionSerializeOptions): string;
25
26
  }
@@ -31,12 +31,14 @@ export class CreateExtension extends CreateExtensionChange {
31
31
  dependencies.add(stableId.role(this.extension.owner));
32
32
  return Array.from(dependencies);
33
33
  }
34
- serialize() {
34
+ serialize(options) {
35
35
  const parts = ["CREATE EXTENSION"];
36
36
  // Add extension name
37
37
  parts.push(this.extension.name);
38
38
  // Add schema
39
- parts.push("WITH SCHEMA", this.extension.schema);
39
+ if (!options?.skipSchema) {
40
+ parts.push("WITH SCHEMA", this.extension.schema);
41
+ }
40
42
  // Add version
41
43
  // TODO: Omit version for now as versions can differ between main and branch
42
44
  // if (this.extension.version) {
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Extension } from "../extension.model.ts";
2
3
  import { DropExtensionChange } from "./extension.base.ts";
3
4
  /**
@@ -18,5 +19,5 @@ export declare class DropExtension extends DropExtensionChange {
18
19
  });
19
20
  get drops(): string[];
20
21
  get requires(): string[];
21
- serialize(): string;
22
+ serialize(_options?: SerializeOptions): string;
22
23
  }
@@ -22,7 +22,7 @@ export class DropExtension extends DropExtensionChange {
22
22
  get requires() {
23
23
  return [this.extension.stableId, ...this.extension.members];
24
24
  }
25
- serialize() {
25
+ serialize(_options) {
26
26
  return ["DROP EXTENSION", this.extension.name].join(" ");
27
27
  }
28
28
  }
@@ -2,4 +2,5 @@ import type { AlterExtension } from "./extension.alter.ts";
2
2
  import type { CommentExtension } from "./extension.comment.ts";
3
3
  import type { CreateExtension } from "./extension.create.ts";
4
4
  import type { DropExtension } from "./extension.drop.ts";
5
+ /** Union of all extension-related change variants (`objectType: "extension"`). @category Change Types */
5
6
  export type ExtensionChange = AlterExtension | CommentExtension | CreateExtension | DropExtension;
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
1
2
  import type { ForeignDataWrapper } from "../foreign-data-wrapper.model.ts";
2
3
  import { AlterForeignDataWrapperChange } from "./foreign-data-wrapper.base.ts";
3
4
  /**
@@ -25,7 +26,7 @@ export declare class AlterForeignDataWrapperChangeOwner extends AlterForeignData
25
26
  owner: string;
26
27
  });
27
28
  get requires(): (`role:${string}` | `foreignDataWrapper:${string}`)[];
28
- serialize(): string;
29
+ serialize(_options?: SerializeOptions): string;
29
30
  }
30
31
  /**
31
32
  * ALTER FOREIGN DATA WRAPPER ... OPTIONS ( ADD | SET | DROP ... )
@@ -47,5 +48,5 @@ export declare class AlterForeignDataWrapperSetOptions extends AlterForeignDataW
47
48
  }>;
48
49
  });
49
50
  get requires(): `foreignDataWrapper:${string}`[];
50
- serialize(): string;
51
+ serialize(_options?: SerializeOptions): string;
51
52
  }
@@ -16,7 +16,7 @@ export class AlterForeignDataWrapperChangeOwner extends AlterForeignDataWrapperC
16
16
  get requires() {
17
17
  return [this.foreignDataWrapper.stableId, stableId.role(this.owner)];
18
18
  }
19
- serialize() {
19
+ serialize(_options) {
20
20
  return [
21
21
  "ALTER FOREIGN DATA WRAPPER",
22
22
  this.foreignDataWrapper.name,
@@ -40,7 +40,7 @@ export class AlterForeignDataWrapperSetOptions extends AlterForeignDataWrapperCh
40
40
  get requires() {
41
41
  return [this.foreignDataWrapper.stableId];
42
42
  }
43
- serialize() {
43
+ serialize(_options) {
44
44
  const optionParts = [];
45
45
  for (const opt of this.options) {
46
46
  if (opt.action === "DROP") {
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
1
2
  import type { ForeignDataWrapper } from "../foreign-data-wrapper.model.ts";
2
3
  import { CreateForeignDataWrapperChange, DropForeignDataWrapperChange } from "./foreign-data-wrapper.base.ts";
3
4
  /**
@@ -12,7 +13,7 @@ export declare class CreateCommentOnForeignDataWrapper extends CreateForeignData
12
13
  });
13
14
  get creates(): `comment:${string}`[];
14
15
  get requires(): `foreignDataWrapper:${string}`[];
15
- serialize(): string;
16
+ serialize(_options?: SerializeOptions): string;
16
17
  }
17
18
  export declare class DropCommentOnForeignDataWrapper extends DropForeignDataWrapperChange {
18
19
  readonly foreignDataWrapper: ForeignDataWrapper;
@@ -22,5 +23,5 @@ export declare class DropCommentOnForeignDataWrapper extends DropForeignDataWrap
22
23
  });
23
24
  get drops(): `comment:${string}`[];
24
25
  get requires(): (`comment:${string}` | `foreignDataWrapper:${string}`)[];
25
- serialize(): string;
26
+ serialize(_options?: SerializeOptions): string;
26
27
  }