@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
@@ -3,4 +3,5 @@ import type { CommentServer } from "./server.comment.ts";
3
3
  import type { CreateServer } from "./server.create.ts";
4
4
  import type { DropServer } from "./server.drop.ts";
5
5
  import type { ServerPrivilege } from "./server.privilege.ts";
6
+ /** Union of all server-related change variants (`objectType: "server"`). @category Change Types */
6
7
  export type ServerChange = AlterServer | CommentServer | CreateServer | DropServer | ServerPrivilege;
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
1
2
  import type { UserMapping } from "../user-mapping.model.ts";
2
3
  import { AlterUserMappingChange } from "./user-mapping.base.ts";
3
4
  /**
@@ -33,5 +34,5 @@ export declare class AlterUserMappingSetOptions extends AlterUserMappingChange {
33
34
  }>;
34
35
  });
35
36
  get requires(): `userMapping:${string}:${string}`[];
36
- serialize(): string;
37
+ serialize(_options?: SerializeOptions): string;
37
38
  }
@@ -15,7 +15,7 @@ export class AlterUserMappingSetOptions extends AlterUserMappingChange {
15
15
  get requires() {
16
16
  return [this.userMapping.stableId];
17
17
  }
18
- serialize() {
18
+ serialize(_options) {
19
19
  const optionParts = [];
20
20
  for (const opt of this.options) {
21
21
  if (opt.action === "DROP") {
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
1
2
  import type { UserMapping } from "../user-mapping.model.ts";
2
3
  import { CreateUserMappingChange } from "./user-mapping.base.ts";
3
4
  /**
@@ -20,5 +21,5 @@ export declare class CreateUserMapping extends CreateUserMappingChange {
20
21
  });
21
22
  get creates(): `userMapping:${string}:${string}`[];
22
23
  get requires(): string[];
23
- serialize(): string;
24
+ serialize(_options?: SerializeOptions): string;
24
25
  }
@@ -29,7 +29,7 @@ export class CreateUserMapping extends CreateUserMappingChange {
29
29
  dependencies.add(stableId.server(this.userMapping.server));
30
30
  return Array.from(dependencies);
31
31
  }
32
- serialize() {
32
+ serialize(_options) {
33
33
  const parts = ["CREATE USER MAPPING FOR"];
34
34
  // Add user (can be CURRENT_USER, PUBLIC, etc.)
35
35
  parts.push(this.userMapping.user);
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
1
2
  import type { UserMapping } from "../user-mapping.model.ts";
2
3
  import { DropUserMappingChange } from "./user-mapping.base.ts";
3
4
  /**
@@ -19,5 +20,5 @@ export declare class DropUserMapping extends DropUserMappingChange {
19
20
  });
20
21
  get drops(): `userMapping:${string}:${string}`[];
21
22
  get requires(): `userMapping:${string}:${string}`[];
22
- serialize(): string;
23
+ serialize(_options?: SerializeOptions): string;
23
24
  }
@@ -23,7 +23,7 @@ export class DropUserMapping extends DropUserMappingChange {
23
23
  get requires() {
24
24
  return [this.userMapping.stableId];
25
25
  }
26
- serialize() {
26
+ serialize(_options) {
27
27
  return [
28
28
  "DROP USER MAPPING FOR",
29
29
  this.userMapping.user,
@@ -1,4 +1,5 @@
1
1
  import type { AlterUserMapping } from "./user-mapping.alter.ts";
2
2
  import type { CreateUserMapping } from "./user-mapping.create.ts";
3
3
  import type { DropUserMapping } from "./user-mapping.drop.ts";
4
+ /** Union of all user-mapping-related change variants (`objectType: "user_mapping"`). @category Change Types */
4
5
  export type UserMappingChange = AlterUserMapping | CreateUserMapping | DropUserMapping;
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import { BaseChange } from "../../base.change.ts";
2
3
  import type { Index } from "../index.model.ts";
3
4
  import { AlterIndexChange } from "./index.base.ts";
@@ -30,7 +31,7 @@ export declare class AlterIndexSetStorageParams extends AlterIndexChange {
30
31
  keysToReset: string[];
31
32
  });
32
33
  get requires(): `index:${string}`[];
33
- serialize(): string;
34
+ serialize(_options?: SerializeOptions): string;
34
35
  }
35
36
  /**
36
37
  * ALTER INDEX ... SET STATISTICS ...
@@ -52,7 +53,7 @@ export declare class AlterIndexSetStatistics extends BaseChange {
52
53
  }>;
53
54
  });
54
55
  get requires(): `index:${string}`[];
55
- serialize(): string;
56
+ serialize(_options?: SerializeOptions): string;
56
57
  }
57
58
  /**
58
59
  * ALTER INDEX ... SET TABLESPACE ...
@@ -68,7 +69,7 @@ export declare class AlterIndexSetTablespace extends BaseChange {
68
69
  tablespace: string;
69
70
  });
70
71
  get requires(): `index:${string}`[];
71
- serialize(): string;
72
+ serialize(_options?: SerializeOptions): string;
72
73
  }
73
74
  /**
74
75
  * Replace an index by dropping and recreating it.
@@ -17,7 +17,7 @@ export class AlterIndexSetStorageParams extends AlterIndexChange {
17
17
  get requires() {
18
18
  return [this.index.stableId];
19
19
  }
20
- serialize() {
20
+ serialize(_options) {
21
21
  const head = [
22
22
  "ALTER INDEX",
23
23
  `${this.index.schema}.${this.index.name}`,
@@ -49,7 +49,7 @@ export class AlterIndexSetStatistics extends BaseChange {
49
49
  get requires() {
50
50
  return [this.index.stableId];
51
51
  }
52
- serialize() {
52
+ serialize(_options) {
53
53
  const statements = [];
54
54
  const head = [
55
55
  "ALTER INDEX",
@@ -78,7 +78,7 @@ export class AlterIndexSetTablespace extends BaseChange {
78
78
  get requires() {
79
79
  return [this.index.stableId];
80
80
  }
81
- serialize() {
81
+ serialize(_options) {
82
82
  return [
83
83
  "ALTER INDEX",
84
84
  `${this.index.schema}.${this.index.name}`,
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Index } from "../index.model.ts";
2
3
  import { CreateIndexChange, DropIndexChange } from "./index.base.ts";
3
4
  export type CommentIndex = CreateCommentOnIndex | DropCommentOnIndex;
@@ -12,7 +13,7 @@ export declare class CreateCommentOnIndex extends CreateIndexChange {
12
13
  });
13
14
  get creates(): `comment:${string}`[];
14
15
  get requires(): `index:${string}`[];
15
- serialize(): string;
16
+ serialize(_options?: SerializeOptions): string;
16
17
  }
17
18
  export declare class DropCommentOnIndex extends DropIndexChange {
18
19
  readonly index: Index;
@@ -22,5 +23,5 @@ export declare class DropCommentOnIndex extends DropIndexChange {
22
23
  });
23
24
  get drops(): `comment:${string}`[];
24
25
  get requires(): (`comment:${string}` | `index:${string}`)[];
25
- serialize(): string;
26
+ serialize(_options?: SerializeOptions): string;
26
27
  }
@@ -17,7 +17,7 @@ export class CreateCommentOnIndex extends CreateIndexChange {
17
17
  get requires() {
18
18
  return [this.index.stableId];
19
19
  }
20
- serialize() {
20
+ serialize(_options) {
21
21
  return [
22
22
  "COMMENT ON INDEX",
23
23
  `${this.index.schema}.${this.index.name}`,
@@ -40,7 +40,7 @@ export class DropCommentOnIndex extends DropIndexChange {
40
40
  get requires() {
41
41
  return [stableId.comment(this.index.stableId), this.index.stableId];
42
42
  }
43
- serialize() {
43
+ serialize(_options) {
44
44
  return [
45
45
  "COMMENT ON INDEX",
46
46
  `${this.index.schema}.${this.index.name}`,
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { TableLikeObject } from "../../base.model.ts";
2
3
  import type { Index } from "../index.model.ts";
3
4
  import { CreateIndexChange } from "./index.base.ts";
@@ -26,5 +27,5 @@ export declare class CreateIndex extends CreateIndexChange {
26
27
  });
27
28
  get creates(): `index:${string}`[];
28
29
  get requires(): string[];
29
- serialize(): string;
30
+ serialize(_options?: SerializeOptions): string;
30
31
  }
@@ -39,7 +39,7 @@ export class CreateIndex extends CreateIndexChange {
39
39
  dependencies.add(stableId.role(this.index.owner));
40
40
  return Array.from(dependencies);
41
41
  }
42
- serialize() {
42
+ serialize(_options) {
43
43
  let definition = this.index.definition;
44
44
  // btree being the default, we can omit it
45
45
  definition = definition.replace(" USING btree", "");
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Index } from "../index.model.ts";
2
3
  import { DropIndexChange } from "./index.base.ts";
3
4
  /**
@@ -18,5 +19,5 @@ export declare class DropIndex extends DropIndexChange {
18
19
  });
19
20
  get drops(): `index:${string}`[];
20
21
  get requires(): `index:${string}`[];
21
- serialize(): string;
22
+ serialize(_options?: SerializeOptions): string;
22
23
  }
@@ -22,7 +22,7 @@ export class DropIndex extends DropIndexChange {
22
22
  get requires() {
23
23
  return [this.index.stableId];
24
24
  }
25
- serialize() {
25
+ serialize(_options) {
26
26
  return ["DROP INDEX", `${this.index.schema}.${this.index.name}`].join(" ");
27
27
  }
28
28
  }
@@ -2,4 +2,5 @@ import type { AlterIndex } from "./index.alter.ts";
2
2
  import type { CommentIndex } from "./index.comment.ts";
3
3
  import type { CreateIndex } from "./index.create.ts";
4
4
  import type { DropIndex } from "./index.drop.ts";
5
+ /** Union of all index-related change variants (`objectType: "index"`). @category Change Types */
5
6
  export type IndexChange = AlterIndex | CommentIndex | CreateIndex | DropIndex;
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Language } from "../language.model.ts";
2
3
  import { AlterLanguageChange } from "./language.base.ts";
3
4
  /**
@@ -24,7 +25,7 @@ export declare class AlterLanguageChangeOwner extends AlterLanguageChange {
24
25
  owner: string;
25
26
  });
26
27
  get requires(): `language:${string}`[];
27
- serialize(): string;
28
+ serialize(_options?: SerializeOptions): string;
28
29
  }
29
30
  /**
30
31
  * Replace a language.
@@ -14,7 +14,7 @@ export class AlterLanguageChangeOwner extends AlterLanguageChange {
14
14
  get requires() {
15
15
  return [this.language.stableId];
16
16
  }
17
- serialize() {
17
+ serialize(_options) {
18
18
  const parts = ["ALTER"];
19
19
  // Do not print the optional PROCEDURAL keyword.
20
20
  // It is syntactic noise and the default for procedural languages,
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Language } from "../language.model.ts";
2
3
  import { CreateLanguageChange, DropLanguageChange } from "./language.base.ts";
3
4
  export type CommentLanguage = CreateCommentOnLanguage | DropCommentOnLanguage;
@@ -12,7 +13,7 @@ export declare class CreateCommentOnLanguage extends CreateLanguageChange {
12
13
  });
13
14
  get creates(): `comment:${string}`[];
14
15
  get requires(): `language:${string}`[];
15
- serialize(): string;
16
+ serialize(_options?: SerializeOptions): string;
16
17
  }
17
18
  export declare class DropCommentOnLanguage extends DropLanguageChange {
18
19
  readonly language: Language;
@@ -22,5 +23,5 @@ export declare class DropCommentOnLanguage extends DropLanguageChange {
22
23
  });
23
24
  get drops(): `comment:${string}`[];
24
25
  get requires(): (`comment:${string}` | `language:${string}`)[];
25
- serialize(): string;
26
+ serialize(_options?: SerializeOptions): string;
26
27
  }
@@ -17,7 +17,7 @@ export class CreateCommentOnLanguage extends CreateLanguageChange {
17
17
  get requires() {
18
18
  return [this.language.stableId];
19
19
  }
20
- serialize() {
20
+ serialize(_options) {
21
21
  return [
22
22
  "COMMENT ON LANGUAGE",
23
23
  this.language.name,
@@ -39,7 +39,7 @@ export class DropCommentOnLanguage extends DropLanguageChange {
39
39
  get requires() {
40
40
  return [stableId.comment(this.language.stableId), this.language.stableId];
41
41
  }
42
- serialize() {
42
+ serialize(_options) {
43
43
  return ["COMMENT ON LANGUAGE", this.language.name, "IS NULL"].join(" ");
44
44
  }
45
45
  }
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Language } from "../language.model.ts";
2
3
  import { CreateLanguageChange } from "./language.base.ts";
3
4
  /**
@@ -21,5 +22,5 @@ export declare class CreateLanguage extends CreateLanguageChange {
21
22
  });
22
23
  get creates(): `language:${string}`[];
23
24
  get requires(): string[];
24
- serialize(): string;
25
+ serialize(_options?: SerializeOptions): string;
25
26
  }
@@ -50,7 +50,7 @@ export class CreateLanguage extends CreateLanguageChange {
50
50
  }
51
51
  return Array.from(dependencies);
52
52
  }
53
- serialize() {
53
+ serialize(_options) {
54
54
  const parts = [`CREATE${this.orReplace ? " OR REPLACE" : ""}`];
55
55
  // Only include non-default flags. We never print the optional
56
56
  // PROCEDURAL keyword or any defaults.
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Language } from "../language.model.ts";
2
3
  import { DropLanguageChange } from "./language.base.ts";
3
4
  /**
@@ -18,5 +19,5 @@ export declare class DropLanguage extends DropLanguageChange {
18
19
  });
19
20
  get drops(): `language:${string}`[];
20
21
  get requires(): `language:${string}`[];
21
- serialize(): string;
22
+ serialize(_options?: SerializeOptions): string;
22
23
  }
@@ -22,7 +22,7 @@ export class DropLanguage extends DropLanguageChange {
22
22
  get requires() {
23
23
  return [this.language.stableId];
24
24
  }
25
- serialize() {
25
+ serialize(_options) {
26
26
  const parts = ["DROP"];
27
27
  // Do not print optional keywords (e.g., PROCEDURAL). Keep the statement minimal.
28
28
  parts.push("LANGUAGE", this.language.name);
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Language } from "../language.model.ts";
2
3
  import { AlterLanguageChange } from "./language.base.ts";
3
4
  export type LanguagePrivilege = GrantLanguagePrivileges | RevokeLanguagePrivileges | RevokeGrantOptionLanguagePrivileges;
@@ -34,7 +35,7 @@ export declare class GrantLanguagePrivileges extends AlterLanguageChange {
34
35
  });
35
36
  get creates(): `acl:${string}::grantee:${string}`[];
36
37
  get requires(): (`role:${string}` | `language:${string}`)[];
37
- serialize(): string;
38
+ serialize(_options?: SerializeOptions): string;
38
39
  }
39
40
  /**
40
41
  * Revoke privileges on a language.
@@ -71,7 +72,7 @@ export declare class RevokeLanguagePrivileges extends AlterLanguageChange {
71
72
  });
72
73
  get drops(): `acl:${string}::grantee:${string}`[];
73
74
  get requires(): (`acl:${string}::grantee:${string}` | `role:${string}` | `language:${string}`)[];
74
- serialize(): string;
75
+ serialize(_options?: SerializeOptions): string;
75
76
  }
76
77
  /**
77
78
  * Revoke grant option for privileges on a language.
@@ -93,5 +94,5 @@ export declare class RevokeGrantOptionLanguagePrivileges extends AlterLanguageCh
93
94
  version?: number;
94
95
  });
95
96
  get requires(): (`acl:${string}::grantee:${string}` | `role:${string}` | `language:${string}`)[];
96
- serialize(): string;
97
+ serialize(_options?: SerializeOptions): string;
97
98
  }
@@ -33,7 +33,7 @@ export class GrantLanguagePrivileges extends AlterLanguageChange {
33
33
  get requires() {
34
34
  return [this.language.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) {
@@ -86,7 +86,7 @@ export class RevokeLanguagePrivileges extends AlterLanguageChange {
86
86
  stableId.role(this.grantee),
87
87
  ];
88
88
  }
89
- serialize() {
89
+ serialize(_options) {
90
90
  const kindPrefix = getObjectKindPrefix("LANGUAGE");
91
91
  const list = this.privileges.map((p) => p.privilege);
92
92
  const privSql = formatObjectPrivilegeList("LANGUAGE", list, this.version);
@@ -120,7 +120,7 @@ export class RevokeGrantOptionLanguagePrivileges extends AlterLanguageChange {
120
120
  stableId.role(this.grantee),
121
121
  ];
122
122
  }
123
- serialize() {
123
+ serialize(_options) {
124
124
  const kindPrefix = getObjectKindPrefix("LANGUAGE");
125
125
  const privSql = formatObjectPrivilegeList("LANGUAGE", this.privilegeNames, this.version);
126
126
  return `REVOKE GRANT OPTION FOR ${privSql} ${kindPrefix} ${this.language.name} FROM ${this.grantee}`;
@@ -3,4 +3,5 @@ import type { CommentLanguage } from "./language.comment.ts";
3
3
  import type { CreateLanguage } from "./language.create.ts";
4
4
  import type { DropLanguage } from "./language.drop.ts";
5
5
  import type { LanguagePrivilege } from "./language.privilege.ts";
6
+ /** Union of all language-related change variants (`objectType: "language"`). @category Change Types */
6
7
  export type LanguageChange = AlterLanguage | CommentLanguage | CreateLanguage | DropLanguage | LanguagePrivilege;
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { MaterializedView } from "../materialized-view.model.ts";
2
3
  import { AlterMaterializedViewChange } from "./materialized-view.base.ts";
3
4
  /**
@@ -42,7 +43,7 @@ export declare class AlterMaterializedViewChangeOwner extends AlterMaterializedV
42
43
  owner: string;
43
44
  });
44
45
  get requires(): `materializedView:${string}`[];
45
- serialize(): string;
46
+ serialize(_options?: SerializeOptions): string;
46
47
  }
47
48
  /**
48
49
  * ALTER MATERIALIZED VIEW ... SET/RESET ( storage_parameter ... )
@@ -59,7 +60,7 @@ export declare class AlterMaterializedViewSetStorageParams extends AlterMaterial
59
60
  keysToReset: string[];
60
61
  });
61
62
  get requires(): `materializedView:${string}`[];
62
- serialize(): string;
63
+ serialize(_options?: SerializeOptions): string;
63
64
  }
64
65
  /**
65
66
  * Replace a materialized view by dropping and recreating it.
@@ -14,7 +14,7 @@ export class AlterMaterializedViewChangeOwner extends AlterMaterializedViewChang
14
14
  get requires() {
15
15
  return [this.materializedView.stableId];
16
16
  }
17
- serialize() {
17
+ serialize(_options) {
18
18
  return [
19
19
  "ALTER MATERIALIZED VIEW",
20
20
  `${this.materializedView.schema}.${this.materializedView.name}`,
@@ -41,7 +41,7 @@ export class AlterMaterializedViewSetStorageParams extends AlterMaterializedView
41
41
  get requires() {
42
42
  return [this.materializedView.stableId];
43
43
  }
44
- serialize() {
44
+ serialize(_options) {
45
45
  const head = [
46
46
  "ALTER MATERIALIZED VIEW",
47
47
  `${this.materializedView.schema}.${this.materializedView.name}`,
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { ColumnProps } from "../../base.model.ts";
2
3
  import type { MaterializedView } from "../materialized-view.model.ts";
3
4
  import { CreateMaterializedViewChange, DropMaterializedViewChange } from "./materialized-view.base.ts";
@@ -15,7 +16,7 @@ export declare class CreateCommentOnMaterializedView extends CreateMaterializedV
15
16
  });
16
17
  get creates(): `comment:${string}`[];
17
18
  get requires(): `materializedView:${string}`[];
18
- serialize(): string;
19
+ serialize(_options?: SerializeOptions): string;
19
20
  }
20
21
  export declare class DropCommentOnMaterializedView extends DropMaterializedViewChange {
21
22
  readonly materializedView: MaterializedView;
@@ -25,7 +26,7 @@ export declare class DropCommentOnMaterializedView extends DropMaterializedViewC
25
26
  });
26
27
  get drops(): `comment:${string}`[];
27
28
  get requires(): (`comment:${string}` | `materializedView:${string}`)[];
28
- serialize(): string;
29
+ serialize(_options?: SerializeOptions): string;
29
30
  }
30
31
  export declare class CreateCommentOnMaterializedViewColumn extends CreateMaterializedViewChange {
31
32
  readonly materializedView: MaterializedView;
@@ -37,7 +38,7 @@ export declare class CreateCommentOnMaterializedViewColumn extends CreateMateria
37
38
  });
38
39
  get creates(): `comment:${string}`[];
39
40
  get requires(): `column:${string}.${string}.${string}`[];
40
- serialize(): string;
41
+ serialize(_options?: SerializeOptions): string;
41
42
  }
42
43
  export declare class DropCommentOnMaterializedViewColumn extends DropMaterializedViewChange {
43
44
  readonly materializedView: MaterializedView;
@@ -49,5 +50,5 @@ export declare class DropCommentOnMaterializedViewColumn extends DropMaterialize
49
50
  });
50
51
  get drops(): `comment:${string}`[];
51
52
  get requires(): (`column:${string}.${string}.${string}` | `comment:${string}`)[];
52
- serialize(): string;
53
+ serialize(_options?: SerializeOptions): string;
53
54
  }
@@ -19,7 +19,7 @@ export class CreateCommentOnMaterializedView extends CreateMaterializedViewChang
19
19
  get requires() {
20
20
  return [this.materializedView.stableId];
21
21
  }
22
- serialize() {
22
+ serialize(_options) {
23
23
  return [
24
24
  "COMMENT ON MATERIALIZED VIEW",
25
25
  `${this.materializedView.schema}.${this.materializedView.name}`,
@@ -45,7 +45,7 @@ export class DropCommentOnMaterializedView extends DropMaterializedViewChange {
45
45
  this.materializedView.stableId,
46
46
  ];
47
47
  }
48
- serialize() {
48
+ serialize(_options) {
49
49
  return [
50
50
  "COMMENT ON MATERIALIZED VIEW",
51
51
  `${this.materializedView.schema}.${this.materializedView.name}`,
@@ -72,7 +72,7 @@ export class CreateCommentOnMaterializedViewColumn extends CreateMaterializedVie
72
72
  stableId.column(this.materializedView.schema, this.materializedView.name, this.column.name),
73
73
  ];
74
74
  }
75
- serialize() {
75
+ serialize(_options) {
76
76
  return [
77
77
  "COMMENT ON COLUMN",
78
78
  `${this.materializedView.schema}.${this.materializedView.name}.${this.column.name}`,
@@ -102,7 +102,7 @@ export class DropCommentOnMaterializedViewColumn extends DropMaterializedViewCha
102
102
  stableId.column(this.materializedView.schema, this.materializedView.name, this.column.name),
103
103
  ];
104
104
  }
105
- serialize() {
105
+ serialize(_options) {
106
106
  return [
107
107
  "COMMENT ON COLUMN",
108
108
  `${this.materializedView.schema}.${this.materializedView.name}.${this.column.name}`,
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { MaterializedView } from "../materialized-view.model.ts";
2
3
  import { CreateMaterializedViewChange } from "./materialized-view.base.ts";
3
4
  /**
@@ -31,5 +32,5 @@ export declare class CreateMaterializedView extends CreateMaterializedViewChange
31
32
  });
32
33
  get creates(): (`column:${string}.${string}.${string}` | `materializedView:${string}`)[];
33
34
  get requires(): string[];
34
- serialize(): string;
35
+ serialize(_options?: SerializeOptions): string;
35
36
  }
@@ -46,7 +46,7 @@ export class CreateMaterializedView extends CreateMaterializedViewChange {
46
46
  // for existing objects. For new objects, parsing the SQL definition would be complex.
47
47
  return Array.from(dependencies);
48
48
  }
49
- serialize() {
49
+ serialize(_options) {
50
50
  const parts = ["CREATE MATERIALIZED VIEW"];
51
51
  // Add schema and name
52
52
  parts.push(`${this.materializedView.schema}.${this.materializedView.name}`);
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { MaterializedView } from "../materialized-view.model.ts";
2
3
  import { DropMaterializedViewChange } from "./materialized-view.base.ts";
3
4
  /**
@@ -22,5 +23,5 @@ export declare class DropMaterializedView extends DropMaterializedViewChange {
22
23
  });
23
24
  get drops(): (`column:${string}.${string}.${string}` | `materializedView:${string}`)[];
24
25
  get requires(): (`column:${string}.${string}.${string}` | `materializedView:${string}`)[];
25
- serialize(): string;
26
+ serialize(_options?: SerializeOptions): string;
26
27
  }
@@ -33,7 +33,7 @@ export class DropMaterializedView extends DropMaterializedViewChange {
33
33
  ...this.materializedView.columns.map((column) => stableId.column(this.materializedView.schema, this.materializedView.name, column.name)),
34
34
  ];
35
35
  }
36
- serialize() {
36
+ serialize(_options) {
37
37
  return [
38
38
  "DROP MATERIALIZED VIEW",
39
39
  `${this.materializedView.schema}.${this.materializedView.name}`,
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { MaterializedView } from "../materialized-view.model.ts";
2
3
  import { AlterMaterializedViewChange } from "./materialized-view.base.ts";
3
4
  export type MaterializedViewPrivilege = GrantMaterializedViewPrivileges | RevokeMaterializedViewPrivileges | RevokeGrantOptionMaterializedViewPrivileges;
@@ -37,7 +38,7 @@ export declare class GrantMaterializedViewPrivileges extends AlterMaterializedVi
37
38
  });
38
39
  get creates(): `acl:${string}::grantee:${string}`[];
39
40
  get requires(): (`role:${string}` | `materializedView:${string}`)[];
40
- serialize(): string;
41
+ serialize(_options?: SerializeOptions): string;
41
42
  }
42
43
  /**
43
44
  * Revoke privileges on a materialized view.
@@ -77,7 +78,7 @@ export declare class RevokeMaterializedViewPrivileges extends AlterMaterializedV
77
78
  });
78
79
  get drops(): `acl:${string}::grantee:${string}`[];
79
80
  get requires(): (`acl:${string}::grantee:${string}` | `role:${string}` | `materializedView:${string}`)[];
80
- serialize(): string;
81
+ serialize(_options?: SerializeOptions): string;
81
82
  }
82
83
  /**
83
84
  * Revoke grant option for privileges on a materialized view.
@@ -101,5 +102,5 @@ export declare class RevokeGrantOptionMaterializedViewPrivileges extends AlterMa
101
102
  version?: number;
102
103
  });
103
104
  get requires(): (`acl:${string}::grantee:${string}` | `role:${string}` | `materializedView:${string}`)[];
104
- serialize(): string;
105
+ serialize(_options?: SerializeOptions): string;
105
106
  }
@@ -38,7 +38,7 @@ export class GrantMaterializedViewPrivileges extends AlterMaterializedViewChange
38
38
  get requires() {
39
39
  return [this.materializedView.stableId, stableId.role(this.grantee)];
40
40
  }
41
- serialize() {
41
+ serialize(_options) {
42
42
  const hasGrantable = this.privileges.some((p) => p.grantable);
43
43
  const hasBase = this.privileges.some((p) => !p.grantable);
44
44
  if (hasGrantable && hasBase) {
@@ -99,7 +99,7 @@ export class RevokeMaterializedViewPrivileges extends AlterMaterializedViewChang
99
99
  stableId.role(this.grantee),
100
100
  ];
101
101
  }
102
- serialize() {
102
+ serialize(_options) {
103
103
  const kindPrefix = getObjectKindPrefix("MATERIALIZED VIEW");
104
104
  const list = this.privileges.map((p) => p.privilege);
105
105
  const privSql = formatObjectPrivilegeList("MATERIALIZED VIEW", list, this.version);
@@ -140,7 +140,7 @@ export class RevokeGrantOptionMaterializedViewPrivileges extends AlterMaterializ
140
140
  stableId.role(this.grantee),
141
141
  ];
142
142
  }
143
- serialize() {
143
+ serialize(_options) {
144
144
  const kindPrefix = getObjectKindPrefix("MATERIALIZED VIEW");
145
145
  const privSql = formatObjectPrivilegeList("MATERIALIZED VIEW", this.privilegeNames, this.version);
146
146
  const materializedViewName = `${this.materializedView.schema}.${this.materializedView.name}`;
@@ -3,4 +3,5 @@ import type { CommentMaterializedView } from "./materialized-view.comment.ts";
3
3
  import type { CreateMaterializedView } from "./materialized-view.create.ts";
4
4
  import type { DropMaterializedView } from "./materialized-view.drop.ts";
5
5
  import type { MaterializedViewPrivilege } from "./materialized-view.privilege.ts";
6
+ /** Union of all materialized-view-related change variants (`objectType: "materialized_view"`). @category Change Types */
6
7
  export type MaterializedViewChange = AlterMaterializedView | CommentMaterializedView | CreateMaterializedView | DropMaterializedView | MaterializedViewPrivilege;