@supabase/pg-delta 1.0.0-alpha.11 → 1.0.0-alpha.13

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