@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
@@ -21,15 +21,21 @@ export class DropTable extends DropTableChange {
21
21
  return [
22
22
  this.table.stableId,
23
23
  ...this.table.columns.map((column) => stableId.column(this.table.schema, this.table.name, column.name)),
24
+ // Include constraint stableIds so FK relationships that only exist at the
25
+ // constraint level still affect whole-table drop ordering.
26
+ ...this.table.constraints.map((constraint) => stableId.constraint(this.table.schema, this.table.name, constraint.name)),
24
27
  ];
25
28
  }
26
29
  get requires() {
27
30
  return [
28
31
  this.table.stableId,
29
32
  ...this.table.columns.map((col) => stableId.column(this.table.schema, this.table.name, col.name)),
33
+ // Mirror the dropped constraint ids in requires so drop-phase graph
34
+ // consumers can connect catalog FK edges back to this table drop.
35
+ ...this.table.constraints.map((constraint) => stableId.constraint(this.table.schema, this.table.name, constraint.name)),
30
36
  ];
31
37
  }
32
- serialize() {
38
+ serialize(_options) {
33
39
  return ["DROP TABLE", `${this.table.schema}.${this.table.name}`].join(" ");
34
40
  }
35
41
  }
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Table } from "../table.model.ts";
2
3
  import { AlterTableChange } from "./table.base.ts";
3
4
  export type TablePrivilege = GrantTablePrivileges | RevokeTablePrivileges | RevokeGrantOptionTablePrivileges;
@@ -38,7 +39,7 @@ export declare class GrantTablePrivileges extends AlterTableChange {
38
39
  });
39
40
  get creates(): `acl:${string}::grantee:${string}`[];
40
41
  get requires(): (`role:${string}` | `table:${string}`)[];
41
- serialize(): string;
42
+ serialize(_options?: SerializeOptions): string;
42
43
  }
43
44
  /**
44
45
  * Revoke privileges on a table.
@@ -79,7 +80,7 @@ export declare class RevokeTablePrivileges extends AlterTableChange {
79
80
  });
80
81
  get drops(): `acl:${string}::grantee:${string}`[];
81
82
  get requires(): (`acl:${string}::grantee:${string}` | `role:${string}` | `table:${string}`)[];
82
- serialize(): string;
83
+ serialize(_options?: SerializeOptions): string;
83
84
  }
84
85
  /**
85
86
  * Revoke grant option for privileges on a table.
@@ -103,5 +104,5 @@ export declare class RevokeGrantOptionTablePrivileges extends AlterTableChange {
103
104
  version?: number;
104
105
  });
105
106
  get requires(): (`acl:${string}::grantee:${string}` | `role:${string}` | `table:${string}`)[];
106
- serialize(): string;
107
+ serialize(_options?: SerializeOptions): string;
107
108
  }
@@ -37,7 +37,7 @@ export class GrantTablePrivileges extends AlterTableChange {
37
37
  get requires() {
38
38
  return [this.table.stableId, stableId.role(this.grantee)];
39
39
  }
40
- serialize() {
40
+ serialize(_options) {
41
41
  const hasGrantable = this.privileges.some((p) => p.grantable);
42
42
  const hasBase = this.privileges.some((p) => !p.grantable);
43
43
  if (hasGrantable && hasBase) {
@@ -98,7 +98,7 @@ export class RevokeTablePrivileges extends AlterTableChange {
98
98
  stableId.role(this.grantee),
99
99
  ];
100
100
  }
101
- serialize() {
101
+ serialize(_options) {
102
102
  const kindPrefix = getObjectKindPrefix("TABLE");
103
103
  const list = this.privileges.map((p) => p.privilege);
104
104
  const privSql = formatObjectPrivilegeList("TABLE", list, this.version);
@@ -138,7 +138,7 @@ export class RevokeGrantOptionTablePrivileges extends AlterTableChange {
138
138
  stableId.role(this.grantee),
139
139
  ];
140
140
  }
141
- serialize() {
141
+ serialize(_options) {
142
142
  const kindPrefix = getObjectKindPrefix("TABLE");
143
143
  const privSql = formatObjectPrivilegeList("TABLE", this.privilegeNames, this.version);
144
144
  const tableName = `${this.table.schema}.${this.table.name}`;
@@ -1,7 +1,7 @@
1
1
  import { diffObjects } from "../base.diff.js";
2
2
  import { diffPrivileges, emitColumnPrivilegeChanges, } from "../base.privilege-diff.js";
3
3
  import { deepEqual } from "../utils.js";
4
- import { AlterTableAddColumn, AlterTableAddConstraint, AlterTableAlterColumnDropDefault, AlterTableAlterColumnDropNotNull, AlterTableAlterColumnSetDefault, AlterTableAlterColumnSetNotNull, AlterTableAlterColumnType, AlterTableAttachPartition, AlterTableChangeOwner, AlterTableDetachPartition, AlterTableDisableRowLevelSecurity, AlterTableDropColumn, AlterTableDropConstraint, AlterTableEnableRowLevelSecurity, AlterTableForceRowLevelSecurity, AlterTableNoForceRowLevelSecurity, AlterTableResetStorageParams, AlterTableSetLogged, AlterTableSetReplicaIdentity, AlterTableSetStorageParams, AlterTableSetUnlogged, AlterTableValidateConstraint, } from "./changes/table.alter.js";
4
+ import { AlterTableAddColumn, AlterTableAddConstraint, AlterTableAlterColumnAddIdentity, AlterTableAlterColumnDropDefault, AlterTableAlterColumnDropIdentity, AlterTableAlterColumnDropNotNull, AlterTableAlterColumnSetDefault, AlterTableAlterColumnSetGenerated, AlterTableAlterColumnSetNotNull, AlterTableAlterColumnType, AlterTableAttachPartition, AlterTableChangeOwner, AlterTableDetachPartition, AlterTableDisableRowLevelSecurity, AlterTableDropColumn, AlterTableDropConstraint, AlterTableEnableRowLevelSecurity, AlterTableForceRowLevelSecurity, AlterTableNoForceRowLevelSecurity, AlterTableResetStorageParams, AlterTableSetLogged, AlterTableSetReplicaIdentity, AlterTableSetStorageParams, AlterTableSetUnlogged, AlterTableValidateConstraint, } from "./changes/table.alter.js";
5
5
  import { CreateCommentOnColumn, CreateCommentOnConstraint, CreateCommentOnTable, DropCommentOnColumn, DropCommentOnConstraint, DropCommentOnTable, } from "./changes/table.comment.js";
6
6
  import { CreateTable } from "./changes/table.create.js";
7
7
  import { DropTable } from "./changes/table.drop.js";
@@ -381,6 +381,17 @@ export function diffTables(ctx, main, branch) {
381
381
  partitionNotNullChanged &&
382
382
  parentBranchCol.not_null === branchCol.not_null);
383
383
  }
384
+ case "identity": {
385
+ const parentIdentityChanged = parentMainCol.is_identity !== parentBranchCol.is_identity ||
386
+ parentMainCol.is_identity_always !==
387
+ parentBranchCol.is_identity_always;
388
+ const partitionIdentityChanged = mainCol.is_identity !== branchCol.is_identity ||
389
+ mainCol.is_identity_always !== branchCol.is_identity_always;
390
+ return (parentIdentityChanged &&
391
+ partitionIdentityChanged &&
392
+ parentBranchCol.is_identity === branchCol.is_identity &&
393
+ parentBranchCol.is_identity_always === branchCol.is_identity_always);
394
+ }
384
395
  }
385
396
  };
386
397
  // Helper to check if parent has the same column add/drop
@@ -450,6 +461,16 @@ export function diffTables(ctx, main, branch) {
450
461
  }));
451
462
  }
452
463
  }
464
+ // PostgreSQL rejects SET DEFAULT while the column still has identity metadata,
465
+ // so identity removal must lead the IDENTITY -> serial/default transition.
466
+ if (mainCol.is_identity && !branchCol.is_identity) {
467
+ if (!parentHasSameColumnPropertyChange(name, "identity")) {
468
+ changes.push(new AlterTableAlterColumnDropIdentity({
469
+ table: branchTable,
470
+ column: branchCol,
471
+ }));
472
+ }
473
+ }
453
474
  // DEFAULT change
454
475
  if (mainCol.default !== branchCol.default) {
455
476
  // Skip if parent has the same default change
@@ -490,6 +511,30 @@ export function diffTables(ctx, main, branch) {
490
511
  }
491
512
  }
492
513
  }
514
+ // Serial-like defaults have to be cleared before ADD GENERATED AS IDENTITY,
515
+ // while mode-only flips stay in-place on an existing identity column.
516
+ if ((!mainCol.is_identity && branchCol.is_identity) ||
517
+ (mainCol.is_identity &&
518
+ branchCol.is_identity &&
519
+ mainCol.is_identity_always !== branchCol.is_identity_always)) {
520
+ // Skip if parent has the same identity change
521
+ if (!parentHasSameColumnPropertyChange(name, "identity")) {
522
+ if (!mainCol.is_identity && branchCol.is_identity) {
523
+ changes.push(new AlterTableAlterColumnAddIdentity({
524
+ table: branchTable,
525
+ column: branchCol,
526
+ }));
527
+ }
528
+ else if (mainCol.is_identity &&
529
+ branchCol.is_identity &&
530
+ mainCol.is_identity_always !== branchCol.is_identity_always) {
531
+ changes.push(new AlterTableAlterColumnSetGenerated({
532
+ table: branchTable,
533
+ column: branchCol,
534
+ }));
535
+ }
536
+ }
537
+ }
493
538
  // NOT NULL change
494
539
  if (mainCol.not_null !== branchCol.not_null) {
495
540
  // Skip if parent has the same NOT NULL change
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { TableLikeObject } from "../../base.model.ts";
2
3
  import type { Trigger } from "../trigger.model.ts";
3
4
  import { AlterTriggerChange } from "./trigger.base.ts";
@@ -25,5 +26,5 @@ export declare class ReplaceTrigger extends AlterTriggerChange {
25
26
  indexableObject?: TableLikeObject;
26
27
  });
27
28
  get requires(): `trigger:${string}`[];
28
- serialize(): string;
29
+ serialize(_options?: SerializeOptions): string;
29
30
  }
@@ -18,7 +18,7 @@ export class ReplaceTrigger extends AlterTriggerChange {
18
18
  get requires() {
19
19
  return [this.trigger.stableId];
20
20
  }
21
- serialize() {
21
+ serialize(_options) {
22
22
  if (this.trigger.isConstraintTrigger) {
23
23
  const dropChange = new DropTrigger({ trigger: this.trigger });
24
24
  const createChange = new CreateTrigger({
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Trigger } from "../trigger.model.ts";
2
3
  import { CreateTriggerChange, DropTriggerChange } from "./trigger.base.ts";
3
4
  export type CommentTrigger = CreateCommentOnTrigger | DropCommentOnTrigger;
@@ -9,7 +10,7 @@ export declare class CreateCommentOnTrigger extends CreateTriggerChange {
9
10
  });
10
11
  get creates(): `comment:${string}`[];
11
12
  get requires(): `trigger:${string}`[];
12
- serialize(): string;
13
+ serialize(_options?: SerializeOptions): string;
13
14
  }
14
15
  export declare class DropCommentOnTrigger extends DropTriggerChange {
15
16
  readonly trigger: Trigger;
@@ -19,5 +20,5 @@ export declare class DropCommentOnTrigger extends DropTriggerChange {
19
20
  });
20
21
  get drops(): `comment:${string}`[];
21
22
  get requires(): (`comment:${string}` | `trigger:${string}`)[];
22
- serialize(): string;
23
+ serialize(_options?: SerializeOptions): string;
23
24
  }
@@ -14,7 +14,7 @@ export class CreateCommentOnTrigger extends CreateTriggerChange {
14
14
  get requires() {
15
15
  return [this.trigger.stableId];
16
16
  }
17
- serialize() {
17
+ serialize(_options) {
18
18
  return [
19
19
  "COMMENT ON TRIGGER",
20
20
  this.trigger.name,
@@ -39,7 +39,7 @@ export class DropCommentOnTrigger extends DropTriggerChange {
39
39
  get requires() {
40
40
  return [stableId.comment(this.trigger.stableId), this.trigger.stableId];
41
41
  }
42
- serialize() {
42
+ serialize(_options) {
43
43
  return [
44
44
  "COMMENT ON TRIGGER",
45
45
  this.trigger.name,
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { TableLikeObject } from "../../base.model.ts";
2
3
  import type { Trigger } from "../trigger.model.ts";
3
4
  import { CreateTriggerChange } from "./trigger.base.ts";
@@ -37,5 +38,5 @@ export declare class CreateTrigger extends CreateTriggerChange {
37
38
  });
38
39
  get creates(): `trigger:${string}`[];
39
40
  get requires(): string[];
40
- serialize(): string;
41
+ serialize(_options?: SerializeOptions): string;
41
42
  }
@@ -51,7 +51,7 @@ export class CreateTrigger extends CreateTriggerChange {
51
51
  dependencies.add(stableId.role(this.trigger.owner));
52
52
  return Array.from(dependencies);
53
53
  }
54
- serialize() {
54
+ serialize(_options) {
55
55
  let definition = this.trigger.definition.trim();
56
56
  const isConstraintTrigger = this.trigger.isConstraintTrigger;
57
57
  definition = definition.replace(/^CREATE\s+(?:OR\s+REPLACE\s+)?/i, `CREATE ${this.orReplace && !isConstraintTrigger ? "OR REPLACE " : ""}`);
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Trigger } from "../trigger.model.ts";
2
3
  import { DropTriggerChange } from "./trigger.base.ts";
3
4
  /**
@@ -18,5 +19,5 @@ export declare class DropTrigger extends DropTriggerChange {
18
19
  });
19
20
  get drops(): `trigger:${string}`[];
20
21
  get requires(): `trigger:${string}`[];
21
- serialize(): string;
22
+ serialize(_options?: SerializeOptions): string;
22
23
  }
@@ -22,7 +22,7 @@ export class DropTrigger extends DropTriggerChange {
22
22
  get requires() {
23
23
  return [this.trigger.stableId];
24
24
  }
25
- serialize() {
25
+ serialize(_options) {
26
26
  return [
27
27
  "DROP TRIGGER",
28
28
  this.trigger.name,
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
1
2
  import type { CompositeType } from "../composite-type.model.ts";
2
3
  import { AlterCompositeTypeChange } from "./composite-type.base.ts";
3
4
  /**
@@ -29,7 +30,7 @@ export declare class AlterCompositeTypeChangeOwner extends AlterCompositeTypeCha
29
30
  owner: string;
30
31
  });
31
32
  get requires(): `type:${string}`[];
32
- serialize(): string;
33
+ serialize(_options?: SerializeOptions): string;
33
34
  }
34
35
  /**
35
36
  * ALTER TYPE ... ADD ATTRIBUTE ...
@@ -44,7 +45,7 @@ export declare class AlterCompositeTypeAddAttribute extends AlterCompositeTypeCh
44
45
  });
45
46
  get creates(): string[];
46
47
  get requires(): `type:${string}`[];
47
- serialize(): string;
48
+ serialize(_options?: SerializeOptions): string;
48
49
  }
49
50
  /**
50
51
  * ALTER TYPE ... DROP ATTRIBUTE ...
@@ -58,7 +59,7 @@ export declare class AlterCompositeTypeDropAttribute extends AlterCompositeTypeC
58
59
  attribute: CompositeType["columns"][number];
59
60
  });
60
61
  get requires(): string[];
61
- serialize(): string;
62
+ serialize(_options?: SerializeOptions): string;
62
63
  }
63
64
  /**
64
65
  * ALTER TYPE ... ALTER ATTRIBUTE ... TYPE ... [ COLLATE ... ]
@@ -72,7 +73,7 @@ export declare class AlterCompositeTypeAlterAttributeType extends AlterComposite
72
73
  attribute: CompositeType["columns"][number];
73
74
  });
74
75
  get requires(): string[];
75
- serialize(): string;
76
+ serialize(_options?: SerializeOptions): string;
76
77
  }
77
78
  /**
78
79
  * Replace a composite type by dropping and recreating it.
@@ -14,7 +14,7 @@ export class AlterCompositeTypeChangeOwner extends AlterCompositeTypeChange {
14
14
  get requires() {
15
15
  return [this.compositeType.stableId];
16
16
  }
17
- serialize() {
17
+ serialize(_options) {
18
18
  return [
19
19
  "ALTER TYPE",
20
20
  `${this.compositeType.schema}.${this.compositeType.name}`,
@@ -41,7 +41,7 @@ export class AlterCompositeTypeAddAttribute extends AlterCompositeTypeChange {
41
41
  get requires() {
42
42
  return [this.compositeType.stableId];
43
43
  }
44
- serialize() {
44
+ serialize(_options) {
45
45
  const parts = [
46
46
  "ALTER TYPE",
47
47
  `${this.compositeType.schema}.${this.compositeType.name}`,
@@ -73,7 +73,7 @@ export class AlterCompositeTypeDropAttribute extends AlterCompositeTypeChange {
73
73
  this.compositeType.stableId,
74
74
  ];
75
75
  }
76
- serialize() {
76
+ serialize(_options) {
77
77
  return [
78
78
  "ALTER TYPE",
79
79
  `${this.compositeType.schema}.${this.compositeType.name}`,
@@ -100,7 +100,7 @@ export class AlterCompositeTypeAlterAttributeType extends AlterCompositeTypeChan
100
100
  this.compositeType.stableId,
101
101
  ];
102
102
  }
103
- serialize() {
103
+ serialize(_options) {
104
104
  const parts = [
105
105
  "ALTER TYPE",
106
106
  `${this.compositeType.schema}.${this.compositeType.name}`,
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
1
2
  import type { ColumnProps } from "../../../base.model.ts";
2
3
  import type { CompositeType } from "../composite-type.model.ts";
3
4
  import { CreateCompositeTypeChange, DropCompositeTypeChange } from "./composite-type.base.ts";
@@ -15,7 +16,7 @@ export declare class CreateCommentOnCompositeType extends CreateCompositeTypeCha
15
16
  });
16
17
  get creates(): `comment:${string}`[];
17
18
  get requires(): `type:${string}`[];
18
- serialize(): string;
19
+ serialize(_options?: SerializeOptions): string;
19
20
  }
20
21
  export declare class DropCommentOnCompositeType extends DropCompositeTypeChange {
21
22
  readonly compositeType: CompositeType;
@@ -25,7 +26,7 @@ export declare class DropCommentOnCompositeType extends DropCompositeTypeChange
25
26
  });
26
27
  get drops(): `comment:${string}`[];
27
28
  get requires(): (`comment:${string}` | `type:${string}`)[];
28
- serialize(): string;
29
+ serialize(_options?: SerializeOptions): string;
29
30
  }
30
31
  export declare class CreateCommentOnCompositeTypeAttribute extends CreateCompositeTypeChange {
31
32
  readonly compositeType: CompositeType;
@@ -37,7 +38,7 @@ export declare class CreateCommentOnCompositeTypeAttribute extends CreateComposi
37
38
  });
38
39
  get creates(): `comment:${string}`[];
39
40
  get requires(): string[];
40
- serialize(): string;
41
+ serialize(_options?: SerializeOptions): string;
41
42
  }
42
43
  export declare class DropCommentOnCompositeTypeAttribute extends DropCompositeTypeChange {
43
44
  readonly compositeType: CompositeType;
@@ -49,5 +50,5 @@ export declare class DropCommentOnCompositeTypeAttribute extends DropCompositeTy
49
50
  });
50
51
  get drops(): `comment:${string}`[];
51
52
  get requires(): string[];
52
- serialize(): string;
53
+ serialize(_options?: SerializeOptions): string;
53
54
  }
@@ -14,7 +14,7 @@ export class CreateCommentOnCompositeType extends CreateCompositeTypeChange {
14
14
  get requires() {
15
15
  return [this.compositeType.stableId];
16
16
  }
17
- serialize() {
17
+ serialize(_options) {
18
18
  return [
19
19
  "COMMENT ON TYPE",
20
20
  `${this.compositeType.schema}.${this.compositeType.name}`,
@@ -40,7 +40,7 @@ export class DropCommentOnCompositeType extends DropCompositeTypeChange {
40
40
  this.compositeType.stableId,
41
41
  ];
42
42
  }
43
- serialize() {
43
+ serialize(_options) {
44
44
  return [
45
45
  "COMMENT ON TYPE",
46
46
  `${this.compositeType.schema}.${this.compositeType.name}`,
@@ -67,7 +67,7 @@ export class CreateCommentOnCompositeTypeAttribute extends CreateCompositeTypeCh
67
67
  this.compositeType.stableId,
68
68
  ];
69
69
  }
70
- serialize() {
70
+ serialize(_options) {
71
71
  return [
72
72
  "COMMENT ON COLUMN",
73
73
  `${this.compositeType.schema}.${this.compositeType.name}.${this.attribute.name}`,
@@ -98,7 +98,7 @@ export class DropCommentOnCompositeTypeAttribute extends DropCompositeTypeChange
98
98
  this.compositeType.stableId,
99
99
  ];
100
100
  }
101
- serialize() {
101
+ serialize(_options) {
102
102
  return [
103
103
  "COMMENT ON COLUMN",
104
104
  `${this.compositeType.schema}.${this.compositeType.name}.${this.attribute.name}`,
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
1
2
  import type { CompositeType } from "../composite-type.model.ts";
2
3
  import { CreateCompositeTypeChange } from "./composite-type.base.ts";
3
4
  /**
@@ -19,5 +20,5 @@ export declare class CreateCompositeType extends CreateCompositeTypeChange {
19
20
  });
20
21
  get creates(): `type:${string}`[];
21
22
  get requires(): string[];
22
- serialize(): string;
23
+ serialize(_options?: SerializeOptions): string;
23
24
  }
@@ -48,7 +48,7 @@ export class CreateCompositeType extends CreateCompositeTypeChange {
48
48
  }
49
49
  return Array.from(dependencies);
50
50
  }
51
- serialize() {
51
+ serialize(_options) {
52
52
  const parts = ["CREATE TYPE"];
53
53
  // Add schema and name
54
54
  parts.push(`${this.compositeType.schema}.${this.compositeType.name}`);
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
1
2
  import type { CompositeType } from "../composite-type.model.ts";
2
3
  import { DropCompositeTypeChange } from "./composite-type.base.ts";
3
4
  /**
@@ -18,5 +19,5 @@ export declare class DropCompositeType extends DropCompositeTypeChange {
18
19
  });
19
20
  get drops(): `type:${string}`[];
20
21
  get requires(): `type:${string}`[];
21
- serialize(): string;
22
+ serialize(_options?: SerializeOptions): string;
22
23
  }
@@ -22,7 +22,7 @@ export class DropCompositeType extends DropCompositeTypeChange {
22
22
  get requires() {
23
23
  return [this.compositeType.stableId];
24
24
  }
25
- serialize() {
25
+ serialize(_options) {
26
26
  return [
27
27
  "DROP TYPE",
28
28
  `${this.compositeType.schema}.${this.compositeType.name}`,
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
1
2
  import type { CompositeType } from "../composite-type.model.ts";
2
3
  import { AlterCompositeTypeChange } from "./composite-type.base.ts";
3
4
  export type CompositeTypePrivilege = GrantCompositeTypePrivileges | RevokeCompositeTypePrivileges | RevokeGrantOptionCompositeTypePrivileges;
@@ -34,7 +35,7 @@ export declare class GrantCompositeTypePrivileges extends AlterCompositeTypeChan
34
35
  });
35
36
  get creates(): `acl:${string}::grantee:${string}`[];
36
37
  get requires(): (`role:${string}` | `type:${string}`)[];
37
- serialize(): string;
38
+ serialize(_options?: SerializeOptions): string;
38
39
  }
39
40
  /**
40
41
  * Revoke privileges on a composite type.
@@ -71,7 +72,7 @@ export declare class RevokeCompositeTypePrivileges extends AlterCompositeTypeCha
71
72
  });
72
73
  get drops(): `acl:${string}::grantee:${string}`[];
73
74
  get requires(): (`acl:${string}::grantee:${string}` | `role:${string}` | `type:${string}`)[];
74
- serialize(): string;
75
+ serialize(_options?: SerializeOptions): string;
75
76
  }
76
77
  /**
77
78
  * Revoke grant option for privileges on a composite type.
@@ -93,5 +94,5 @@ export declare class RevokeGrantOptionCompositeTypePrivileges extends AlterCompo
93
94
  version?: number;
94
95
  });
95
96
  get requires(): (`acl:${string}::grantee:${string}` | `role:${string}` | `type:${string}`)[];
96
- serialize(): string;
97
+ serialize(_options?: SerializeOptions): string;
97
98
  }
@@ -33,7 +33,7 @@ export class GrantCompositeTypePrivileges extends AlterCompositeTypeChange {
33
33
  get requires() {
34
34
  return [this.compositeType.stableId, stableId.role(this.grantee)];
35
35
  }
36
- serialize() {
36
+ serialize(_options) {
37
37
  const hasGrantable = this.privileges.some((p) => p.grantable);
38
38
  const hasBase = this.privileges.some((p) => !p.grantable);
39
39
  if (hasGrantable && hasBase) {
@@ -87,7 +87,7 @@ export class RevokeCompositeTypePrivileges extends AlterCompositeTypeChange {
87
87
  stableId.role(this.grantee),
88
88
  ];
89
89
  }
90
- serialize() {
90
+ serialize(_options) {
91
91
  const kindPrefix = getObjectKindPrefix("TYPE");
92
92
  const list = this.privileges.map((p) => p.privilege);
93
93
  const privSql = formatObjectPrivilegeList("TYPE", list, this.version);
@@ -122,7 +122,7 @@ export class RevokeGrantOptionCompositeTypePrivileges extends AlterCompositeType
122
122
  stableId.role(this.grantee),
123
123
  ];
124
124
  }
125
- serialize() {
125
+ serialize(_options) {
126
126
  const kindPrefix = getObjectKindPrefix("TYPE");
127
127
  const privSql = formatObjectPrivilegeList("TYPE", this.privilegeNames, this.version);
128
128
  const typeName = `${this.compositeType.schema}.${this.compositeType.name}`;
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Enum } from "../enum.model.ts";
2
3
  import { AlterEnumChange } from "./enum.base.ts";
3
4
  /**
@@ -26,7 +27,7 @@ export declare class AlterEnumChangeOwner extends AlterEnumChange {
26
27
  owner: string;
27
28
  });
28
29
  get requires(): `type:${string}`[];
29
- serialize(): string;
30
+ serialize(_options?: SerializeOptions): string;
30
31
  }
31
32
  /**
32
33
  * ALTER TYPE ... ADD VALUE ...
@@ -48,5 +49,5 @@ export declare class AlterEnumAddValue extends AlterEnumChange {
48
49
  };
49
50
  });
50
51
  get requires(): `type:${string}`[];
51
- serialize(): string;
52
+ serialize(_options?: SerializeOptions): string;
52
53
  }
@@ -15,7 +15,7 @@ export class AlterEnumChangeOwner extends AlterEnumChange {
15
15
  get requires() {
16
16
  return [this.enum.stableId];
17
17
  }
18
- serialize() {
18
+ serialize(_options) {
19
19
  return [
20
20
  "ALTER TYPE",
21
21
  `${this.enum.schema}.${this.enum.name}`,
@@ -41,7 +41,7 @@ export class AlterEnumAddValue extends AlterEnumChange {
41
41
  get requires() {
42
42
  return [this.enum.stableId];
43
43
  }
44
- serialize() {
44
+ serialize(_options) {
45
45
  const parts = [
46
46
  "ALTER TYPE",
47
47
  `${this.enum.schema}.${this.enum.name}`,
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Enum } from "../enum.model.ts";
2
3
  import { CreateEnumChange, DropEnumChange } from "./enum.base.ts";
3
4
  /**
@@ -12,7 +13,7 @@ export declare class CreateCommentOnEnum extends CreateEnumChange {
12
13
  });
13
14
  get creates(): `comment:${string}`[];
14
15
  get requires(): `type:${string}`[];
15
- serialize(): string;
16
+ serialize(_options?: SerializeOptions): string;
16
17
  }
17
18
  export declare class DropCommentOnEnum extends DropEnumChange {
18
19
  readonly enum: Enum;
@@ -22,5 +23,5 @@ export declare class DropCommentOnEnum extends DropEnumChange {
22
23
  });
23
24
  get drops(): `comment:${string}`[];
24
25
  get requires(): (`comment:${string}` | `type:${string}`)[];
25
- serialize(): string;
26
+ serialize(_options?: SerializeOptions): string;
26
27
  }
@@ -14,7 +14,7 @@ export class CreateCommentOnEnum extends CreateEnumChange {
14
14
  get requires() {
15
15
  return [this.enum.stableId];
16
16
  }
17
- serialize() {
17
+ serialize(_options) {
18
18
  return [
19
19
  "COMMENT ON TYPE",
20
20
  `${this.enum.schema}.${this.enum.name}`,
@@ -37,7 +37,7 @@ export class DropCommentOnEnum extends DropEnumChange {
37
37
  get requires() {
38
38
  return [stableId.comment(this.enum.stableId), this.enum.stableId];
39
39
  }
40
- serialize() {
40
+ serialize(_options) {
41
41
  return [
42
42
  "COMMENT ON TYPE",
43
43
  `${this.enum.schema}.${this.enum.name}`,
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Enum } from "../enum.model.ts";
2
3
  import { CreateEnumChange } from "./enum.base.ts";
3
4
  /**
@@ -18,5 +19,5 @@ export declare class CreateEnum extends CreateEnumChange {
18
19
  });
19
20
  get creates(): `type:${string}`[];
20
21
  get requires(): string[];
21
- serialize(): string;
22
+ serialize(_options?: SerializeOptions): string;
22
23
  }
@@ -29,7 +29,7 @@ export class CreateEnum extends CreateEnumChange {
29
29
  dependencies.add(stableId.role(this.enum.owner));
30
30
  return Array.from(dependencies);
31
31
  }
32
- serialize() {
32
+ serialize(_options) {
33
33
  const parts = ["CREATE TYPE"];
34
34
  // Add schema and name
35
35
  parts.push(`${this.enum.schema}.${this.enum.name}`);
@@ -1,3 +1,4 @@
1
+ import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
1
2
  import type { Enum } from "../enum.model.ts";
2
3
  import { DropEnumChange } from "./enum.base.ts";
3
4
  /**
@@ -18,5 +19,5 @@ export declare class DropEnum extends DropEnumChange {
18
19
  });
19
20
  get drops(): `type:${string}`[];
20
21
  get requires(): `type:${string}`[];
21
- serialize(): string;
22
+ serialize(_options?: SerializeOptions): string;
22
23
  }
@@ -22,7 +22,7 @@ export class DropEnum extends DropEnumChange {
22
22
  get requires() {
23
23
  return [this.enum.stableId];
24
24
  }
25
- serialize() {
25
+ serialize(_options) {
26
26
  return ["DROP TYPE", `${this.enum.schema}.${this.enum.name}`].join(" ");
27
27
  }
28
28
  }