@supabase/pg-delta 1.0.0-alpha.11 → 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 (387) hide show
  1. package/dist/core/expand-replace-dependencies.js +23 -0
  2. package/dist/core/integrations/serialize/dsl.d.ts +1 -8
  3. package/dist/core/integrations/serialize/serialize.types.d.ts +31 -0
  4. package/dist/core/integrations/supabase.js +19 -0
  5. package/dist/core/objects/aggregate/changes/aggregate.alter.d.ts +2 -1
  6. package/dist/core/objects/aggregate/changes/aggregate.alter.js +1 -1
  7. package/dist/core/objects/aggregate/changes/aggregate.comment.d.ts +3 -2
  8. package/dist/core/objects/aggregate/changes/aggregate.comment.js +2 -2
  9. package/dist/core/objects/aggregate/changes/aggregate.create.d.ts +2 -1
  10. package/dist/core/objects/aggregate/changes/aggregate.create.js +1 -1
  11. package/dist/core/objects/aggregate/changes/aggregate.drop.d.ts +2 -1
  12. package/dist/core/objects/aggregate/changes/aggregate.drop.js +1 -1
  13. package/dist/core/objects/aggregate/changes/aggregate.privilege.d.ts +4 -3
  14. package/dist/core/objects/aggregate/changes/aggregate.privilege.js +3 -3
  15. package/dist/core/objects/base.change.d.ts +2 -1
  16. package/dist/core/objects/collation/changes/collation.alter.d.ts +3 -2
  17. package/dist/core/objects/collation/changes/collation.alter.js +2 -2
  18. package/dist/core/objects/collation/changes/collation.comment.d.ts +3 -2
  19. package/dist/core/objects/collation/changes/collation.comment.js +2 -2
  20. package/dist/core/objects/collation/changes/collation.create.d.ts +2 -1
  21. package/dist/core/objects/collation/changes/collation.create.js +1 -1
  22. package/dist/core/objects/collation/changes/collation.drop.d.ts +2 -1
  23. package/dist/core/objects/collation/changes/collation.drop.js +1 -1
  24. package/dist/core/objects/domain/changes/domain.alter.d.ts +9 -8
  25. package/dist/core/objects/domain/changes/domain.alter.js +8 -8
  26. package/dist/core/objects/domain/changes/domain.comment.d.ts +3 -2
  27. package/dist/core/objects/domain/changes/domain.comment.js +2 -2
  28. package/dist/core/objects/domain/changes/domain.create.d.ts +2 -1
  29. package/dist/core/objects/domain/changes/domain.create.js +1 -1
  30. package/dist/core/objects/domain/changes/domain.drop.d.ts +2 -1
  31. package/dist/core/objects/domain/changes/domain.drop.js +1 -1
  32. package/dist/core/objects/domain/changes/domain.privilege.d.ts +4 -3
  33. package/dist/core/objects/domain/changes/domain.privilege.js +3 -3
  34. package/dist/core/objects/event-trigger/changes/event-trigger.alter.d.ts +3 -2
  35. package/dist/core/objects/event-trigger/changes/event-trigger.alter.js +2 -2
  36. package/dist/core/objects/event-trigger/changes/event-trigger.comment.d.ts +3 -2
  37. package/dist/core/objects/event-trigger/changes/event-trigger.comment.js +2 -2
  38. package/dist/core/objects/event-trigger/changes/event-trigger.create.d.ts +2 -1
  39. package/dist/core/objects/event-trigger/changes/event-trigger.create.js +1 -1
  40. package/dist/core/objects/event-trigger/changes/event-trigger.drop.d.ts +2 -1
  41. package/dist/core/objects/event-trigger/changes/event-trigger.drop.js +1 -1
  42. package/dist/core/objects/extension/changes/extension.alter.d.ts +3 -2
  43. package/dist/core/objects/extension/changes/extension.alter.js +2 -2
  44. package/dist/core/objects/extension/changes/extension.comment.d.ts +3 -2
  45. package/dist/core/objects/extension/changes/extension.comment.js +2 -2
  46. package/dist/core/objects/extension/changes/extension.create.d.ts +2 -1
  47. package/dist/core/objects/extension/changes/extension.create.js +4 -2
  48. package/dist/core/objects/extension/changes/extension.drop.d.ts +2 -1
  49. package/dist/core/objects/extension/changes/extension.drop.js +1 -1
  50. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.alter.d.ts +3 -2
  51. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.alter.js +2 -2
  52. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.comment.d.ts +3 -2
  53. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.comment.js +2 -2
  54. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.create.d.ts +2 -1
  55. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.create.js +1 -1
  56. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.drop.d.ts +2 -1
  57. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.drop.js +1 -1
  58. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.privilege.d.ts +4 -3
  59. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.privilege.js +3 -3
  60. package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.alter.d.ts +10 -9
  61. package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.alter.js +9 -9
  62. package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.comment.d.ts +3 -2
  63. package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.comment.js +2 -2
  64. package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.create.d.ts +2 -1
  65. package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.create.js +1 -1
  66. package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.drop.d.ts +2 -1
  67. package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.drop.js +1 -1
  68. package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.privilege.d.ts +4 -3
  69. package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.privilege.js +3 -3
  70. package/dist/core/objects/foreign-data-wrapper/server/changes/server.alter.d.ts +4 -3
  71. package/dist/core/objects/foreign-data-wrapper/server/changes/server.alter.js +3 -3
  72. package/dist/core/objects/foreign-data-wrapper/server/changes/server.comment.d.ts +3 -2
  73. package/dist/core/objects/foreign-data-wrapper/server/changes/server.comment.js +2 -2
  74. package/dist/core/objects/foreign-data-wrapper/server/changes/server.create.d.ts +2 -1
  75. package/dist/core/objects/foreign-data-wrapper/server/changes/server.create.js +1 -1
  76. package/dist/core/objects/foreign-data-wrapper/server/changes/server.drop.d.ts +2 -1
  77. package/dist/core/objects/foreign-data-wrapper/server/changes/server.drop.js +1 -1
  78. package/dist/core/objects/foreign-data-wrapper/server/changes/server.privilege.d.ts +4 -3
  79. package/dist/core/objects/foreign-data-wrapper/server/changes/server.privilege.js +3 -3
  80. package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.alter.d.ts +2 -1
  81. package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.alter.js +1 -1
  82. package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.create.d.ts +2 -1
  83. package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.create.js +1 -1
  84. package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.drop.d.ts +2 -1
  85. package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.drop.js +1 -1
  86. package/dist/core/objects/index/changes/index.alter.d.ts +4 -3
  87. package/dist/core/objects/index/changes/index.alter.js +3 -3
  88. package/dist/core/objects/index/changes/index.comment.d.ts +3 -2
  89. package/dist/core/objects/index/changes/index.comment.js +2 -2
  90. package/dist/core/objects/index/changes/index.create.d.ts +2 -1
  91. package/dist/core/objects/index/changes/index.create.js +1 -1
  92. package/dist/core/objects/index/changes/index.drop.d.ts +2 -1
  93. package/dist/core/objects/index/changes/index.drop.js +1 -1
  94. package/dist/core/objects/language/changes/language.alter.d.ts +2 -1
  95. package/dist/core/objects/language/changes/language.alter.js +1 -1
  96. package/dist/core/objects/language/changes/language.comment.d.ts +3 -2
  97. package/dist/core/objects/language/changes/language.comment.js +2 -2
  98. package/dist/core/objects/language/changes/language.create.d.ts +2 -1
  99. package/dist/core/objects/language/changes/language.create.js +1 -1
  100. package/dist/core/objects/language/changes/language.drop.d.ts +2 -1
  101. package/dist/core/objects/language/changes/language.drop.js +1 -1
  102. package/dist/core/objects/language/changes/language.privilege.d.ts +4 -3
  103. package/dist/core/objects/language/changes/language.privilege.js +3 -3
  104. package/dist/core/objects/materialized-view/changes/materialized-view.alter.d.ts +3 -2
  105. package/dist/core/objects/materialized-view/changes/materialized-view.alter.js +2 -2
  106. package/dist/core/objects/materialized-view/changes/materialized-view.comment.d.ts +5 -4
  107. package/dist/core/objects/materialized-view/changes/materialized-view.comment.js +4 -4
  108. package/dist/core/objects/materialized-view/changes/materialized-view.create.d.ts +2 -1
  109. package/dist/core/objects/materialized-view/changes/materialized-view.create.js +1 -1
  110. package/dist/core/objects/materialized-view/changes/materialized-view.drop.d.ts +2 -1
  111. package/dist/core/objects/materialized-view/changes/materialized-view.drop.js +1 -1
  112. package/dist/core/objects/materialized-view/changes/materialized-view.privilege.d.ts +4 -3
  113. package/dist/core/objects/materialized-view/changes/materialized-view.privilege.js +3 -3
  114. package/dist/core/objects/procedure/changes/procedure.alter.d.ts +8 -7
  115. package/dist/core/objects/procedure/changes/procedure.alter.js +7 -7
  116. package/dist/core/objects/procedure/changes/procedure.comment.d.ts +3 -2
  117. package/dist/core/objects/procedure/changes/procedure.comment.js +2 -2
  118. package/dist/core/objects/procedure/changes/procedure.create.d.ts +2 -1
  119. package/dist/core/objects/procedure/changes/procedure.create.js +1 -1
  120. package/dist/core/objects/procedure/changes/procedure.drop.d.ts +2 -1
  121. package/dist/core/objects/procedure/changes/procedure.drop.js +1 -1
  122. package/dist/core/objects/procedure/changes/procedure.privilege.d.ts +4 -3
  123. package/dist/core/objects/procedure/changes/procedure.privilege.js +3 -3
  124. package/dist/core/objects/publication/changes/publication.alter.d.ts +9 -7
  125. package/dist/core/objects/publication/changes/publication.alter.js +12 -7
  126. package/dist/core/objects/publication/changes/publication.comment.d.ts +3 -2
  127. package/dist/core/objects/publication/changes/publication.comment.js +2 -2
  128. package/dist/core/objects/publication/changes/publication.create.d.ts +2 -1
  129. package/dist/core/objects/publication/changes/publication.create.js +1 -1
  130. package/dist/core/objects/publication/changes/publication.drop.d.ts +2 -1
  131. package/dist/core/objects/publication/changes/publication.drop.js +1 -1
  132. package/dist/core/objects/rls-policy/changes/rls-policy.alter.d.ts +4 -3
  133. package/dist/core/objects/rls-policy/changes/rls-policy.alter.js +3 -3
  134. package/dist/core/objects/rls-policy/changes/rls-policy.comment.d.ts +3 -2
  135. package/dist/core/objects/rls-policy/changes/rls-policy.comment.js +2 -2
  136. package/dist/core/objects/rls-policy/changes/rls-policy.create.d.ts +2 -1
  137. package/dist/core/objects/rls-policy/changes/rls-policy.create.js +1 -1
  138. package/dist/core/objects/rls-policy/changes/rls-policy.drop.d.ts +2 -1
  139. package/dist/core/objects/rls-policy/changes/rls-policy.drop.js +1 -1
  140. package/dist/core/objects/role/changes/role.alter.d.ts +3 -2
  141. package/dist/core/objects/role/changes/role.alter.js +2 -2
  142. package/dist/core/objects/role/changes/role.comment.d.ts +3 -2
  143. package/dist/core/objects/role/changes/role.comment.js +2 -2
  144. package/dist/core/objects/role/changes/role.create.d.ts +2 -1
  145. package/dist/core/objects/role/changes/role.create.js +1 -1
  146. package/dist/core/objects/role/changes/role.drop.d.ts +2 -1
  147. package/dist/core/objects/role/changes/role.drop.js +1 -1
  148. package/dist/core/objects/role/changes/role.privilege.d.ts +6 -5
  149. package/dist/core/objects/role/changes/role.privilege.js +5 -5
  150. package/dist/core/objects/rule/changes/rule.alter.d.ts +3 -2
  151. package/dist/core/objects/rule/changes/rule.alter.js +2 -2
  152. package/dist/core/objects/rule/changes/rule.comment.d.ts +3 -2
  153. package/dist/core/objects/rule/changes/rule.comment.js +2 -2
  154. package/dist/core/objects/rule/changes/rule.create.d.ts +2 -1
  155. package/dist/core/objects/rule/changes/rule.create.js +1 -1
  156. package/dist/core/objects/rule/changes/rule.drop.d.ts +2 -1
  157. package/dist/core/objects/rule/changes/rule.drop.js +1 -1
  158. package/dist/core/objects/schema/changes/schema.alter.d.ts +2 -1
  159. package/dist/core/objects/schema/changes/schema.alter.js +1 -1
  160. package/dist/core/objects/schema/changes/schema.comment.d.ts +3 -2
  161. package/dist/core/objects/schema/changes/schema.comment.js +2 -2
  162. package/dist/core/objects/schema/changes/schema.create.d.ts +3 -5
  163. package/dist/core/objects/schema/changes/schema.drop.d.ts +2 -1
  164. package/dist/core/objects/schema/changes/schema.drop.js +1 -1
  165. package/dist/core/objects/schema/changes/schema.privilege.d.ts +4 -3
  166. package/dist/core/objects/schema/changes/schema.privilege.js +3 -3
  167. package/dist/core/objects/sequence/changes/sequence.alter.d.ts +3 -2
  168. package/dist/core/objects/sequence/changes/sequence.alter.js +2 -2
  169. package/dist/core/objects/sequence/changes/sequence.comment.d.ts +3 -2
  170. package/dist/core/objects/sequence/changes/sequence.comment.js +2 -2
  171. package/dist/core/objects/sequence/changes/sequence.create.d.ts +2 -1
  172. package/dist/core/objects/sequence/changes/sequence.create.js +1 -1
  173. package/dist/core/objects/sequence/changes/sequence.drop.d.ts +2 -1
  174. package/dist/core/objects/sequence/changes/sequence.drop.js +11 -3
  175. package/dist/core/objects/sequence/changes/sequence.privilege.d.ts +4 -3
  176. package/dist/core/objects/sequence/changes/sequence.privilege.js +3 -3
  177. package/dist/core/objects/sequence/sequence.diff.d.ts +4 -1
  178. package/dist/core/objects/sequence/sequence.diff.js +12 -0
  179. package/dist/core/objects/subscription/changes/subscription.alter.d.ts +7 -6
  180. package/dist/core/objects/subscription/changes/subscription.alter.js +6 -6
  181. package/dist/core/objects/subscription/changes/subscription.comment.d.ts +3 -2
  182. package/dist/core/objects/subscription/changes/subscription.comment.js +2 -2
  183. package/dist/core/objects/subscription/changes/subscription.create.d.ts +2 -1
  184. package/dist/core/objects/subscription/changes/subscription.create.js +1 -1
  185. package/dist/core/objects/subscription/changes/subscription.drop.d.ts +2 -1
  186. package/dist/core/objects/subscription/changes/subscription.drop.js +1 -1
  187. package/dist/core/objects/table/changes/table.alter.d.ts +65 -22
  188. package/dist/core/objects/table/changes/table.alter.js +107 -22
  189. package/dist/core/objects/table/changes/table.comment.d.ts +7 -6
  190. package/dist/core/objects/table/changes/table.comment.js +6 -6
  191. package/dist/core/objects/table/changes/table.create.d.ts +2 -1
  192. package/dist/core/objects/table/changes/table.create.js +1 -1
  193. package/dist/core/objects/table/changes/table.drop.d.ts +4 -3
  194. package/dist/core/objects/table/changes/table.drop.js +7 -1
  195. package/dist/core/objects/table/changes/table.privilege.d.ts +4 -3
  196. package/dist/core/objects/table/changes/table.privilege.js +3 -3
  197. package/dist/core/objects/table/table.diff.js +46 -1
  198. package/dist/core/objects/trigger/changes/trigger.alter.d.ts +2 -1
  199. package/dist/core/objects/trigger/changes/trigger.alter.js +1 -1
  200. package/dist/core/objects/trigger/changes/trigger.comment.d.ts +3 -2
  201. package/dist/core/objects/trigger/changes/trigger.comment.js +2 -2
  202. package/dist/core/objects/trigger/changes/trigger.create.d.ts +2 -1
  203. package/dist/core/objects/trigger/changes/trigger.create.js +1 -1
  204. package/dist/core/objects/trigger/changes/trigger.drop.d.ts +2 -1
  205. package/dist/core/objects/trigger/changes/trigger.drop.js +1 -1
  206. package/dist/core/objects/type/composite-type/changes/composite-type.alter.d.ts +5 -4
  207. package/dist/core/objects/type/composite-type/changes/composite-type.alter.js +4 -4
  208. package/dist/core/objects/type/composite-type/changes/composite-type.comment.d.ts +5 -4
  209. package/dist/core/objects/type/composite-type/changes/composite-type.comment.js +4 -4
  210. package/dist/core/objects/type/composite-type/changes/composite-type.create.d.ts +2 -1
  211. package/dist/core/objects/type/composite-type/changes/composite-type.create.js +1 -1
  212. package/dist/core/objects/type/composite-type/changes/composite-type.drop.d.ts +2 -1
  213. package/dist/core/objects/type/composite-type/changes/composite-type.drop.js +1 -1
  214. package/dist/core/objects/type/composite-type/changes/composite-type.privilege.d.ts +4 -3
  215. package/dist/core/objects/type/composite-type/changes/composite-type.privilege.js +3 -3
  216. package/dist/core/objects/type/enum/changes/enum.alter.d.ts +3 -2
  217. package/dist/core/objects/type/enum/changes/enum.alter.js +2 -2
  218. package/dist/core/objects/type/enum/changes/enum.comment.d.ts +3 -2
  219. package/dist/core/objects/type/enum/changes/enum.comment.js +2 -2
  220. package/dist/core/objects/type/enum/changes/enum.create.d.ts +2 -1
  221. package/dist/core/objects/type/enum/changes/enum.create.js +1 -1
  222. package/dist/core/objects/type/enum/changes/enum.drop.d.ts +2 -1
  223. package/dist/core/objects/type/enum/changes/enum.drop.js +1 -1
  224. package/dist/core/objects/type/enum/changes/enum.privilege.d.ts +4 -3
  225. package/dist/core/objects/type/enum/changes/enum.privilege.js +3 -3
  226. package/dist/core/objects/type/range/changes/range.alter.d.ts +2 -1
  227. package/dist/core/objects/type/range/changes/range.alter.js +1 -1
  228. package/dist/core/objects/type/range/changes/range.comment.d.ts +3 -2
  229. package/dist/core/objects/type/range/changes/range.comment.js +2 -2
  230. package/dist/core/objects/type/range/changes/range.create.d.ts +2 -1
  231. package/dist/core/objects/type/range/changes/range.create.js +1 -1
  232. package/dist/core/objects/type/range/changes/range.drop.d.ts +2 -1
  233. package/dist/core/objects/type/range/changes/range.drop.js +1 -1
  234. package/dist/core/objects/type/range/changes/range.privilege.d.ts +4 -3
  235. package/dist/core/objects/type/range/changes/range.privilege.js +3 -3
  236. package/dist/core/objects/view/changes/view.alter.d.ts +4 -3
  237. package/dist/core/objects/view/changes/view.alter.js +3 -3
  238. package/dist/core/objects/view/changes/view.comment.d.ts +3 -2
  239. package/dist/core/objects/view/changes/view.comment.js +2 -2
  240. package/dist/core/objects/view/changes/view.create.d.ts +2 -1
  241. package/dist/core/objects/view/changes/view.create.js +1 -1
  242. package/dist/core/objects/view/changes/view.drop.d.ts +2 -1
  243. package/dist/core/objects/view/changes/view.drop.js +1 -1
  244. package/dist/core/objects/view/changes/view.privilege.d.ts +4 -3
  245. package/dist/core/objects/view/changes/view.privilege.js +3 -3
  246. package/dist/core/sort/custom-constraints.js +64 -0
  247. package/package.json +1 -1
  248. package/src/core/expand-replace-dependencies.test.ts +126 -1
  249. package/src/core/expand-replace-dependencies.ts +50 -0
  250. package/src/core/integrations/serialize/dsl.test.ts +20 -1
  251. package/src/core/integrations/serialize/dsl.ts +1 -10
  252. package/src/core/integrations/serialize/serialize.types.ts +37 -0
  253. package/src/core/integrations/supabase.ts +19 -0
  254. package/src/core/objects/aggregate/changes/aggregate.alter.ts +2 -1
  255. package/src/core/objects/aggregate/changes/aggregate.comment.ts +3 -2
  256. package/src/core/objects/aggregate/changes/aggregate.create.ts +2 -1
  257. package/src/core/objects/aggregate/changes/aggregate.drop.ts +2 -1
  258. package/src/core/objects/aggregate/changes/aggregate.privilege.ts +4 -3
  259. package/src/core/objects/base.change.ts +3 -1
  260. package/src/core/objects/collation/changes/collation.alter.ts +3 -2
  261. package/src/core/objects/collation/changes/collation.comment.ts +3 -2
  262. package/src/core/objects/collation/changes/collation.create.ts +2 -1
  263. package/src/core/objects/collation/changes/collation.drop.ts +2 -1
  264. package/src/core/objects/domain/changes/domain.alter.ts +9 -8
  265. package/src/core/objects/domain/changes/domain.comment.ts +3 -2
  266. package/src/core/objects/domain/changes/domain.create.ts +2 -1
  267. package/src/core/objects/domain/changes/domain.drop.ts +2 -1
  268. package/src/core/objects/domain/changes/domain.privilege.ts +4 -3
  269. package/src/core/objects/event-trigger/changes/event-trigger.alter.ts +3 -2
  270. package/src/core/objects/event-trigger/changes/event-trigger.comment.ts +3 -2
  271. package/src/core/objects/event-trigger/changes/event-trigger.create.ts +2 -1
  272. package/src/core/objects/event-trigger/changes/event-trigger.drop.ts +2 -1
  273. package/src/core/objects/extension/changes/extension.alter.ts +3 -2
  274. package/src/core/objects/extension/changes/extension.comment.ts +3 -2
  275. package/src/core/objects/extension/changes/extension.create.test.ts +22 -0
  276. package/src/core/objects/extension/changes/extension.create.ts +5 -2
  277. package/src/core/objects/extension/changes/extension.drop.ts +2 -1
  278. package/src/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.alter.ts +3 -2
  279. package/src/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.comment.ts +3 -2
  280. package/src/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.create.ts +2 -1
  281. package/src/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.drop.ts +2 -1
  282. package/src/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.privilege.ts +4 -3
  283. package/src/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.alter.ts +10 -9
  284. package/src/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.comment.ts +3 -2
  285. package/src/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.create.ts +2 -1
  286. package/src/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.drop.ts +2 -1
  287. package/src/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.privilege.ts +4 -3
  288. package/src/core/objects/foreign-data-wrapper/server/changes/server.alter.ts +4 -3
  289. package/src/core/objects/foreign-data-wrapper/server/changes/server.comment.ts +3 -2
  290. package/src/core/objects/foreign-data-wrapper/server/changes/server.create.ts +2 -1
  291. package/src/core/objects/foreign-data-wrapper/server/changes/server.drop.ts +2 -1
  292. package/src/core/objects/foreign-data-wrapper/server/changes/server.privilege.ts +4 -3
  293. package/src/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.alter.ts +2 -1
  294. package/src/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.create.ts +2 -1
  295. package/src/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.drop.ts +2 -1
  296. package/src/core/objects/index/changes/index.alter.ts +4 -3
  297. package/src/core/objects/index/changes/index.comment.ts +3 -2
  298. package/src/core/objects/index/changes/index.create.ts +2 -1
  299. package/src/core/objects/index/changes/index.drop.ts +2 -1
  300. package/src/core/objects/language/changes/language.alter.ts +2 -1
  301. package/src/core/objects/language/changes/language.comment.ts +3 -2
  302. package/src/core/objects/language/changes/language.create.ts +2 -1
  303. package/src/core/objects/language/changes/language.drop.ts +2 -1
  304. package/src/core/objects/language/changes/language.privilege.ts +4 -3
  305. package/src/core/objects/materialized-view/changes/materialized-view.alter.ts +3 -2
  306. package/src/core/objects/materialized-view/changes/materialized-view.comment.ts +5 -4
  307. package/src/core/objects/materialized-view/changes/materialized-view.create.ts +2 -1
  308. package/src/core/objects/materialized-view/changes/materialized-view.drop.ts +2 -1
  309. package/src/core/objects/materialized-view/changes/materialized-view.privilege.ts +4 -3
  310. package/src/core/objects/procedure/changes/procedure.alter.ts +8 -7
  311. package/src/core/objects/procedure/changes/procedure.comment.ts +3 -2
  312. package/src/core/objects/procedure/changes/procedure.create.ts +2 -1
  313. package/src/core/objects/procedure/changes/procedure.drop.ts +2 -1
  314. package/src/core/objects/procedure/changes/procedure.privilege.ts +4 -3
  315. package/src/core/objects/publication/changes/publication.alter.test.ts +4 -0
  316. package/src/core/objects/publication/changes/publication.alter.ts +14 -7
  317. package/src/core/objects/publication/changes/publication.comment.ts +3 -2
  318. package/src/core/objects/publication/changes/publication.create.ts +2 -1
  319. package/src/core/objects/publication/changes/publication.drop.ts +2 -1
  320. package/src/core/objects/rls-policy/changes/rls-policy.alter.ts +4 -3
  321. package/src/core/objects/rls-policy/changes/rls-policy.comment.ts +3 -2
  322. package/src/core/objects/rls-policy/changes/rls-policy.create.ts +2 -1
  323. package/src/core/objects/rls-policy/changes/rls-policy.drop.ts +2 -1
  324. package/src/core/objects/role/changes/role.alter.ts +3 -2
  325. package/src/core/objects/role/changes/role.comment.ts +3 -2
  326. package/src/core/objects/role/changes/role.create.ts +2 -1
  327. package/src/core/objects/role/changes/role.drop.ts +2 -1
  328. package/src/core/objects/role/changes/role.privilege.ts +6 -5
  329. package/src/core/objects/rule/changes/rule.alter.ts +3 -2
  330. package/src/core/objects/rule/changes/rule.comment.ts +3 -2
  331. package/src/core/objects/rule/changes/rule.create.ts +2 -1
  332. package/src/core/objects/rule/changes/rule.drop.ts +2 -1
  333. package/src/core/objects/schema/changes/schema.alter.ts +2 -1
  334. package/src/core/objects/schema/changes/schema.comment.ts +3 -2
  335. package/src/core/objects/schema/changes/schema.create.ts +3 -3
  336. package/src/core/objects/schema/changes/schema.drop.ts +2 -1
  337. package/src/core/objects/schema/changes/schema.privilege.ts +4 -3
  338. package/src/core/objects/sequence/changes/sequence.alter.ts +3 -2
  339. package/src/core/objects/sequence/changes/sequence.comment.ts +3 -2
  340. package/src/core/objects/sequence/changes/sequence.create.ts +2 -1
  341. package/src/core/objects/sequence/changes/sequence.drop.ts +16 -3
  342. package/src/core/objects/sequence/changes/sequence.privilege.ts +4 -3
  343. package/src/core/objects/sequence/sequence.diff.test.ts +73 -1
  344. package/src/core/objects/sequence/sequence.diff.ts +24 -2
  345. package/src/core/objects/subscription/changes/subscription.alter.ts +7 -6
  346. package/src/core/objects/subscription/changes/subscription.comment.ts +3 -2
  347. package/src/core/objects/subscription/changes/subscription.create.ts +2 -1
  348. package/src/core/objects/subscription/changes/subscription.drop.ts +2 -1
  349. package/src/core/objects/table/changes/table.alter.test.ts +38 -0
  350. package/src/core/objects/table/changes/table.alter.ts +123 -22
  351. package/src/core/objects/table/changes/table.comment.ts +7 -6
  352. package/src/core/objects/table/changes/table.create.ts +2 -1
  353. package/src/core/objects/table/changes/table.drop.ts +20 -1
  354. package/src/core/objects/table/changes/table.privilege.ts +4 -3
  355. package/src/core/objects/table/table.diff.test.ts +121 -0
  356. package/src/core/objects/table/table.diff.ts +64 -1
  357. package/src/core/objects/trigger/changes/trigger.alter.ts +2 -1
  358. package/src/core/objects/trigger/changes/trigger.comment.ts +3 -2
  359. package/src/core/objects/trigger/changes/trigger.create.ts +2 -1
  360. package/src/core/objects/trigger/changes/trigger.drop.ts +2 -1
  361. package/src/core/objects/type/composite-type/changes/composite-type.alter.ts +5 -4
  362. package/src/core/objects/type/composite-type/changes/composite-type.comment.ts +5 -4
  363. package/src/core/objects/type/composite-type/changes/composite-type.create.ts +2 -1
  364. package/src/core/objects/type/composite-type/changes/composite-type.drop.ts +2 -1
  365. package/src/core/objects/type/composite-type/changes/composite-type.privilege.ts +4 -3
  366. package/src/core/objects/type/enum/changes/enum.alter.ts +3 -2
  367. package/src/core/objects/type/enum/changes/enum.comment.ts +3 -2
  368. package/src/core/objects/type/enum/changes/enum.create.ts +2 -1
  369. package/src/core/objects/type/enum/changes/enum.drop.ts +2 -1
  370. package/src/core/objects/type/enum/changes/enum.privilege.ts +4 -3
  371. package/src/core/objects/type/range/changes/range.alter.ts +2 -1
  372. package/src/core/objects/type/range/changes/range.comment.ts +3 -2
  373. package/src/core/objects/type/range/changes/range.create.ts +2 -1
  374. package/src/core/objects/type/range/changes/range.drop.ts +2 -1
  375. package/src/core/objects/type/range/changes/range.privilege.ts +4 -3
  376. package/src/core/objects/view/changes/view.alter.ts +4 -3
  377. package/src/core/objects/view/changes/view.comment.ts +3 -2
  378. package/src/core/objects/view/changes/view.create.ts +2 -1
  379. package/src/core/objects/view/changes/view.drop.ts +2 -1
  380. package/src/core/objects/view/changes/view.privilege.ts +4 -3
  381. package/src/core/plan/sql-format/format-off.test.ts +1 -1
  382. package/src/core/plan/sql-format/format-pretty-lower-leading.test.ts +1 -1
  383. package/src/core/plan/sql-format/format-pretty-narrow.test.ts +1 -1
  384. package/src/core/plan/sql-format/format-pretty-preserve.test.ts +1 -1
  385. package/src/core/plan/sql-format/format-pretty-upper.test.ts +1 -1
  386. package/src/core/sort/custom-constraints.ts +74 -0
  387. package/src/typedoc.ts +5 -0
@@ -19,6 +19,7 @@ import { CreateEnum } from "./objects/type/enum/changes/enum.create.ts";
19
19
  import { DropEnum } from "./objects/type/enum/changes/enum.drop.ts";
20
20
  import { CreateRange } from "./objects/type/range/changes/range.create.ts";
21
21
  import { DropRange } from "./objects/type/range/changes/range.drop.ts";
22
+ import { stableId } from "./objects/utils.ts";
22
23
  import { CreateView } from "./objects/view/changes/view.create.ts";
23
24
  import { DropView } from "./objects/view/changes/view.drop.ts";
24
25
 
@@ -121,6 +122,17 @@ export function expandReplaceDependencies({
121
122
  if (!dependents) continue;
122
123
 
123
124
  for (const dependentRaw of dependents) {
125
+ if (
126
+ isOwnedSequenceColumnDependency(
127
+ refId,
128
+ dependentRaw,
129
+ mainCatalog,
130
+ branchCatalog,
131
+ )
132
+ ) {
133
+ continue;
134
+ }
135
+
124
136
  // Continue traversing the dependency graph from the raw dependent id.
125
137
  if (!visitedRefs.has(dependentRaw)) {
126
138
  visitedRefs.add(dependentRaw);
@@ -181,6 +193,44 @@ export function expandReplaceDependencies({
181
193
  return [...changes, ...additions];
182
194
  }
183
195
 
196
+ function isOwnedSequenceColumnDependency(
197
+ referencedId: string,
198
+ dependentId: string,
199
+ mainCatalog: Catalog,
200
+ branchCatalog: Catalog,
201
+ ): boolean {
202
+ // When a sequence replace root is still OWNED BY the same column, the
203
+ // sequence->column pg_depend edge is bookkeeping for ownership, not a signal
204
+ // that the whole owning table needs to be replaced. Skipping that edge keeps
205
+ // expandReplaceDependencies focused on recreating the sequence itself.
206
+ if (
207
+ !referencedId.startsWith("sequence:") ||
208
+ !dependentId.startsWith("column:")
209
+ ) {
210
+ return false;
211
+ }
212
+
213
+ const sequence =
214
+ branchCatalog.sequences[referencedId] ??
215
+ mainCatalog.sequences[referencedId];
216
+ if (
217
+ !sequence?.owned_by_schema ||
218
+ !sequence.owned_by_table ||
219
+ !sequence.owned_by_column
220
+ ) {
221
+ return false;
222
+ }
223
+
224
+ return (
225
+ dependentId ===
226
+ stableId.column(
227
+ sequence.owned_by_schema,
228
+ sequence.owned_by_table,
229
+ sequence.owned_by_column,
230
+ )
231
+ );
232
+ }
233
+
184
234
  function normalizeDependentId(dependentId: string): string | null {
185
235
  let id = dependentId;
186
236
 
@@ -1,22 +1,41 @@
1
1
  import { describe, expect, test } from "bun:test";
2
2
  import type { Change } from "../../change.types.ts";
3
3
  import { compileSerializeDSL } from "./dsl.ts";
4
+ import type { SerializeOptions } from "./serialize.types.ts";
4
5
 
5
6
  function makeChange(
6
7
  type: string,
7
8
  operation: string,
8
- serializeFn: (opts?: Record<string, unknown>) => string,
9
+ serializeFn: (opts?: SerializeOptions) => string,
9
10
  ): Change {
10
11
  return {
11
12
  objectType: type,
12
13
  operation,
13
14
  scope: "object",
14
15
  schema: { name: "test" },
16
+ extension: { schema: "pgmq" },
15
17
  serialize: serializeFn,
16
18
  } as unknown as Change;
17
19
  }
18
20
 
19
21
  describe("compileSerializeDSL", () => {
22
+ test("matching extension rule can skip schema serialization", () => {
23
+ const serializer = compileSerializeDSL([
24
+ {
25
+ when: { objectType: "extension", operation: "create" },
26
+ options: { skipSchema: true },
27
+ },
28
+ ]);
29
+
30
+ const change = makeChange("extension", "create", (opts) =>
31
+ opts?.skipSchema
32
+ ? "CREATE EXTENSION pgmq"
33
+ : "CREATE EXTENSION pgmq WITH SCHEMA pgmq",
34
+ );
35
+
36
+ expect(serializer(change)).toBe("CREATE EXTENSION pgmq");
37
+ });
38
+
20
39
  test("matching rule applies its options", () => {
21
40
  const serializer = compileSerializeDSL([
22
41
  {
@@ -6,16 +6,7 @@
6
6
 
7
7
  import type { Change } from "../../change.types.ts";
8
8
  import { evaluatePattern, type FilterPattern } from "../filter/dsl.ts";
9
- import type { ChangeSerializer } from "./serialize.types.ts";
10
-
11
- /**
12
- * Serialization options that can be passed to change.serialize().
13
- */
14
- type SerializeOptions = {
15
- skipAuthorization?: boolean;
16
- // Can be extended with more options in the future
17
- [key: string]: unknown;
18
- };
9
+ import type { ChangeSerializer, SerializeOptions } from "./serialize.types.ts";
19
10
 
20
11
  /**
21
12
  * A serialization rule that applies options when a pattern matches.
@@ -1,3 +1,40 @@
1
1
  import type { Change } from "../../change.types.ts";
2
2
 
3
+ /**
4
+ * Shared serialization options passed to `change.serialize(options)`.
5
+ *
6
+ * This is the global source of truth for serialize-option flags used by the
7
+ * integration serialization DSL and concrete change serializers.
8
+ *
9
+ * @category Integration
10
+ */
11
+ export type SerializeOptions = {
12
+ /** Skip `AUTHORIZATION` when serializing schema creation. */
13
+ skipAuthorization?: boolean;
14
+ /** Skip `WITH SCHEMA ...` when serializing extension creation. */
15
+ skipSchema?: boolean;
16
+ };
17
+
18
+ /**
19
+ * Schema-specific view of {@link SerializeOptions}.
20
+ *
21
+ * @category Integration
22
+ */
23
+ export type SchemaSerializeOptions = Pick<
24
+ SerializeOptions,
25
+ "skipAuthorization"
26
+ >;
27
+
28
+ /**
29
+ * Extension-specific view of {@link SerializeOptions}.
30
+ *
31
+ * @category Integration
32
+ */
33
+ export type ExtensionSerializeOptions = Pick<SerializeOptions, "skipSchema">;
34
+
35
+ /**
36
+ * Compiled serializer function used during plan/declarative export rendering.
37
+ *
38
+ * @category Integration
39
+ */
3
40
  export type ChangeSerializer = (change: Change) => string | undefined;
@@ -92,6 +92,12 @@ export const supabase: IntegrationDSL = {
92
92
  operation: "create",
93
93
  scope: "object",
94
94
  },
95
+ // Include extension DROPs used to disable some extensions (eg: pg-net)
96
+ {
97
+ objectType: "extension",
98
+ operation: "drop",
99
+ scope: "object",
100
+ },
95
101
  // Exclude system objects
96
102
  {
97
103
  not: {
@@ -141,5 +147,18 @@ export const supabase: IntegrationDSL = {
141
147
  skipAuthorization: true,
142
148
  },
143
149
  },
150
+ // pgmq extensions creates it's own schema on install doing a `CREATE EXTENSION pgmq WITH SCHEMA pgmq;`
151
+ // will cause an error because the schema will create extension and extension refer to unexisting schema
152
+ {
153
+ when: {
154
+ objectType: "extension",
155
+ operation: "create",
156
+ scope: "object",
157
+ "extension/schema": ["pgmq"],
158
+ },
159
+ options: {
160
+ skipSchema: true,
161
+ },
162
+ },
144
163
  ],
145
164
  };
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Aggregate } from "../aggregate.model.ts";
2
3
  import { AlterAggregateChange } from "./aggregate.base.ts";
3
4
 
@@ -23,7 +24,7 @@ export class AlterAggregateChangeOwner extends AlterAggregateChange {
23
24
  return [this.aggregate.stableId];
24
25
  }
25
26
 
26
- serialize(): string {
27
+ serialize(_options?: SerializeOptions): string {
27
28
  const signature = this.aggregate.identityArguments;
28
29
  const qualifiedName = `${this.aggregate.schema}.${this.aggregate.name}`;
29
30
  const withArgs = signature.length > 0 ? `(${signature})` : "()";
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import { quoteLiteral } from "../../base.change.ts";
2
3
  import { stableId } from "../../utils.ts";
3
4
  import type { Aggregate } from "../aggregate.model.ts";
@@ -27,7 +28,7 @@ export class CreateCommentOnAggregate extends CreateAggregateChange {
27
28
  return [this.aggregate.stableId];
28
29
  }
29
30
 
30
- serialize(): string {
31
+ serialize(_options?: SerializeOptions): string {
31
32
  const signature = this.aggregate.identityArguments;
32
33
  const qualifiedName = `${this.aggregate.schema}.${this.aggregate.name}`;
33
34
  const withArgs = signature.length > 0 ? `(${signature})` : "()";
@@ -53,7 +54,7 @@ export class DropCommentOnAggregate extends DropAggregateChange {
53
54
  return [stableId.comment(this.aggregate.stableId), this.aggregate.stableId];
54
55
  }
55
56
 
56
- serialize(): string {
57
+ serialize(_options?: SerializeOptions): string {
57
58
  const signature = this.aggregate.identityArguments;
58
59
  const qualifiedName = `${this.aggregate.schema}.${this.aggregate.name}`;
59
60
  const withArgs = signature.length > 0 ? `(${signature})` : "()";
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import { quoteLiteral } from "../../base.change.ts";
2
3
  import {
3
4
  parseProcedureReference,
@@ -166,7 +167,7 @@ export class CreateAggregate extends CreateAggregateChange {
166
167
  return Array.from(dependencies);
167
168
  }
168
169
 
169
- serialize(): string {
170
+ serialize(_options?: SerializeOptions): string {
170
171
  const signature = this.aggregate.identityArguments;
171
172
  const qualifiedName = `${this.aggregate.schema}.${this.aggregate.name}`;
172
173
  const head = [
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Aggregate } from "../aggregate.model.ts";
2
3
  import { DropAggregateChange } from "./aggregate.base.ts";
3
4
 
@@ -23,7 +24,7 @@ export class DropAggregate extends DropAggregateChange {
23
24
  return [this.aggregate.stableId];
24
25
  }
25
26
 
26
- serialize(): string {
27
+ serialize(_options?: SerializeOptions): string {
27
28
  const signature = this.aggregate.identityArguments;
28
29
  const qualifiedName = `${this.aggregate.schema}.${this.aggregate.name}`;
29
30
  const withArgs = signature.length > 0 ? `(${signature})` : "(*)";
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import {
2
3
  formatObjectPrivilegeList,
3
4
  getObjectKindPrefix,
@@ -39,7 +40,7 @@ export class GrantAggregatePrivileges extends AlterAggregateChange {
39
40
  return [this.aggregate.stableId, stableId.role(this.grantee)];
40
41
  }
41
42
 
42
- serialize(): string {
43
+ serialize(_options?: SerializeOptions): string {
43
44
  const hasGrantable = this.privileges.some((p) => p.grantable);
44
45
  const hasBase = this.privileges.some((p) => !p.grantable);
45
46
  if (hasGrantable && hasBase) {
@@ -92,7 +93,7 @@ export class RevokeAggregatePrivileges extends AlterAggregateChange {
92
93
  ];
93
94
  }
94
95
 
95
- serialize(): string {
96
+ serialize(_options?: SerializeOptions): string {
96
97
  const kindPrefix = getObjectKindPrefix("FUNCTION");
97
98
  const list = this.privileges.map((p) => p.privilege);
98
99
  const privSql = formatObjectPrivilegeList("FUNCTION", list, this.version);
@@ -131,7 +132,7 @@ export class RevokeGrantOptionAggregatePrivileges extends AlterAggregateChange {
131
132
  ];
132
133
  }
133
134
 
134
- serialize(): string {
135
+ serialize(_options?: SerializeOptions): string {
135
136
  const kindPrefix = getObjectKindPrefix("FUNCTION");
136
137
  const privSql = formatObjectPrivilegeList(
137
138
  "FUNCTION",
@@ -1,3 +1,5 @@
1
+ import type { SerializeOptions } from "../integrations/serialize/serialize.types.ts";
2
+
1
3
  type ChangeOperation = "create" | "alter" | "drop";
2
4
 
3
5
  /**
@@ -61,7 +63,7 @@ export abstract class BaseChange {
61
63
  /**
62
64
  * Serialize the change into a single SQL statement.
63
65
  */
64
- abstract serialize(options?: Record<string, unknown>): string;
66
+ abstract serialize(options?: SerializeOptions): string;
65
67
  }
66
68
 
67
69
  /**
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Collation } from "../collation.model.ts";
2
3
  import { AlterCollationChange } from "./collation.base.ts";
3
4
 
@@ -36,7 +37,7 @@ export class AlterCollationChangeOwner extends AlterCollationChange {
36
37
  return [this.collation.stableId];
37
38
  }
38
39
 
39
- serialize(): string {
40
+ serialize(_options?: SerializeOptions): string {
40
41
  return [
41
42
  "ALTER COLLATION",
42
43
  `${this.collation.schema}.${this.collation.name}`,
@@ -62,7 +63,7 @@ export class AlterCollationRefreshVersion extends AlterCollationChange {
62
63
  return [this.collation.stableId];
63
64
  }
64
65
 
65
- serialize(): string {
66
+ serialize(_options?: SerializeOptions): string {
66
67
  return [
67
68
  "ALTER COLLATION",
68
69
  `${this.collation.schema}.${this.collation.name}`,
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import { quoteLiteral } from "../../base.change.ts";
2
3
  import { stableId } from "../../utils.ts";
3
4
  import type { Collation } from "../collation.model.ts";
@@ -30,7 +31,7 @@ export class CreateCommentOnCollation extends CreateCollationChange {
30
31
  return [this.collation.stableId];
31
32
  }
32
33
 
33
- serialize(): string {
34
+ serialize(_options?: SerializeOptions): string {
34
35
  return [
35
36
  "COMMENT ON COLLATION",
36
37
  `${this.collation.schema}.${this.collation.name}`,
@@ -58,7 +59,7 @@ export class DropCommentOnCollation extends DropCollationChange {
58
59
  return [stableId.comment(this.collation.stableId)];
59
60
  }
60
61
 
61
- serialize(): string {
62
+ serialize(_options?: SerializeOptions): string {
62
63
  return [
63
64
  "COMMENT ON COLLATION",
64
65
  `${this.collation.schema}.${this.collation.name}`,
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import { quoteLiteral } from "../../base.change.ts";
2
3
  import { stableId } from "../../utils.ts";
3
4
  import type { Collation } from "../collation.model.ts";
@@ -48,7 +49,7 @@ export class CreateCollation extends CreateCollationChange {
48
49
  return Array.from(dependencies);
49
50
  }
50
51
 
51
- serialize(): string {
52
+ serialize(_options?: SerializeOptions): string {
52
53
  const parts: string[] = ["CREATE COLLATION"];
53
54
 
54
55
  // Add schema and name (already quoted in model extraction)
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Collation } from "../collation.model.ts";
2
3
  import { DropCollationChange } from "./collation.base.ts";
3
4
 
@@ -28,7 +29,7 @@ export class DropCollation extends DropCollationChange {
28
29
  return [this.collation.stableId];
29
30
  }
30
31
 
31
- serialize(): string {
32
+ serialize(_options?: SerializeOptions): string {
32
33
  return [
33
34
  "DROP COLLATION",
34
35
  `${this.collation.schema}.${this.collation.name}`,
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import { stableId } from "../../utils.ts";
2
3
  import type { Domain, DomainConstraintProps } from "../domain.model.ts";
3
4
  import { AlterDomainChange, DropDomainChange } from "./domain.base.ts";
@@ -63,7 +64,7 @@ export class AlterDomainSetDefault extends AlterDomainChange {
63
64
  return [this.domain.stableId];
64
65
  }
65
66
 
66
- serialize(): string {
67
+ serialize(_options?: SerializeOptions): string {
67
68
  return `ALTER DOMAIN ${this.domain.schema}.${this.domain.name} SET DEFAULT ${this.defaultValue}`;
68
69
  }
69
70
  }
@@ -84,7 +85,7 @@ export class AlterDomainDropDefault extends AlterDomainChange {
84
85
  return [this.domain.stableId];
85
86
  }
86
87
 
87
- serialize(): string {
88
+ serialize(_options?: SerializeOptions): string {
88
89
  return `ALTER DOMAIN ${this.domain.schema}.${this.domain.name} DROP DEFAULT`;
89
90
  }
90
91
  }
@@ -105,7 +106,7 @@ export class AlterDomainSetNotNull extends AlterDomainChange {
105
106
  return [this.domain.stableId];
106
107
  }
107
108
 
108
- serialize(): string {
109
+ serialize(_options?: SerializeOptions): string {
109
110
  return `ALTER DOMAIN ${this.domain.schema}.${this.domain.name} SET NOT NULL`;
110
111
  }
111
112
  }
@@ -126,7 +127,7 @@ export class AlterDomainDropNotNull extends AlterDomainChange {
126
127
  return [this.domain.stableId];
127
128
  }
128
129
 
129
- serialize(): string {
130
+ serialize(_options?: SerializeOptions): string {
130
131
  return `ALTER DOMAIN ${this.domain.schema}.${this.domain.name} DROP NOT NULL`;
131
132
  }
132
133
  }
@@ -149,7 +150,7 @@ export class AlterDomainChangeOwner extends AlterDomainChange {
149
150
  return [this.domain.stableId, stableId.role(this.owner)];
150
151
  }
151
152
 
152
- serialize(): string {
153
+ serialize(_options?: SerializeOptions): string {
153
154
  return `ALTER DOMAIN ${this.domain.schema}.${this.domain.name} OWNER TO ${this.owner}`;
154
155
  }
155
156
  }
@@ -182,7 +183,7 @@ export class AlterDomainAddConstraint extends AlterDomainChange {
182
183
  return [this.domain.stableId];
183
184
  }
184
185
 
185
- serialize(): string {
186
+ serialize(_options?: SerializeOptions): string {
186
187
  const domainName = `${this.domain.schema}.${this.domain.name}`;
187
188
  const parts: string[] = [
188
189
  "ALTER DOMAIN",
@@ -235,7 +236,7 @@ export class AlterDomainDropConstraint extends DropDomainChange {
235
236
  ];
236
237
  }
237
238
 
238
- serialize(): string {
239
+ serialize(_options?: SerializeOptions): string {
239
240
  const domainName = `${this.domain.schema}.${this.domain.name}`;
240
241
  return [
241
242
  "ALTER DOMAIN",
@@ -274,7 +275,7 @@ export class AlterDomainValidateConstraint extends AlterDomainChange {
274
275
  ];
275
276
  }
276
277
 
277
- serialize(): string {
278
+ serialize(_options?: SerializeOptions): string {
278
279
  const domainName = `${this.domain.schema}.${this.domain.name}`;
279
280
  return [
280
281
  "ALTER DOMAIN",
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import { quoteLiteral } from "../../base.change.ts";
2
3
  import { stableId } from "../../utils.ts";
3
4
  import type { Domain } from "../domain.model.ts";
@@ -25,7 +26,7 @@ export class CreateCommentOnDomain extends CreateDomainChange {
25
26
  return [this.domain.stableId];
26
27
  }
27
28
 
28
- serialize(): string {
29
+ serialize(_options?: SerializeOptions): string {
29
30
  return [
30
31
  "COMMENT ON DOMAIN",
31
32
  `${this.domain.schema}.${this.domain.name}`,
@@ -49,7 +50,7 @@ export class DropCommentOnDomain extends DropDomainChange {
49
50
  return [stableId.comment(this.domain.stableId), this.domain.stableId];
50
51
  }
51
52
 
52
- serialize(): string {
53
+ serialize(_options?: SerializeOptions): string {
53
54
  return [
54
55
  "COMMENT ON DOMAIN",
55
56
  `${this.domain.schema}.${this.domain.name}`,
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import {
2
3
  isUserDefinedTypeSchema,
3
4
  parseTypeString,
@@ -87,7 +88,7 @@ export class CreateDomain extends CreateDomainChange {
87
88
  return Array.from(dependencies);
88
89
  }
89
90
 
90
- serialize(): string {
91
+ serialize(_options?: SerializeOptions): string {
91
92
  const parts: string[] = [];
92
93
 
93
94
  // Schema-qualified name
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Domain } from "../domain.model.ts";
2
3
  import { DropDomainChange } from "./domain.base.ts";
3
4
 
@@ -28,7 +29,7 @@ export class DropDomain extends DropDomainChange {
28
29
  return [this.domain.stableId];
29
30
  }
30
31
 
31
- serialize(): string {
32
+ serialize(_options?: SerializeOptions): string {
32
33
  return `DROP DOMAIN ${this.domain.schema}.${this.domain.name}`;
33
34
  }
34
35
  }
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import {
2
3
  formatObjectPrivilegeList,
3
4
  getObjectKindPrefix,
@@ -52,7 +53,7 @@ export class GrantDomainPrivileges extends AlterDomainChange {
52
53
  return [this.domain.stableId, stableId.role(this.grantee)];
53
54
  }
54
55
 
55
- serialize(): string {
56
+ serialize(_options?: SerializeOptions): string {
56
57
  const hasGrantable = this.privileges.some((p) => p.grantable);
57
58
  const hasBase = this.privileges.some((p) => !p.grantable);
58
59
  if (hasGrantable && hasBase) {
@@ -114,7 +115,7 @@ export class RevokeDomainPrivileges extends AlterDomainChange {
114
115
  return [this.domain.stableId, stableId.role(this.grantee)];
115
116
  }
116
117
 
117
- serialize(): string {
118
+ serialize(_options?: SerializeOptions): string {
118
119
  const kindPrefix = getObjectKindPrefix("DOMAIN");
119
120
  const list = this.privileges.map((p) => p.privilege);
120
121
  const privSql = formatObjectPrivilegeList("DOMAIN", list, this.version);
@@ -158,7 +159,7 @@ export class RevokeGrantOptionDomainPrivileges extends AlterDomainChange {
158
159
  ];
159
160
  }
160
161
 
161
- serialize(): string {
162
+ serialize(_options?: SerializeOptions): string {
162
163
  const kindPrefix = getObjectKindPrefix("DOMAIN");
163
164
  const privSql = formatObjectPrivilegeList(
164
165
  "DOMAIN",
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { EventTrigger } from "../event-trigger.model.ts";
2
3
  import { AlterEventTriggerChange } from "./event-trigger.base.ts";
3
4
 
@@ -37,7 +38,7 @@ export class AlterEventTriggerChangeOwner extends AlterEventTriggerChange {
37
38
  return [this.eventTrigger.stableId];
38
39
  }
39
40
 
40
- serialize(): string {
41
+ serialize(_options?: SerializeOptions): string {
41
42
  return [
42
43
  "ALTER EVENT TRIGGER",
43
44
  this.eventTrigger.name,
@@ -75,7 +76,7 @@ export class AlterEventTriggerSetEnabled extends AlterEventTriggerChange {
75
76
  return [this.eventTrigger.stableId];
76
77
  }
77
78
 
78
- serialize(): string {
79
+ serialize(_options?: SerializeOptions): string {
79
80
  const clause = ENABLED_SQL[this.enabled];
80
81
  return ["ALTER EVENT TRIGGER", this.eventTrigger.name, clause].join(" ");
81
82
  }
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import { quoteLiteral } from "../../base.change.ts";
2
3
  import { stableId } from "../../utils.ts";
3
4
  import type { EventTrigger } from "../event-trigger.model.ts";
@@ -27,7 +28,7 @@ export class CreateCommentOnEventTrigger extends CreateEventTriggerChange {
27
28
  return [this.eventTrigger.stableId];
28
29
  }
29
30
 
30
- serialize(): string {
31
+ serialize(_options?: SerializeOptions): string {
31
32
  return [
32
33
  "COMMENT ON EVENT TRIGGER",
33
34
  this.eventTrigger.name,
@@ -58,7 +59,7 @@ export class DropCommentOnEventTrigger extends DropEventTriggerChange {
58
59
  ];
59
60
  }
60
61
 
61
- serialize(): string {
62
+ serialize(_options?: SerializeOptions): string {
62
63
  return ["COMMENT ON EVENT TRIGGER", this.eventTrigger.name, "IS NULL"].join(
63
64
  " ",
64
65
  );
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import { quoteLiteral } from "../../base.change.ts";
2
3
  import { parseProcedureReference, stableId } from "../../utils.ts";
3
4
  import type { EventTrigger } from "../event-trigger.model.ts";
@@ -48,7 +49,7 @@ export class CreateEventTrigger extends CreateEventTriggerChange {
48
49
  return Array.from(dependencies);
49
50
  }
50
51
 
51
- serialize(): string {
52
+ serialize(_options?: SerializeOptions): string {
52
53
  const parts: string[] = [
53
54
  "CREATE EVENT TRIGGER",
54
55
  this.eventTrigger.name,
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { EventTrigger } from "../event-trigger.model.ts";
2
3
  import { DropEventTriggerChange } from "./event-trigger.base.ts";
3
4
 
@@ -28,7 +29,7 @@ export class DropEventTrigger extends DropEventTriggerChange {
28
29
  return [this.eventTrigger.stableId];
29
30
  }
30
31
 
31
- serialize(): string {
32
+ serialize(_options?: SerializeOptions): string {
32
33
  return ["DROP EVENT TRIGGER", this.eventTrigger.name].join(" ");
33
34
  }
34
35
  }
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import { quoteLiteral } from "../../base.change.ts";
2
3
  import { stableId } from "../../utils.ts";
3
4
  import type { Extension } from "../extension.model.ts";
@@ -39,7 +40,7 @@ export class AlterExtensionUpdateVersion extends AlterExtensionChange {
39
40
  return [this.extension.stableId];
40
41
  }
41
42
 
42
- serialize(): string {
43
+ serialize(_options?: SerializeOptions): string {
43
44
  return [
44
45
  "ALTER EXTENSION",
45
46
  this.extension.name,
@@ -67,7 +68,7 @@ export class AlterExtensionSetSchema extends AlterExtensionChange {
67
68
  return [this.extension.stableId, stableId.schema(this.schema)];
68
69
  }
69
70
 
70
- serialize(): string {
71
+ serialize(_options?: SerializeOptions): string {
71
72
  return [
72
73
  "ALTER EXTENSION",
73
74
  this.extension.name,