@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
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Publication, PublicationTableProps } from "../publication.model.ts";
2
3
  import { AlterPublicationChange } from "./publication.base.ts";
3
4
  export declare class AlterPublicationSetOptions extends AlterPublicationChange {
@@ -11,7 +12,7 @@ export declare class AlterPublicationSetOptions extends AlterPublicationChange {
11
12
  setPublishViaPartitionRoot: boolean;
12
13
  });
13
14
  get requires(): `publication:${string}`[];
14
- serialize(): string;
15
+ serialize(_options?: SerializeOptions): string;
15
16
  }
16
17
  export declare class AlterPublicationSetList extends AlterPublicationChange {
17
18
  readonly publication: Publication;
@@ -20,7 +21,7 @@ export declare class AlterPublicationSetList extends AlterPublicationChange {
20
21
  publication: Publication;
21
22
  });
22
23
  get requires(): string[];
23
- serialize(): string;
24
+ serialize(_options?: SerializeOptions): string;
24
25
  }
25
26
  export declare class AlterPublicationAddTables extends AlterPublicationChange {
26
27
  readonly publication: Publication;
@@ -31,7 +32,7 @@ export declare class AlterPublicationAddTables extends AlterPublicationChange {
31
32
  tables: PublicationTableProps[];
32
33
  });
33
34
  get requires(): string[];
34
- serialize(): string;
35
+ serialize(_options?: SerializeOptions): string;
35
36
  }
36
37
  export declare class AlterPublicationDropTables extends AlterPublicationChange {
37
38
  readonly publication: Publication;
@@ -42,7 +43,8 @@ export declare class AlterPublicationDropTables extends AlterPublicationChange {
42
43
  tables: PublicationTableProps[];
43
44
  });
44
45
  get requires(): string[];
45
- serialize(): string;
46
+ get drops(): `table:${string}.${string}`[];
47
+ serialize(_options?: SerializeOptions): string;
46
48
  }
47
49
  export declare class AlterPublicationAddSchemas extends AlterPublicationChange {
48
50
  readonly publication: Publication;
@@ -53,7 +55,7 @@ export declare class AlterPublicationAddSchemas extends AlterPublicationChange {
53
55
  schemas: string[];
54
56
  });
55
57
  get requires(): (`schema:${string}` | `publication:${string}`)[];
56
- serialize(): string;
58
+ serialize(_options?: SerializeOptions): string;
57
59
  }
58
60
  export declare class AlterPublicationDropSchemas extends AlterPublicationChange {
59
61
  readonly publication: Publication;
@@ -64,7 +66,7 @@ export declare class AlterPublicationDropSchemas extends AlterPublicationChange
64
66
  schemas: string[];
65
67
  });
66
68
  get requires(): (`schema:${string}` | `publication:${string}`)[];
67
- serialize(): string;
69
+ serialize(_options?: SerializeOptions): string;
68
70
  }
69
71
  export declare class AlterPublicationSetOwner extends AlterPublicationChange {
70
72
  readonly publication: Publication;
@@ -75,5 +77,5 @@ export declare class AlterPublicationSetOwner extends AlterPublicationChange {
75
77
  owner: string;
76
78
  });
77
79
  get requires(): (`role:${string}` | `publication:${string}`)[];
78
- serialize(): string;
80
+ serialize(_options?: SerializeOptions): string;
79
81
  }
@@ -15,7 +15,7 @@ export class AlterPublicationSetOptions extends AlterPublicationChange {
15
15
  get requires() {
16
16
  return [this.publication.stableId];
17
17
  }
18
- serialize() {
18
+ serialize(_options) {
19
19
  const assignments = [];
20
20
  if (this.setPublish) {
21
21
  const operations = getPublicationOperations(this.publication);
@@ -50,7 +50,7 @@ export class AlterPublicationSetList extends AlterPublicationChange {
50
50
  }
51
51
  return Array.from(dependencies);
52
52
  }
53
- serialize() {
53
+ serialize(_options) {
54
54
  const clauses = formatPublicationObjects(this.publication.tables, this.publication.schemas);
55
55
  return `ALTER PUBLICATION ${this.publication.name} SET ${clauses.join(", ")}`;
56
56
  }
@@ -77,7 +77,7 @@ export class AlterPublicationAddTables extends AlterPublicationChange {
77
77
  }
78
78
  return Array.from(dependencies);
79
79
  }
80
- serialize() {
80
+ serialize(_options) {
81
81
  const clauses = this.tables.map((table) => formatPublicationTable(table));
82
82
  return `ALTER PUBLICATION ${this.publication.name} ADD ${clauses.join(", ")}`;
83
83
  }
@@ -99,7 +99,12 @@ export class AlterPublicationDropTables extends AlterPublicationChange {
99
99
  }
100
100
  return Array.from(dependencies);
101
101
  }
102
- serialize() {
102
+ get drops() {
103
+ // Treat ALTER PUBLICATION ... DROP TABLE as a destructive change so it runs
104
+ // in the drop phase before DROP TABLE removes the referenced relation.
105
+ return this.tables.map((table) => stableId.table(table.schema, table.name));
106
+ }
107
+ serialize(_options) {
103
108
  const targets = this.tables.map((table) => `${table.schema}.${table.name}`);
104
109
  return `ALTER PUBLICATION ${this.publication.name} DROP TABLE ${targets.join(", ")}`;
105
110
  }
@@ -119,7 +124,7 @@ export class AlterPublicationAddSchemas extends AlterPublicationChange {
119
124
  ...this.schemas.map((schema) => stableId.schema(schema)),
120
125
  ];
121
126
  }
122
- serialize() {
127
+ serialize(_options) {
123
128
  const clauses = this.schemas.map((schema) => `TABLES IN SCHEMA ${schema}`);
124
129
  return `ALTER PUBLICATION ${this.publication.name} ADD ${clauses.join(", ")}`;
125
130
  }
@@ -139,7 +144,7 @@ export class AlterPublicationDropSchemas extends AlterPublicationChange {
139
144
  ...this.schemas.map((schema) => stableId.schema(schema)),
140
145
  ];
141
146
  }
142
- serialize() {
147
+ serialize(_options) {
143
148
  const clauses = this.schemas.map((schema) => `TABLES IN SCHEMA ${schema}`);
144
149
  return `ALTER PUBLICATION ${this.publication.name} DROP ${clauses.join(", ")}`;
145
150
  }
@@ -156,7 +161,7 @@ export class AlterPublicationSetOwner extends AlterPublicationChange {
156
161
  get requires() {
157
162
  return [this.publication.stableId, stableId.role(this.owner)];
158
163
  }
159
- serialize() {
164
+ serialize(_options) {
160
165
  return `ALTER PUBLICATION ${this.publication.name} OWNER TO ${this.owner}`;
161
166
  }
162
167
  }
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Publication } from "../publication.model.ts";
2
3
  import { CreatePublicationChange, DropPublicationChange } from "./publication.base.ts";
3
4
  export type CommentPublication = CreateCommentOnPublication | DropCommentOnPublication;
@@ -9,7 +10,7 @@ export declare class CreateCommentOnPublication extends CreatePublicationChange
9
10
  });
10
11
  get creates(): `comment:${string}`[];
11
12
  get requires(): `publication:${string}`[];
12
- serialize(): string;
13
+ serialize(_options?: SerializeOptions): string;
13
14
  }
14
15
  export declare class DropCommentOnPublication extends DropPublicationChange {
15
16
  readonly publication: Publication;
@@ -19,5 +20,5 @@ export declare class DropCommentOnPublication extends DropPublicationChange {
19
20
  });
20
21
  get drops(): `comment:${string}`[];
21
22
  get requires(): (`comment:${string}` | `publication:${string}`)[];
22
- serialize(): string;
23
+ serialize(_options?: SerializeOptions): string;
23
24
  }
@@ -14,7 +14,7 @@ export class CreateCommentOnPublication extends CreatePublicationChange {
14
14
  get requires() {
15
15
  return [this.publication.stableId];
16
16
  }
17
- serialize() {
17
+ serialize(_options) {
18
18
  return [
19
19
  "COMMENT ON PUBLICATION",
20
20
  this.publication.name,
@@ -40,7 +40,7 @@ export class DropCommentOnPublication extends DropPublicationChange {
40
40
  this.publication.stableId,
41
41
  ];
42
42
  }
43
- serialize() {
43
+ serialize(_options) {
44
44
  return `COMMENT ON PUBLICATION ${this.publication.name} IS NULL`;
45
45
  }
46
46
  }
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Publication } from "../publication.model.ts";
2
3
  import { CreatePublicationChange } from "./publication.base.ts";
3
4
  /**
@@ -13,5 +14,5 @@ export declare class CreatePublication extends CreatePublicationChange {
13
14
  });
14
15
  get creates(): `publication:${string}`[];
15
16
  get requires(): string[];
16
- serialize(): string;
17
+ serialize(_options?: SerializeOptions): string;
17
18
  }
@@ -34,7 +34,7 @@ export class CreatePublication extends CreatePublicationChange {
34
34
  }
35
35
  return Array.from(dependencies);
36
36
  }
37
- serialize() {
37
+ serialize(_options) {
38
38
  const parts = ["CREATE PUBLICATION", this.publication.name];
39
39
  if (this.publication.all_tables) {
40
40
  parts.push("FOR ALL TABLES");
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Publication } from "../publication.model.ts";
2
3
  import { DropPublicationChange } from "./publication.base.ts";
3
4
  /**
@@ -13,5 +14,5 @@ export declare class DropPublication extends DropPublicationChange {
13
14
  });
14
15
  get drops(): `publication:${string}`[];
15
16
  get requires(): `publication:${string}`[];
16
- serialize(): string;
17
+ serialize(_options?: SerializeOptions): string;
17
18
  }
@@ -17,7 +17,7 @@ export class DropPublication extends DropPublicationChange {
17
17
  get requires() {
18
18
  return [this.publication.stableId];
19
19
  }
20
- serialize() {
20
+ serialize(_options) {
21
21
  return `DROP PUBLICATION ${this.publication.name}`;
22
22
  }
23
23
  }
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { RlsPolicy } from "../rls-policy.model.ts";
2
3
  import { AlterRlsPolicyChange } from "./rls-policy.base.ts";
3
4
  /**
@@ -26,7 +27,7 @@ export declare class AlterRlsPolicySetRoles extends AlterRlsPolicyChange {
26
27
  roles: string[];
27
28
  });
28
29
  get requires(): `rlsPolicy:${string}`[];
29
- serialize(): string;
30
+ serialize(_options?: SerializeOptions): string;
30
31
  }
31
32
  /**
32
33
  * ALTER POLICY ... USING (...)
@@ -40,7 +41,7 @@ export declare class AlterRlsPolicySetUsingExpression extends AlterRlsPolicyChan
40
41
  usingExpression: string | null;
41
42
  });
42
43
  get requires(): `rlsPolicy:${string}`[];
43
- serialize(): string;
44
+ serialize(_options?: SerializeOptions): string;
44
45
  }
45
46
  /**
46
47
  * ALTER POLICY ... WITH CHECK (...)
@@ -54,7 +55,7 @@ export declare class AlterRlsPolicySetWithCheckExpression extends AlterRlsPolicy
54
55
  withCheckExpression: string | null;
55
56
  });
56
57
  get requires(): `rlsPolicy:${string}`[];
57
- serialize(): string;
58
+ serialize(_options?: SerializeOptions): string;
58
59
  }
59
60
  /**
60
61
  * Replace an RLS policy by dropping and recreating it.
@@ -14,7 +14,7 @@ export class AlterRlsPolicySetRoles extends AlterRlsPolicyChange {
14
14
  get requires() {
15
15
  return [this.policy.stableId];
16
16
  }
17
- serialize() {
17
+ serialize(_options) {
18
18
  const targetRoles = this.roles;
19
19
  const toPublic = targetRoles.length === 0 ||
20
20
  (targetRoles.length === 1 && targetRoles[0].toLowerCase() === "public");
@@ -44,7 +44,7 @@ export class AlterRlsPolicySetUsingExpression extends AlterRlsPolicyChange {
44
44
  get requires() {
45
45
  return [this.policy.stableId];
46
46
  }
47
- serialize() {
47
+ serialize(_options) {
48
48
  const expr = this.usingExpression ?? "true";
49
49
  return [
50
50
  "ALTER POLICY",
@@ -71,7 +71,7 @@ export class AlterRlsPolicySetWithCheckExpression extends AlterRlsPolicyChange {
71
71
  get requires() {
72
72
  return [this.policy.stableId];
73
73
  }
74
- serialize() {
74
+ serialize(_options) {
75
75
  const expr = this.withCheckExpression ?? "true";
76
76
  return [
77
77
  "ALTER POLICY",
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { RlsPolicy } from "../rls-policy.model.ts";
2
3
  import { CreateRlsPolicyChange, DropRlsPolicyChange } from "./rls-policy.base.ts";
3
4
  export type CommentRlsPolicy = CreateCommentOnRlsPolicy | DropCommentOnRlsPolicy;
@@ -9,7 +10,7 @@ export declare class CreateCommentOnRlsPolicy extends CreateRlsPolicyChange {
9
10
  });
10
11
  get creates(): `comment:${string}`[];
11
12
  get requires(): `rlsPolicy:${string}`[];
12
- serialize(): string;
13
+ serialize(_options?: SerializeOptions): string;
13
14
  }
14
15
  export declare class DropCommentOnRlsPolicy extends DropRlsPolicyChange {
15
16
  readonly policy: RlsPolicy;
@@ -19,5 +20,5 @@ export declare class DropCommentOnRlsPolicy extends DropRlsPolicyChange {
19
20
  });
20
21
  get drops(): `comment:${string}`[];
21
22
  get requires(): (`comment:${string}` | `rlsPolicy:${string}`)[];
22
- serialize(): string;
23
+ serialize(_options?: SerializeOptions): string;
23
24
  }
@@ -14,7 +14,7 @@ export class CreateCommentOnRlsPolicy extends CreateRlsPolicyChange {
14
14
  get requires() {
15
15
  return [this.policy.stableId];
16
16
  }
17
- serialize() {
17
+ serialize(_options) {
18
18
  return [
19
19
  "COMMENT ON POLICY",
20
20
  this.policy.name,
@@ -39,7 +39,7 @@ export class DropCommentOnRlsPolicy extends DropRlsPolicyChange {
39
39
  get requires() {
40
40
  return [stableId.comment(this.policy.stableId), this.policy.stableId];
41
41
  }
42
- serialize() {
42
+ serialize(_options) {
43
43
  return [
44
44
  "COMMENT ON POLICY",
45
45
  this.policy.name,
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { RlsPolicy } from "../rls-policy.model.ts";
2
3
  import { CreateRlsPolicyChange } from "./rls-policy.base.ts";
3
4
  /**
@@ -23,5 +24,5 @@ export declare class CreateRlsPolicy extends CreateRlsPolicyChange {
23
24
  });
24
25
  get creates(): `rlsPolicy:${string}`[];
25
26
  get requires(): string[];
26
- serialize(): string;
27
+ serialize(_options?: SerializeOptions): string;
27
28
  }
@@ -35,7 +35,7 @@ export class CreateRlsPolicy extends CreateRlsPolicyChange {
35
35
  dependencies.add(stableId.role(this.policy.owner));
36
36
  return Array.from(dependencies);
37
37
  }
38
- serialize() {
38
+ serialize(_options) {
39
39
  const parts = ["CREATE POLICY"];
40
40
  // Add policy name
41
41
  parts.push(this.policy.name);
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { RlsPolicy } from "../rls-policy.model.ts";
2
3
  import { DropRlsPolicyChange } from "./rls-policy.base.ts";
3
4
  /**
@@ -18,5 +19,5 @@ export declare class DropRlsPolicy extends DropRlsPolicyChange {
18
19
  });
19
20
  get drops(): `rlsPolicy:${string}`[];
20
21
  get requires(): `rlsPolicy:${string}`[];
21
- serialize(): string;
22
+ serialize(_options?: SerializeOptions): string;
22
23
  }
@@ -22,7 +22,7 @@ export class DropRlsPolicy extends DropRlsPolicyChange {
22
22
  get requires() {
23
23
  return [this.policy.stableId];
24
24
  }
25
- serialize() {
25
+ serialize(_options) {
26
26
  return [
27
27
  "DROP POLICY",
28
28
  this.policy.name,
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Role } from "../role.model.ts";
2
3
  import { AlterRoleChange } from "./role.base.ts";
3
4
  /**
@@ -46,7 +47,7 @@ export declare class AlterRoleSetOptions extends AlterRoleChange {
46
47
  options: string[];
47
48
  });
48
49
  get requires(): `role:${string}`[];
49
- serialize(): string;
50
+ serialize(_options?: SerializeOptions): string;
50
51
  }
51
52
  /**
52
53
  * ALTER ROLE ... SET/RESET configuration_parameter (single statement)
@@ -74,5 +75,5 @@ export declare class AlterRoleSetConfig extends AlterRoleChange {
74
75
  action: "reset_all";
75
76
  });
76
77
  get requires(): `role:${string}`[];
77
- serialize(): string;
78
+ serialize(_options?: SerializeOptions): string;
78
79
  }
@@ -16,7 +16,7 @@ export class AlterRoleSetOptions extends AlterRoleChange {
16
16
  get requires() {
17
17
  return [this.role.stableId];
18
18
  }
19
- serialize() {
19
+ serialize(_options) {
20
20
  const parts = ["ALTER ROLE", this.role.name];
21
21
  return [...parts, "WITH", this.options.join(" ")].join(" ");
22
22
  }
@@ -41,7 +41,7 @@ export class AlterRoleSetConfig extends AlterRoleChange {
41
41
  get requires() {
42
42
  return [this.role.stableId];
43
43
  }
44
- serialize() {
44
+ serialize(_options) {
45
45
  const head = ["ALTER ROLE", this.role.name].join(" ");
46
46
  if (this.action === "reset_all") {
47
47
  return `${head} RESET ALL`;
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Role } from "../role.model.ts";
2
3
  import { CreateRoleChange, DropRoleChange } from "./role.base.ts";
3
4
  export type CommentRole = CreateCommentOnRole | DropCommentOnRole;
@@ -9,7 +10,7 @@ export declare class CreateCommentOnRole extends CreateRoleChange {
9
10
  });
10
11
  get creates(): `comment:${string}`[];
11
12
  get requires(): `role:${string}`[];
12
- serialize(): string;
13
+ serialize(_options?: SerializeOptions): string;
13
14
  }
14
15
  export declare class DropCommentOnRole extends DropRoleChange {
15
16
  readonly role: Role;
@@ -19,5 +20,5 @@ export declare class DropCommentOnRole extends DropRoleChange {
19
20
  });
20
21
  get drops(): `comment:${string}`[];
21
22
  get requires(): (`comment:${string}` | `role:${string}`)[];
22
- serialize(): string;
23
+ serialize(_options?: SerializeOptions): string;
23
24
  }
@@ -14,7 +14,7 @@ export class CreateCommentOnRole extends CreateRoleChange {
14
14
  get requires() {
15
15
  return [this.role.stableId];
16
16
  }
17
- serialize() {
17
+ serialize(_options) {
18
18
  return [
19
19
  "COMMENT ON ROLE",
20
20
  this.role.name,
@@ -36,7 +36,7 @@ export class DropCommentOnRole extends DropRoleChange {
36
36
  get requires() {
37
37
  return [stableId.comment(this.role.stableId), this.role.stableId];
38
38
  }
39
- serialize() {
39
+ serialize(_options) {
40
40
  return ["COMMENT ON ROLE", this.role.name, "IS NULL"].join(" ");
41
41
  }
42
42
  }
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Role } from "../role.model.ts";
2
3
  import { CreateRoleChange } from "./role.base.ts";
3
4
  /**
@@ -34,5 +35,5 @@ export declare class CreateRole extends CreateRoleChange {
34
35
  role: Role;
35
36
  });
36
37
  get creates(): `role:${string}`[];
37
- serialize(): string;
38
+ serialize(_options?: SerializeOptions): string;
38
39
  }
@@ -36,7 +36,7 @@ export class CreateRole extends CreateRoleChange {
36
36
  get creates() {
37
37
  return [this.role.stableId];
38
38
  }
39
- serialize() {
39
+ serialize(_options) {
40
40
  const parts = ["CREATE ROLE"];
41
41
  // Add role name
42
42
  parts.push(this.role.name);
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Role } from "../role.model.ts";
2
3
  import { DropRoleChange } from "./role.base.ts";
3
4
  /**
@@ -18,5 +19,5 @@ export declare class DropRole extends DropRoleChange {
18
19
  });
19
20
  get drops(): `role:${string}`[];
20
21
  get requires(): `role:${string}`[];
21
- serialize(): string;
22
+ serialize(_options?: SerializeOptions): string;
22
23
  }
@@ -22,7 +22,7 @@ export class DropRole extends DropRoleChange {
22
22
  get requires() {
23
23
  return [this.role.stableId];
24
24
  }
25
- serialize() {
25
+ serialize(_options) {
26
26
  return ["DROP ROLE", this.role.name].join(" ");
27
27
  }
28
28
  }
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Role } from "../role.model.ts";
2
3
  import { CreateRoleChange, DropRoleChange } from "./role.base.ts";
3
4
  export type RolePrivilege = GrantRoleMembership | RevokeRoleMembership | RevokeRoleMembershipOptions | GrantRoleDefaultPrivileges | RevokeRoleDefaultPrivileges;
@@ -33,7 +34,7 @@ export declare class GrantRoleMembership extends CreateRoleChange {
33
34
  });
34
35
  get creates(): `membership:${string}->${string}`[];
35
36
  get requires(): `role:${string}`[];
36
- serialize(): string;
37
+ serialize(_options?: SerializeOptions): string;
37
38
  }
38
39
  /**
39
40
  * Revoke role membership.
@@ -57,7 +58,7 @@ export declare class RevokeRoleMembership extends DropRoleChange {
57
58
  });
58
59
  get drops(): `membership:${string}->${string}`[];
59
60
  get requires(): (`role:${string}` | `membership:${string}->${string}`)[];
60
- serialize(): string;
61
+ serialize(_options?: SerializeOptions): string;
61
62
  }
62
63
  /**
63
64
  * Revoke membership options for a role.
@@ -82,7 +83,7 @@ export declare class RevokeRoleMembershipOptions extends DropRoleChange {
82
83
  set?: boolean;
83
84
  });
84
85
  get requires(): (`role:${string}` | `membership:${string}->${string}`)[];
85
- serialize(): string;
86
+ serialize(_options?: SerializeOptions): string;
86
87
  }
87
88
  /**
88
89
  * Grant default privileges for a role.
@@ -113,7 +114,7 @@ export declare class GrantRoleDefaultPrivileges extends CreateRoleChange {
113
114
  });
114
115
  get creates(): `defacl:${string}:${string}:${string}:grantee:${string}`[];
115
116
  get requires(): (`schema:${string}` | `role:${string}`)[];
116
- serialize(): string;
117
+ serialize(_options?: SerializeOptions): string;
117
118
  }
118
119
  /**
119
120
  * Revoke default privileges for a role.
@@ -144,5 +145,5 @@ export declare class RevokeRoleDefaultPrivileges extends DropRoleChange {
144
145
  });
145
146
  get drops(): `defacl:${string}:${string}:${string}:grantee:${string}`[];
146
147
  get requires(): (`schema:${string}` | `defacl:${string}:${string}:${string}:grantee:${string}` | `role:${string}`)[];
147
- serialize(): string;
148
+ serialize(_options?: SerializeOptions): string;
148
149
  }
@@ -29,7 +29,7 @@ export class GrantRoleMembership extends CreateRoleChange {
29
29
  get requires() {
30
30
  return [this.role.stableId, stableId.role(this.member)];
31
31
  }
32
- serialize() {
32
+ serialize(_options) {
33
33
  // On creation, only emit ADMIN OPTION; leave INHERIT/SET to defaults
34
34
  const opts = [];
35
35
  if (this.options.admin)
@@ -69,7 +69,7 @@ export class RevokeRoleMembership extends DropRoleChange {
69
69
  this.role.stableId,
70
70
  ];
71
71
  }
72
- serialize() {
72
+ serialize(_options) {
73
73
  return `REVOKE ${this.role.name} FROM ${this.member}`;
74
74
  }
75
75
  }
@@ -103,7 +103,7 @@ export class RevokeRoleMembershipOptions extends DropRoleChange {
103
103
  this.role.stableId,
104
104
  ];
105
105
  }
106
- serialize() {
106
+ serialize(_options) {
107
107
  const parts = [];
108
108
  if (this.admin)
109
109
  parts.push("ADMIN OPTION");
@@ -148,7 +148,7 @@ export class GrantRoleDefaultPrivileges extends CreateRoleChange {
148
148
  ...(this.inSchema ? [stableId.schema(this.inSchema)] : []),
149
149
  ];
150
150
  }
151
- serialize() {
151
+ serialize(_options) {
152
152
  const scope = this.inSchema ? ` IN SCHEMA ${this.inSchema}` : "";
153
153
  const hasGrantable = this.privileges.some((p) => p.grantable);
154
154
  const hasBase = this.privileges.some((p) => !p.grantable);
@@ -195,7 +195,7 @@ export class RevokeRoleDefaultPrivileges extends DropRoleChange {
195
195
  ...(this.inSchema ? [stableId.schema(this.inSchema)] : []),
196
196
  ];
197
197
  }
198
- serialize() {
198
+ serialize(_options) {
199
199
  const scope = this.inSchema ? ` IN SCHEMA ${this.inSchema}` : "";
200
200
  const grantOptionPrivs = this.privileges
201
201
  .filter((p) => p.grantable)
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Rule, RuleEnabledState } from "../rule.model.ts";
2
3
  import { AlterRuleChange } from "./rule.base.ts";
3
4
  export declare class ReplaceRule extends AlterRuleChange {
@@ -7,7 +8,7 @@ export declare class ReplaceRule extends AlterRuleChange {
7
8
  rule: Rule;
8
9
  });
9
10
  get requires(): string[];
10
- serialize(): string;
11
+ serialize(_options?: SerializeOptions): string;
11
12
  }
12
13
  export declare class SetRuleEnabledState extends AlterRuleChange {
13
14
  readonly rule: Rule;
@@ -18,5 +19,5 @@ export declare class SetRuleEnabledState extends AlterRuleChange {
18
19
  enabled?: RuleEnabledState;
19
20
  });
20
21
  get requires(): string[];
21
- serialize(): string;
22
+ serialize(_options?: SerializeOptions): string;
22
23
  }
@@ -15,7 +15,7 @@ export class ReplaceRule extends AlterRuleChange {
15
15
  ...this.rule.columns.map((column) => stableId.column(this.rule.schema, this.rule.table_name, column)),
16
16
  ];
17
17
  }
18
- serialize() {
18
+ serialize(_options) {
19
19
  return new CreateRule({ rule: this.rule, orReplace: true }).serialize();
20
20
  }
21
21
  }
@@ -35,7 +35,7 @@ export class SetRuleEnabledState extends AlterRuleChange {
35
35
  ...this.rule.columns.map((column) => stableId.column(this.rule.schema, this.rule.table_name, column)),
36
36
  ];
37
37
  }
38
- serialize() {
38
+ serialize(_options) {
39
39
  const clause = clauseForState(this.enabled);
40
40
  return `ALTER TABLE ${this.rule.schema}.${this.rule.table_name} ${clause} ${this.rule.name}`;
41
41
  }
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Rule } from "../rule.model.ts";
2
3
  import { CreateRuleChange, DropRuleChange } from "./rule.base.ts";
3
4
  export declare class CreateCommentOnRule extends CreateRuleChange {
@@ -8,7 +9,7 @@ export declare class CreateCommentOnRule extends CreateRuleChange {
8
9
  });
9
10
  get creates(): `comment:${string}`[];
10
11
  get requires(): `rule:${string}`[];
11
- serialize(): string;
12
+ serialize(_options?: SerializeOptions): string;
12
13
  }
13
14
  export declare class DropCommentOnRule extends DropRuleChange {
14
15
  readonly rule: Rule;
@@ -18,5 +19,5 @@ export declare class DropCommentOnRule extends DropRuleChange {
18
19
  });
19
20
  get drops(): `comment:${string}`[];
20
21
  get requires(): (`comment:${string}` | `rule:${string}`)[];
21
- serialize(): string;
22
+ serialize(_options?: SerializeOptions): string;
22
23
  }
@@ -14,7 +14,7 @@ export class CreateCommentOnRule extends CreateRuleChange {
14
14
  get requires() {
15
15
  return [this.rule.stableId];
16
16
  }
17
- serialize() {
17
+ serialize(_options) {
18
18
  return [
19
19
  "COMMENT ON RULE",
20
20
  this.rule.name,
@@ -39,7 +39,7 @@ export class DropCommentOnRule extends DropRuleChange {
39
39
  get requires() {
40
40
  return [stableId.comment(this.rule.stableId), this.rule.stableId];
41
41
  }
42
- serialize() {
42
+ serialize(_options) {
43
43
  return [
44
44
  "COMMENT ON RULE",
45
45
  this.rule.name,