@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 { Role } from "../role.model.ts";
2
3
  import { AlterRoleChange } from "./role.base.ts";
3
4
  /**
@@ -46,7 +47,7 @@ export declare class AlterRoleSetOptions extends AlterRoleChange {
46
47
  options: string[];
47
48
  });
48
49
  get requires(): `role:${string}`[];
49
- serialize(): string;
50
+ serialize(_options?: SerializeOptions): string;
50
51
  }
51
52
  /**
52
53
  * ALTER ROLE ... SET/RESET configuration_parameter (single statement)
@@ -74,5 +75,5 @@ export declare class AlterRoleSetConfig extends AlterRoleChange {
74
75
  action: "reset_all";
75
76
  });
76
77
  get requires(): `role:${string}`[];
77
- serialize(): string;
78
+ serialize(_options?: SerializeOptions): string;
78
79
  }
@@ -16,7 +16,7 @@ export class AlterRoleSetOptions extends AlterRoleChange {
16
16
  get requires() {
17
17
  return [this.role.stableId];
18
18
  }
19
- serialize() {
19
+ serialize(_options) {
20
20
  const parts = ["ALTER ROLE", this.role.name];
21
21
  return [...parts, "WITH", this.options.join(" ")].join(" ");
22
22
  }
@@ -41,7 +41,7 @@ export class AlterRoleSetConfig extends AlterRoleChange {
41
41
  get requires() {
42
42
  return [this.role.stableId];
43
43
  }
44
- serialize() {
44
+ serialize(_options) {
45
45
  const head = ["ALTER ROLE", this.role.name].join(" ");
46
46
  if (this.action === "reset_all") {
47
47
  return `${head} RESET ALL`;
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Role } from "../role.model.ts";
2
3
  import { CreateRoleChange, DropRoleChange } from "./role.base.ts";
3
4
  export type CommentRole = CreateCommentOnRole | DropCommentOnRole;
@@ -9,7 +10,7 @@ export declare class CreateCommentOnRole extends CreateRoleChange {
9
10
  });
10
11
  get creates(): `comment:${string}`[];
11
12
  get requires(): `role:${string}`[];
12
- serialize(): string;
13
+ serialize(_options?: SerializeOptions): string;
13
14
  }
14
15
  export declare class DropCommentOnRole extends DropRoleChange {
15
16
  readonly role: Role;
@@ -19,5 +20,5 @@ export declare class DropCommentOnRole extends DropRoleChange {
19
20
  });
20
21
  get drops(): `comment:${string}`[];
21
22
  get requires(): (`comment:${string}` | `role:${string}`)[];
22
- serialize(): string;
23
+ serialize(_options?: SerializeOptions): string;
23
24
  }
@@ -14,7 +14,7 @@ export class CreateCommentOnRole extends CreateRoleChange {
14
14
  get requires() {
15
15
  return [this.role.stableId];
16
16
  }
17
- serialize() {
17
+ serialize(_options) {
18
18
  return [
19
19
  "COMMENT ON ROLE",
20
20
  this.role.name,
@@ -36,7 +36,7 @@ export class DropCommentOnRole extends DropRoleChange {
36
36
  get requires() {
37
37
  return [stableId.comment(this.role.stableId), this.role.stableId];
38
38
  }
39
- serialize() {
39
+ serialize(_options) {
40
40
  return ["COMMENT ON ROLE", this.role.name, "IS NULL"].join(" ");
41
41
  }
42
42
  }
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Role } from "../role.model.ts";
2
3
  import { CreateRoleChange } from "./role.base.ts";
3
4
  /**
@@ -34,5 +35,5 @@ export declare class CreateRole extends CreateRoleChange {
34
35
  role: Role;
35
36
  });
36
37
  get creates(): `role:${string}`[];
37
- serialize(): string;
38
+ serialize(_options?: SerializeOptions): string;
38
39
  }
@@ -36,7 +36,7 @@ export class CreateRole extends CreateRoleChange {
36
36
  get creates() {
37
37
  return [this.role.stableId];
38
38
  }
39
- serialize() {
39
+ serialize(_options) {
40
40
  const parts = ["CREATE ROLE"];
41
41
  // Add role name
42
42
  parts.push(this.role.name);
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Role } from "../role.model.ts";
2
3
  import { DropRoleChange } from "./role.base.ts";
3
4
  /**
@@ -18,5 +19,5 @@ export declare class DropRole extends DropRoleChange {
18
19
  });
19
20
  get drops(): `role:${string}`[];
20
21
  get requires(): `role:${string}`[];
21
- serialize(): string;
22
+ serialize(_options?: SerializeOptions): string;
22
23
  }
@@ -22,7 +22,7 @@ export class DropRole extends DropRoleChange {
22
22
  get requires() {
23
23
  return [this.role.stableId];
24
24
  }
25
- serialize() {
25
+ serialize(_options) {
26
26
  return ["DROP ROLE", this.role.name].join(" ");
27
27
  }
28
28
  }
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Role } from "../role.model.ts";
2
3
  import { CreateRoleChange, DropRoleChange } from "./role.base.ts";
3
4
  export type RolePrivilege = GrantRoleMembership | RevokeRoleMembership | RevokeRoleMembershipOptions | GrantRoleDefaultPrivileges | RevokeRoleDefaultPrivileges;
@@ -33,7 +34,7 @@ export declare class GrantRoleMembership extends CreateRoleChange {
33
34
  });
34
35
  get creates(): `membership:${string}->${string}`[];
35
36
  get requires(): `role:${string}`[];
36
- serialize(): string;
37
+ serialize(_options?: SerializeOptions): string;
37
38
  }
38
39
  /**
39
40
  * Revoke role membership.
@@ -57,7 +58,7 @@ export declare class RevokeRoleMembership extends DropRoleChange {
57
58
  });
58
59
  get drops(): `membership:${string}->${string}`[];
59
60
  get requires(): (`role:${string}` | `membership:${string}->${string}`)[];
60
- serialize(): string;
61
+ serialize(_options?: SerializeOptions): string;
61
62
  }
62
63
  /**
63
64
  * Revoke membership options for a role.
@@ -82,7 +83,7 @@ export declare class RevokeRoleMembershipOptions extends DropRoleChange {
82
83
  set?: boolean;
83
84
  });
84
85
  get requires(): (`role:${string}` | `membership:${string}->${string}`)[];
85
- serialize(): string;
86
+ serialize(_options?: SerializeOptions): string;
86
87
  }
87
88
  /**
88
89
  * Grant default privileges for a role.
@@ -113,7 +114,7 @@ export declare class GrantRoleDefaultPrivileges extends CreateRoleChange {
113
114
  });
114
115
  get creates(): `defacl:${string}:${string}:${string}:grantee:${string}`[];
115
116
  get requires(): (`schema:${string}` | `role:${string}`)[];
116
- serialize(): string;
117
+ serialize(_options?: SerializeOptions): string;
117
118
  }
118
119
  /**
119
120
  * Revoke default privileges for a role.
@@ -144,5 +145,5 @@ export declare class RevokeRoleDefaultPrivileges extends DropRoleChange {
144
145
  });
145
146
  get drops(): `defacl:${string}:${string}:${string}:grantee:${string}`[];
146
147
  get requires(): (`schema:${string}` | `defacl:${string}:${string}:${string}:grantee:${string}` | `role:${string}`)[];
147
- serialize(): string;
148
+ serialize(_options?: SerializeOptions): string;
148
149
  }
@@ -29,7 +29,7 @@ export class GrantRoleMembership extends CreateRoleChange {
29
29
  get requires() {
30
30
  return [this.role.stableId, stableId.role(this.member)];
31
31
  }
32
- serialize() {
32
+ serialize(_options) {
33
33
  // On creation, only emit ADMIN OPTION; leave INHERIT/SET to defaults
34
34
  const opts = [];
35
35
  if (this.options.admin)
@@ -69,7 +69,7 @@ export class RevokeRoleMembership extends DropRoleChange {
69
69
  this.role.stableId,
70
70
  ];
71
71
  }
72
- serialize() {
72
+ serialize(_options) {
73
73
  return `REVOKE ${this.role.name} FROM ${this.member}`;
74
74
  }
75
75
  }
@@ -103,7 +103,7 @@ export class RevokeRoleMembershipOptions extends DropRoleChange {
103
103
  this.role.stableId,
104
104
  ];
105
105
  }
106
- serialize() {
106
+ serialize(_options) {
107
107
  const parts = [];
108
108
  if (this.admin)
109
109
  parts.push("ADMIN OPTION");
@@ -148,7 +148,7 @@ export class GrantRoleDefaultPrivileges extends CreateRoleChange {
148
148
  ...(this.inSchema ? [stableId.schema(this.inSchema)] : []),
149
149
  ];
150
150
  }
151
- serialize() {
151
+ serialize(_options) {
152
152
  const scope = this.inSchema ? ` IN SCHEMA ${this.inSchema}` : "";
153
153
  const hasGrantable = this.privileges.some((p) => p.grantable);
154
154
  const hasBase = this.privileges.some((p) => !p.grantable);
@@ -195,7 +195,7 @@ export class RevokeRoleDefaultPrivileges extends DropRoleChange {
195
195
  ...(this.inSchema ? [stableId.schema(this.inSchema)] : []),
196
196
  ];
197
197
  }
198
- serialize() {
198
+ serialize(_options) {
199
199
  const scope = this.inSchema ? ` IN SCHEMA ${this.inSchema}` : "";
200
200
  const grantOptionPrivs = this.privileges
201
201
  .filter((p) => p.grantable)
@@ -3,4 +3,5 @@ import type { CommentRole } from "./role.comment.ts";
3
3
  import type { CreateRole } from "./role.create.ts";
4
4
  import type { DropRole } from "./role.drop.ts";
5
5
  import type { RolePrivilege } from "./role.privilege.ts";
6
+ /** Union of all role-related change variants (`objectType: "role"`). @category Change Types */
6
7
  export type RoleChange = AlterRole | CommentRole | CreateRole | DropRole | RolePrivilege;
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Rule, RuleEnabledState } from "../rule.model.ts";
2
3
  import { AlterRuleChange } from "./rule.base.ts";
3
4
  export declare class ReplaceRule extends AlterRuleChange {
@@ -7,7 +8,7 @@ export declare class ReplaceRule extends AlterRuleChange {
7
8
  rule: Rule;
8
9
  });
9
10
  get requires(): string[];
10
- serialize(): string;
11
+ serialize(_options?: SerializeOptions): string;
11
12
  }
12
13
  export declare class SetRuleEnabledState extends AlterRuleChange {
13
14
  readonly rule: Rule;
@@ -18,5 +19,5 @@ export declare class SetRuleEnabledState extends AlterRuleChange {
18
19
  enabled?: RuleEnabledState;
19
20
  });
20
21
  get requires(): string[];
21
- serialize(): string;
22
+ serialize(_options?: SerializeOptions): string;
22
23
  }
@@ -15,7 +15,7 @@ export class ReplaceRule extends AlterRuleChange {
15
15
  ...this.rule.columns.map((column) => stableId.column(this.rule.schema, this.rule.table_name, column)),
16
16
  ];
17
17
  }
18
- serialize() {
18
+ serialize(_options) {
19
19
  return new CreateRule({ rule: this.rule, orReplace: true }).serialize();
20
20
  }
21
21
  }
@@ -35,7 +35,7 @@ export class SetRuleEnabledState extends AlterRuleChange {
35
35
  ...this.rule.columns.map((column) => stableId.column(this.rule.schema, this.rule.table_name, column)),
36
36
  ];
37
37
  }
38
- serialize() {
38
+ serialize(_options) {
39
39
  const clause = clauseForState(this.enabled);
40
40
  return `ALTER TABLE ${this.rule.schema}.${this.rule.table_name} ${clause} ${this.rule.name}`;
41
41
  }
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Rule } from "../rule.model.ts";
2
3
  import { CreateRuleChange, DropRuleChange } from "./rule.base.ts";
3
4
  export declare class CreateCommentOnRule extends CreateRuleChange {
@@ -8,7 +9,7 @@ export declare class CreateCommentOnRule extends CreateRuleChange {
8
9
  });
9
10
  get creates(): `comment:${string}`[];
10
11
  get requires(): `rule:${string}`[];
11
- serialize(): string;
12
+ serialize(_options?: SerializeOptions): string;
12
13
  }
13
14
  export declare class DropCommentOnRule extends DropRuleChange {
14
15
  readonly rule: Rule;
@@ -18,5 +19,5 @@ export declare class DropCommentOnRule extends DropRuleChange {
18
19
  });
19
20
  get drops(): `comment:${string}`[];
20
21
  get requires(): (`comment:${string}` | `rule:${string}`)[];
21
- serialize(): string;
22
+ serialize(_options?: SerializeOptions): string;
22
23
  }
@@ -14,7 +14,7 @@ export class CreateCommentOnRule extends CreateRuleChange {
14
14
  get requires() {
15
15
  return [this.rule.stableId];
16
16
  }
17
- serialize() {
17
+ serialize(_options) {
18
18
  return [
19
19
  "COMMENT ON RULE",
20
20
  this.rule.name,
@@ -39,7 +39,7 @@ export class DropCommentOnRule extends DropRuleChange {
39
39
  get requires() {
40
40
  return [stableId.comment(this.rule.stableId), this.rule.stableId];
41
41
  }
42
- serialize() {
42
+ serialize(_options) {
43
43
  return [
44
44
  "COMMENT ON RULE",
45
45
  this.rule.name,
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Rule } from "../rule.model.ts";
2
3
  import { CreateRuleChange } from "./rule.base.ts";
3
4
  export declare class CreateRule extends CreateRuleChange {
@@ -10,5 +11,5 @@ export declare class CreateRule extends CreateRuleChange {
10
11
  });
11
12
  get creates(): `rule:${string}`[];
12
13
  get requires(): string[];
13
- serialize(): string;
14
+ serialize(_options?: SerializeOptions): string;
14
15
  }
@@ -18,7 +18,7 @@ export class CreateRule extends CreateRuleChange {
18
18
  ...this.rule.columns.map((column) => stableId.column(this.rule.schema, this.rule.table_name, column)),
19
19
  ];
20
20
  }
21
- serialize() {
21
+ serialize(_options) {
22
22
  let definition = this.rule.definition.trim();
23
23
  definition = definition.replace(/^CREATE\s+(?:OR\s+REPLACE\s+)?/i, `CREATE ${this.orReplace ? "OR REPLACE " : ""}`);
24
24
  // Remove trailing semicolons (pg_get_ruledef includes them, but we add our own)
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Rule } from "../rule.model.ts";
2
3
  import { DropRuleChange } from "./rule.base.ts";
3
4
  export declare class DropRule extends DropRuleChange {
@@ -8,5 +9,5 @@ export declare class DropRule extends DropRuleChange {
8
9
  });
9
10
  get drops(): `rule:${string}`[];
10
11
  get requires(): string[];
11
- serialize(): string;
12
+ serialize(_options?: SerializeOptions): string;
12
13
  }
@@ -12,7 +12,7 @@ export class DropRule extends DropRuleChange {
12
12
  get requires() {
13
13
  return [this.rule.stableId, this.rule.relationStableId];
14
14
  }
15
- serialize() {
15
+ serialize(_options) {
16
16
  return [
17
17
  "DROP RULE",
18
18
  this.rule.name,
@@ -2,4 +2,5 @@ import type { ReplaceRule, SetRuleEnabledState } from "./rule.alter.ts";
2
2
  import type { CreateCommentOnRule, DropCommentOnRule } from "./rule.comment.ts";
3
3
  import type { CreateRule } from "./rule.create.ts";
4
4
  import type { DropRule } from "./rule.drop.ts";
5
+ /** Union of all rule-related change variants (`objectType: "rule"`). @category Change Types */
5
6
  export type RuleChange = CreateRule | DropRule | ReplaceRule | SetRuleEnabledState | CreateCommentOnRule | DropCommentOnRule;
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Schema } from "../schema.model.ts";
2
3
  import { AlterSchemaChange } from "./schema.base.ts";
3
4
  /**
@@ -24,7 +25,7 @@ export declare class AlterSchemaChangeOwner extends AlterSchemaChange {
24
25
  owner: string;
25
26
  });
26
27
  get requires(): `schema:${string}`[];
27
- serialize(): string;
28
+ serialize(_options?: SerializeOptions): string;
28
29
  }
29
30
  /**
30
31
  * Replace a schema by dropping and recreating it.
@@ -14,7 +14,7 @@ export class AlterSchemaChangeOwner extends AlterSchemaChange {
14
14
  get requires() {
15
15
  return [this.schema.stableId];
16
16
  }
17
- serialize() {
17
+ serialize(_options) {
18
18
  return ["ALTER SCHEMA", this.schema.name, "OWNER TO", this.owner].join(" ");
19
19
  }
20
20
  }
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Schema } from "../schema.model.ts";
2
3
  import { CreateSchemaChange, DropSchemaChange } from "./schema.base.ts";
3
4
  export type CommentSchema = CreateCommentOnSchema | DropCommentOnSchema;
@@ -9,7 +10,7 @@ export declare class CreateCommentOnSchema extends CreateSchemaChange {
9
10
  });
10
11
  get creates(): `comment:${string}`[];
11
12
  get requires(): `schema:${string}`[];
12
- serialize(): string;
13
+ serialize(_options?: SerializeOptions): string;
13
14
  }
14
15
  export declare class DropCommentOnSchema extends DropSchemaChange {
15
16
  readonly schema: Schema;
@@ -19,5 +20,5 @@ export declare class DropCommentOnSchema extends DropSchemaChange {
19
20
  });
20
21
  get drops(): `comment:${string}`[];
21
22
  get requires(): (`schema:${string}` | `comment:${string}`)[];
22
- serialize(): string;
23
+ serialize(_options?: SerializeOptions): string;
23
24
  }
@@ -14,7 +14,7 @@ export class CreateCommentOnSchema extends CreateSchemaChange {
14
14
  get requires() {
15
15
  return [this.schema.stableId];
16
16
  }
17
- serialize() {
17
+ serialize(_options) {
18
18
  return [
19
19
  "COMMENT ON SCHEMA",
20
20
  this.schema.name,
@@ -37,7 +37,7 @@ export class DropCommentOnSchema extends DropSchemaChange {
37
37
  get requires() {
38
38
  return [stableId.comment(this.schema.stableId), this.schema.stableId];
39
39
  }
40
- serialize() {
40
+ serialize(_options) {
41
41
  return ["COMMENT ON SCHEMA", this.schema.name, "IS NULL"].join(" ");
42
42
  }
43
43
  }
@@ -1,3 +1,4 @@
1
+ import type { SchemaSerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Schema } from "../schema.model.ts";
2
3
  import { CreateSchemaChange } from "./schema.base.ts";
3
4
  /**
@@ -17,11 +18,8 @@ export declare class CreateSchema extends CreateSchemaChange {
17
18
  readonly scope: "object";
18
19
  constructor(props: {
19
20
  schema: Schema;
20
- skipAuthorization?: boolean;
21
- });
21
+ } & SchemaSerializeOptions);
22
22
  get creates(): `schema:${string}`[];
23
23
  get requires(): `role:${string}`[];
24
- serialize(options?: {
25
- skipAuthorization?: boolean;
26
- }): string;
24
+ serialize(options?: SchemaSerializeOptions): string;
27
25
  }
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Schema } from "../schema.model.ts";
2
3
  import { DropSchemaChange } from "./schema.base.ts";
3
4
  /**
@@ -18,5 +19,5 @@ export declare class DropSchema extends DropSchemaChange {
18
19
  });
19
20
  get drops(): `schema:${string}`[];
20
21
  get requires(): `schema:${string}`[];
21
- serialize(): string;
22
+ serialize(_options?: SerializeOptions): string;
22
23
  }
@@ -22,7 +22,7 @@ export class DropSchema extends DropSchemaChange {
22
22
  get requires() {
23
23
  return [this.schema.stableId];
24
24
  }
25
- serialize() {
25
+ serialize(_options) {
26
26
  return ["DROP SCHEMA", this.schema.name].join(" ");
27
27
  }
28
28
  }
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Schema } from "../schema.model.ts";
2
3
  import { AlterSchemaChange } from "./schema.base.ts";
3
4
  export type SchemaPrivilege = GrantSchemaPrivileges | RevokeSchemaPrivileges | RevokeGrantOptionSchemaPrivileges;
@@ -34,7 +35,7 @@ export declare class GrantSchemaPrivileges extends AlterSchemaChange {
34
35
  });
35
36
  get creates(): `acl:${string}::grantee:${string}`[];
36
37
  get requires(): (`schema:${string}` | `role:${string}`)[];
37
- serialize(): string;
38
+ serialize(_options?: SerializeOptions): string;
38
39
  }
39
40
  /**
40
41
  * Revoke privileges on a schema.
@@ -71,7 +72,7 @@ export declare class RevokeSchemaPrivileges extends AlterSchemaChange {
71
72
  });
72
73
  get drops(): `acl:${string}::grantee:${string}`[];
73
74
  get requires(): (`schema:${string}` | `acl:${string}::grantee:${string}` | `role:${string}`)[];
74
- serialize(): string;
75
+ serialize(_options?: SerializeOptions): string;
75
76
  }
76
77
  /**
77
78
  * Revoke grant option for privileges on a schema.
@@ -93,5 +94,5 @@ export declare class RevokeGrantOptionSchemaPrivileges extends AlterSchemaChange
93
94
  version?: number;
94
95
  });
95
96
  get requires(): (`schema:${string}` | `acl:${string}::grantee:${string}` | `role:${string}`)[];
96
- serialize(): string;
97
+ serialize(_options?: SerializeOptions): string;
97
98
  }
@@ -33,7 +33,7 @@ export class GrantSchemaPrivileges extends AlterSchemaChange {
33
33
  get requires() {
34
34
  return [this.schema.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) {
@@ -87,7 +87,7 @@ export class RevokeSchemaPrivileges extends AlterSchemaChange {
87
87
  stableId.role(this.grantee),
88
88
  ];
89
89
  }
90
- serialize() {
90
+ serialize(_options) {
91
91
  const kindPrefix = getObjectKindPrefix("SCHEMA");
92
92
  const list = this.privileges.map((p) => p.privilege);
93
93
  const privSql = formatObjectPrivilegeList("SCHEMA", list, this.version);
@@ -122,7 +122,7 @@ export class RevokeGrantOptionSchemaPrivileges extends AlterSchemaChange {
122
122
  stableId.role(this.grantee),
123
123
  ];
124
124
  }
125
- serialize() {
125
+ serialize(_options) {
126
126
  const kindPrefix = getObjectKindPrefix("SCHEMA");
127
127
  const privSql = formatObjectPrivilegeList("SCHEMA", this.privilegeNames, this.version);
128
128
  const schemaName = this.schema.name;
@@ -3,4 +3,5 @@ import type { CommentSchema } from "./schema.comment.ts";
3
3
  import type { CreateSchema } from "./schema.create.ts";
4
4
  import type { DropSchema } from "./schema.drop.ts";
5
5
  import type { SchemaPrivilege } from "./schema.privilege.ts";
6
+ /** Union of all schema-related change variants (`objectType: "schema"`). @category Change Types */
6
7
  export type SchemaChange = AlterSchema | CommentSchema | CreateSchema | DropSchema | SchemaPrivilege;
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Sequence } from "../sequence.model.ts";
2
3
  import { AlterSequenceChange } from "./sequence.base.ts";
3
4
  /**
@@ -35,7 +36,7 @@ export declare class AlterSequenceSetOwnedBy extends AlterSequenceChange {
35
36
  });
36
37
  get creates(): never[];
37
38
  get requires(): (`column:${string}.${string}.${string}` | `sequence:${string}`)[];
38
- serialize(): string;
39
+ serialize(_options?: SerializeOptions): string;
39
40
  }
40
41
  /**
41
42
  * ALTER SEQUENCE ... set options ...
@@ -51,7 +52,7 @@ export declare class AlterSequenceSetOptions extends AlterSequenceChange {
51
52
  });
52
53
  get creates(): never[];
53
54
  get requires(): `sequence:${string}`[];
54
- serialize(): string;
55
+ serialize(_options?: SerializeOptions): string;
55
56
  }
56
57
  /**
57
58
  * Replace a sequence by dropping and recreating it.
@@ -25,7 +25,7 @@ export class AlterSequenceSetOwnedBy extends AlterSequenceChange {
25
25
  : []),
26
26
  ];
27
27
  }
28
- serialize() {
28
+ serialize(_options) {
29
29
  const head = [
30
30
  "ALTER SEQUENCE",
31
31
  `${this.sequence.schema}.${this.sequence.name}`,
@@ -60,7 +60,7 @@ export class AlterSequenceSetOptions extends AlterSequenceChange {
60
60
  return [this.sequence.stableId];
61
61
  }
62
62
  // Note: default max computation moved to diff when building options
63
- serialize() {
63
+ serialize(_options) {
64
64
  const parts = [
65
65
  "ALTER SEQUENCE",
66
66
  `${this.sequence.schema}.${this.sequence.name}`,
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Sequence } from "../sequence.model.ts";
2
3
  import { CreateSequenceChange, DropSequenceChange } from "./sequence.base.ts";
3
4
  export type CommentSequence = CreateCommentOnSequence | DropCommentOnSequence;
@@ -9,7 +10,7 @@ export declare class CreateCommentOnSequence extends CreateSequenceChange {
9
10
  });
10
11
  get creates(): `comment:${string}`[];
11
12
  get requires(): `sequence:${string}`[];
12
- serialize(): string;
13
+ serialize(_options?: SerializeOptions): string;
13
14
  }
14
15
  export declare class DropCommentOnSequence extends DropSequenceChange {
15
16
  readonly sequence: Sequence;
@@ -19,5 +20,5 @@ export declare class DropCommentOnSequence extends DropSequenceChange {
19
20
  });
20
21
  get drops(): `comment:${string}`[];
21
22
  get requires(): (`comment:${string}` | `sequence:${string}`)[];
22
- serialize(): string;
23
+ serialize(_options?: SerializeOptions): string;
23
24
  }
@@ -14,7 +14,7 @@ export class CreateCommentOnSequence extends CreateSequenceChange {
14
14
  get requires() {
15
15
  return [this.sequence.stableId];
16
16
  }
17
- serialize() {
17
+ serialize(_options) {
18
18
  return [
19
19
  "COMMENT ON SEQUENCE",
20
20
  `${this.sequence.schema}.${this.sequence.name}`,
@@ -37,7 +37,7 @@ export class DropCommentOnSequence extends DropSequenceChange {
37
37
  get requires() {
38
38
  return [stableId.comment(this.sequence.stableId), this.sequence.stableId];
39
39
  }
40
- serialize() {
40
+ serialize(_options) {
41
41
  return [
42
42
  "COMMENT ON SEQUENCE",
43
43
  `${this.sequence.schema}.${this.sequence.name}`,
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Sequence } from "../sequence.model.ts";
2
3
  import { CreateSequenceChange } from "./sequence.base.ts";
3
4
  /**
@@ -21,5 +22,5 @@ export declare class CreateSequence extends CreateSequenceChange {
21
22
  });
22
23
  get creates(): `sequence:${string}`[];
23
24
  get requires(): string[];
24
- serialize(): string;
25
+ serialize(_options?: SerializeOptions): string;
25
26
  }
@@ -38,7 +38,7 @@ export class CreateSequence extends CreateSequenceChange {
38
38
  }
39
39
  return Array.from(dependencies);
40
40
  }
41
- serialize() {
41
+ serialize(_options) {
42
42
  const parts = ["CREATE SEQUENCE"];
43
43
  // Add schema and name
44
44
  parts.push(`${this.sequence.schema}.${this.sequence.name}`);
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Sequence } from "../sequence.model.ts";
2
3
  import { DropSequenceChange } from "./sequence.base.ts";
3
4
  /**
@@ -18,5 +19,5 @@ export declare class DropSequence extends DropSequenceChange {
18
19
  });
19
20
  get drops(): `sequence:${string}`[];
20
21
  get requires(): `sequence:${string}`[];
21
- serialize(): string;
22
+ serialize(_options?: SerializeOptions): string;
22
23
  }