@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 { ColumnProps } from "../../base.model.ts";
2
3
  import type { Table, TableConstraintProps } from "../table.model.ts";
3
4
  import { AlterTableChange } from "./table.base.ts";
@@ -54,7 +55,7 @@ import { AlterTableChange } from "./table.base.ts";
54
55
  * DETACH PARTITION partition_name [ CONCURRENTLY | FINALIZE ]
55
56
  * ```
56
57
  */
57
- export type AlterTable = AlterTableAddColumn | AlterTableAddConstraint | AlterTableAlterColumnDropDefault | AlterTableAlterColumnDropNotNull | AlterTableAlterColumnSetDefault | AlterTableAlterColumnSetNotNull | AlterTableAlterColumnType | AlterTableAttachPartition | AlterTableChangeOwner | AlterTableDetachPartition | AlterTableDisableRowLevelSecurity | AlterTableDropColumn | AlterTableDropConstraint | AlterTableEnableRowLevelSecurity | AlterTableForceRowLevelSecurity | AlterTableNoForceRowLevelSecurity | AlterTableResetStorageParams | AlterTableSetLogged | AlterTableSetReplicaIdentity | AlterTableSetStorageParams | AlterTableSetUnlogged | AlterTableValidateConstraint;
58
+ export type AlterTable = AlterTableAddColumn | AlterTableAddConstraint | AlterTableAlterColumnAddIdentity | AlterTableAlterColumnDropDefault | AlterTableAlterColumnDropIdentity | AlterTableAlterColumnDropNotNull | AlterTableAlterColumnSetGenerated | AlterTableAlterColumnSetDefault | AlterTableAlterColumnSetNotNull | AlterTableAlterColumnType | AlterTableAttachPartition | AlterTableChangeOwner | AlterTableDetachPartition | AlterTableDisableRowLevelSecurity | AlterTableDropColumn | AlterTableDropConstraint | AlterTableEnableRowLevelSecurity | AlterTableForceRowLevelSecurity | AlterTableNoForceRowLevelSecurity | AlterTableResetStorageParams | AlterTableSetLogged | AlterTableSetReplicaIdentity | AlterTableSetStorageParams | AlterTableSetUnlogged | AlterTableValidateConstraint;
58
59
  /**
59
60
  * ALTER TABLE ... OWNER TO ...
60
61
  */
@@ -67,7 +68,7 @@ export declare class AlterTableChangeOwner extends AlterTableChange {
67
68
  owner: string;
68
69
  });
69
70
  get requires(): `table:${string}`[];
70
- serialize(): string;
71
+ serialize(_options?: SerializeOptions): string;
71
72
  }
72
73
  /**
73
74
  * ALTER TABLE ... SET LOGGED
@@ -79,7 +80,7 @@ export declare class AlterTableSetLogged extends AlterTableChange {
79
80
  table: Table;
80
81
  });
81
82
  get requires(): `table:${string}`[];
82
- serialize(): string;
83
+ serialize(_options?: SerializeOptions): string;
83
84
  }
84
85
  /**
85
86
  * ALTER TABLE ... SET UNLOGGED
@@ -91,7 +92,7 @@ export declare class AlterTableSetUnlogged extends AlterTableChange {
91
92
  table: Table;
92
93
  });
93
94
  get requires(): `table:${string}`[];
94
- serialize(): string;
95
+ serialize(_options?: SerializeOptions): string;
95
96
  }
96
97
  /**
97
98
  * ALTER TABLE ... ENABLE ROW LEVEL SECURITY
@@ -103,7 +104,7 @@ export declare class AlterTableEnableRowLevelSecurity extends AlterTableChange {
103
104
  table: Table;
104
105
  });
105
106
  get requires(): `table:${string}`[];
106
- serialize(): string;
107
+ serialize(_options?: SerializeOptions): string;
107
108
  }
108
109
  /**
109
110
  * ALTER TABLE ... DISABLE ROW LEVEL SECURITY
@@ -115,7 +116,7 @@ export declare class AlterTableDisableRowLevelSecurity extends AlterTableChange
115
116
  table: Table;
116
117
  });
117
118
  get requires(): `table:${string}`[];
118
- serialize(): string;
119
+ serialize(_options?: SerializeOptions): string;
119
120
  }
120
121
  /**
121
122
  * ALTER TABLE ... FORCE ROW LEVEL SECURITY
@@ -127,7 +128,7 @@ export declare class AlterTableForceRowLevelSecurity extends AlterTableChange {
127
128
  table: Table;
128
129
  });
129
130
  get requires(): `table:${string}`[];
130
- serialize(): string;
131
+ serialize(_options?: SerializeOptions): string;
131
132
  }
132
133
  /**
133
134
  * ALTER TABLE ... NO FORCE ROW LEVEL SECURITY
@@ -139,7 +140,7 @@ export declare class AlterTableNoForceRowLevelSecurity extends AlterTableChange
139
140
  table: Table;
140
141
  });
141
142
  get requires(): `table:${string}`[];
142
- serialize(): string;
143
+ serialize(_options?: SerializeOptions): string;
143
144
  }
144
145
  /**
145
146
  * ALTER TABLE ... SET ( storage_parameter = value [, ... ] )
@@ -153,7 +154,7 @@ export declare class AlterTableSetStorageParams extends AlterTableChange {
153
154
  options: string[];
154
155
  });
155
156
  get requires(): `table:${string}`[];
156
- serialize(): string;
157
+ serialize(_options?: SerializeOptions): string;
157
158
  }
158
159
  /**
159
160
  * ALTER TABLE ... RESET ( storage_parameter [, ... ] )
@@ -167,7 +168,7 @@ export declare class AlterTableResetStorageParams extends AlterTableChange {
167
168
  params: string[];
168
169
  });
169
170
  get requires(): `table:${string}`[];
170
- serialize(): string;
171
+ serialize(_options?: SerializeOptions): string;
171
172
  }
172
173
  /**
173
174
  * ALTER TABLE ... ADD CONSTRAINT ...
@@ -182,7 +183,7 @@ export declare class AlterTableAddConstraint extends AlterTableChange {
182
183
  });
183
184
  get creates(): `constraint:${string}.${string}.${string}`[];
184
185
  get requires(): string[];
185
- serialize(): string;
186
+ serialize(_options?: SerializeOptions): string;
186
187
  }
187
188
  /**
188
189
  * ALTER TABLE ... DROP CONSTRAINT ...
@@ -197,7 +198,7 @@ export declare class AlterTableDropConstraint extends AlterTableChange {
197
198
  });
198
199
  get drops(): `constraint:${string}.${string}.${string}`[];
199
200
  get requires(): (`constraint:${string}.${string}.${string}` | `table:${string}`)[];
200
- serialize(): string;
201
+ serialize(_options?: SerializeOptions): string;
201
202
  }
202
203
  /**
203
204
  * ALTER TABLE ... VALIDATE CONSTRAINT ...
@@ -211,7 +212,7 @@ export declare class AlterTableValidateConstraint extends AlterTableChange {
211
212
  constraint: TableConstraintProps;
212
213
  });
213
214
  get requires(): (`constraint:${string}.${string}.${string}` | `table:${string}`)[];
214
- serialize(): string;
215
+ serialize(_options?: SerializeOptions): string;
215
216
  }
216
217
  /**
217
218
  * ALTER TABLE ... REPLICA IDENTITY ...
@@ -225,7 +226,7 @@ export declare class AlterTableSetReplicaIdentity extends AlterTableChange {
225
226
  mode: "d" | "n" | "f" | "i";
226
227
  });
227
228
  get requires(): `table:${string}`[];
228
- serialize(): string;
229
+ serialize(_options?: SerializeOptions): string;
229
230
  }
230
231
  /**
231
232
  * ALTER TABLE ... ADD COLUMN ...
@@ -240,7 +241,7 @@ export declare class AlterTableAddColumn extends AlterTableChange {
240
241
  });
241
242
  get creates(): `column:${string}.${string}.${string}`[];
242
243
  get requires(): `table:${string}`[];
243
- serialize(): string;
244
+ serialize(_options?: SerializeOptions): string;
244
245
  }
245
246
  /**
246
247
  * ALTER TABLE ... DROP COLUMN ...
@@ -255,7 +256,7 @@ export declare class AlterTableDropColumn extends AlterTableChange {
255
256
  });
256
257
  get drops(): `column:${string}.${string}.${string}`[];
257
258
  get requires(): (`column:${string}.${string}.${string}` | `table:${string}`)[];
258
- serialize(): string;
259
+ serialize(_options?: SerializeOptions): string;
259
260
  }
260
261
  /**
261
262
  * ALTER TABLE ... ALTER COLUMN ... TYPE ...
@@ -269,7 +270,7 @@ export declare class AlterTableAlterColumnType extends AlterTableChange {
269
270
  column: ColumnProps;
270
271
  });
271
272
  get requires(): `column:${string}.${string}.${string}`[];
272
- serialize(): string;
273
+ serialize(_options?: SerializeOptions): string;
273
274
  }
274
275
  /**
275
276
  * ALTER TABLE ... ALTER COLUMN ... SET DEFAULT ...
@@ -283,12 +284,54 @@ export declare class AlterTableAlterColumnSetDefault extends AlterTableChange {
283
284
  column: ColumnProps;
284
285
  });
285
286
  get requires(): `column:${string}.${string}.${string}`[];
286
- serialize(): string;
287
+ serialize(_options?: SerializeOptions): string;
287
288
  }
288
289
  /**
289
290
  * ALTER TABLE ... ALTER COLUMN ... DROP DEFAULT
290
291
  */
291
292
  export declare class AlterTableAlterColumnDropDefault extends AlterTableChange {
293
+ readonly table: Table;
294
+ readonly column: ColumnProps;
295
+ readonly scope: "object";
296
+ constructor(props: {
297
+ table: Table;
298
+ column: ColumnProps;
299
+ });
300
+ get requires(): `column:${string}.${string}.${string}`[];
301
+ serialize(_options?: SerializeOptions): string;
302
+ }
303
+ /**
304
+ * ALTER TABLE ... ALTER COLUMN ... ADD GENERATED ... AS IDENTITY
305
+ */
306
+ export declare class AlterTableAlterColumnAddIdentity extends AlterTableChange {
307
+ readonly table: Table;
308
+ readonly column: ColumnProps;
309
+ readonly scope: "object";
310
+ constructor(props: {
311
+ table: Table;
312
+ column: ColumnProps;
313
+ });
314
+ get requires(): `column:${string}.${string}.${string}`[];
315
+ serialize(): string;
316
+ }
317
+ /**
318
+ * ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY
319
+ */
320
+ export declare class AlterTableAlterColumnDropIdentity extends AlterTableChange {
321
+ readonly table: Table;
322
+ readonly column: ColumnProps;
323
+ readonly scope: "object";
324
+ constructor(props: {
325
+ table: Table;
326
+ column: ColumnProps;
327
+ });
328
+ get requires(): `column:${string}.${string}.${string}`[];
329
+ serialize(): string;
330
+ }
331
+ /**
332
+ * ALTER TABLE ... ALTER COLUMN ... SET GENERATED { ALWAYS | BY DEFAULT }
333
+ */
334
+ export declare class AlterTableAlterColumnSetGenerated extends AlterTableChange {
292
335
  readonly table: Table;
293
336
  readonly column: ColumnProps;
294
337
  readonly scope: "object";
@@ -311,7 +354,7 @@ export declare class AlterTableAlterColumnSetNotNull extends AlterTableChange {
311
354
  column: ColumnProps;
312
355
  });
313
356
  get requires(): `column:${string}.${string}.${string}`[];
314
- serialize(): string;
357
+ serialize(_options?: SerializeOptions): string;
315
358
  }
316
359
  /**
317
360
  * ALTER TABLE ... ALTER COLUMN ... DROP NOT NULL
@@ -325,7 +368,7 @@ export declare class AlterTableAlterColumnDropNotNull extends AlterTableChange {
325
368
  column: ColumnProps;
326
369
  });
327
370
  get requires(): `column:${string}.${string}.${string}`[];
328
- serialize(): string;
371
+ serialize(_options?: SerializeOptions): string;
329
372
  }
330
373
  /**
331
374
  * ALTER TABLE ... ATTACH PARTITION ...
@@ -339,7 +382,7 @@ export declare class AlterTableAttachPartition extends AlterTableChange {
339
382
  partition: Table;
340
383
  });
341
384
  get requires(): `table:${string}`[];
342
- serialize(): string;
385
+ serialize(_options?: SerializeOptions): string;
343
386
  }
344
387
  /**
345
388
  * ALTER TABLE ... DETACH PARTITION ...
@@ -353,5 +396,5 @@ export declare class AlterTableDetachPartition extends AlterTableChange {
353
396
  partition: Table;
354
397
  });
355
398
  get requires(): `table:${string}`[];
356
- serialize(): string;
399
+ serialize(_options?: SerializeOptions): string;
357
400
  }
@@ -15,7 +15,7 @@ export class AlterTableChangeOwner extends AlterTableChange {
15
15
  get requires() {
16
16
  return [this.table.stableId];
17
17
  }
18
- serialize() {
18
+ serialize(_options) {
19
19
  return [
20
20
  "ALTER TABLE",
21
21
  `${this.table.schema}.${this.table.name}`,
@@ -37,7 +37,7 @@ export class AlterTableSetLogged extends AlterTableChange {
37
37
  get requires() {
38
38
  return [this.table.stableId];
39
39
  }
40
- serialize() {
40
+ serialize(_options) {
41
41
  return [
42
42
  "ALTER TABLE",
43
43
  `${this.table.schema}.${this.table.name}`,
@@ -58,7 +58,7 @@ export class AlterTableSetUnlogged extends AlterTableChange {
58
58
  get requires() {
59
59
  return [this.table.stableId];
60
60
  }
61
- serialize() {
61
+ serialize(_options) {
62
62
  return [
63
63
  "ALTER TABLE",
64
64
  `${this.table.schema}.${this.table.name}`,
@@ -79,7 +79,7 @@ export class AlterTableEnableRowLevelSecurity extends AlterTableChange {
79
79
  get requires() {
80
80
  return [this.table.stableId];
81
81
  }
82
- serialize() {
82
+ serialize(_options) {
83
83
  return [
84
84
  "ALTER TABLE",
85
85
  `${this.table.schema}.${this.table.name}`,
@@ -100,7 +100,7 @@ export class AlterTableDisableRowLevelSecurity extends AlterTableChange {
100
100
  get requires() {
101
101
  return [this.table.stableId];
102
102
  }
103
- serialize() {
103
+ serialize(_options) {
104
104
  return [
105
105
  "ALTER TABLE",
106
106
  `${this.table.schema}.${this.table.name}`,
@@ -121,7 +121,7 @@ export class AlterTableForceRowLevelSecurity extends AlterTableChange {
121
121
  get requires() {
122
122
  return [this.table.stableId];
123
123
  }
124
- serialize() {
124
+ serialize(_options) {
125
125
  return [
126
126
  "ALTER TABLE",
127
127
  `${this.table.schema}.${this.table.name}`,
@@ -142,7 +142,7 @@ export class AlterTableNoForceRowLevelSecurity extends AlterTableChange {
142
142
  get requires() {
143
143
  return [this.table.stableId];
144
144
  }
145
- serialize() {
145
+ serialize(_options) {
146
146
  return [
147
147
  "ALTER TABLE",
148
148
  `${this.table.schema}.${this.table.name}`,
@@ -165,7 +165,7 @@ export class AlterTableSetStorageParams extends AlterTableChange {
165
165
  get requires() {
166
166
  return [this.table.stableId];
167
167
  }
168
- serialize() {
168
+ serialize(_options) {
169
169
  const storageParams = this.options.join(", ");
170
170
  return [
171
171
  "ALTER TABLE",
@@ -189,7 +189,7 @@ export class AlterTableResetStorageParams extends AlterTableChange {
189
189
  get requires() {
190
190
  return [this.table.stableId];
191
191
  }
192
- serialize() {
192
+ serialize(_options) {
193
193
  const paramsSql = this.params.join(", ");
194
194
  return [
195
195
  "ALTER TABLE",
@@ -231,7 +231,7 @@ export class AlterTableAddConstraint extends AlterTableChange {
231
231
  }
232
232
  return reqs;
233
233
  }
234
- serialize() {
234
+ serialize(_options) {
235
235
  return [
236
236
  "ALTER TABLE",
237
237
  `${this.table.schema}.${this.table.name}`,
@@ -264,7 +264,7 @@ export class AlterTableDropConstraint extends AlterTableChange {
264
264
  this.table.stableId,
265
265
  ];
266
266
  }
267
- serialize() {
267
+ serialize(_options) {
268
268
  return [
269
269
  "ALTER TABLE",
270
270
  `${this.table.schema}.${this.table.name}`,
@@ -291,7 +291,7 @@ export class AlterTableValidateConstraint extends AlterTableChange {
291
291
  this.table.stableId,
292
292
  ];
293
293
  }
294
- serialize() {
294
+ serialize(_options) {
295
295
  return [
296
296
  "ALTER TABLE",
297
297
  `${this.table.schema}.${this.table.name}`,
@@ -315,7 +315,7 @@ export class AlterTableSetReplicaIdentity extends AlterTableChange {
315
315
  get requires() {
316
316
  return [this.table.stableId];
317
317
  }
318
- serialize() {
318
+ serialize(_options) {
319
319
  const clause = this.mode === "d"
320
320
  ? "DEFAULT"
321
321
  : this.mode === "n"
@@ -351,7 +351,7 @@ export class AlterTableAddColumn extends AlterTableChange {
351
351
  get requires() {
352
352
  return [this.table.stableId];
353
353
  }
354
- serialize() {
354
+ serialize(_options) {
355
355
  const parts = [
356
356
  "ALTER TABLE",
357
357
  `${this.table.schema}.${this.table.name}`,
@@ -402,7 +402,7 @@ export class AlterTableDropColumn extends AlterTableChange {
402
402
  stableId.column(this.table.schema, this.table.name, this.column.name),
403
403
  ];
404
404
  }
405
- serialize() {
405
+ serialize(_options) {
406
406
  return [
407
407
  "ALTER TABLE",
408
408
  `${this.table.schema}.${this.table.name}`,
@@ -428,7 +428,7 @@ export class AlterTableAlterColumnType extends AlterTableChange {
428
428
  stableId.column(this.table.schema, this.table.name, this.column.name),
429
429
  ];
430
430
  }
431
- serialize() {
431
+ serialize(_options) {
432
432
  const parts = [
433
433
  "ALTER TABLE",
434
434
  `${this.table.schema}.${this.table.name}`,
@@ -460,7 +460,7 @@ export class AlterTableAlterColumnSetDefault extends AlterTableChange {
460
460
  stableId.column(this.table.schema, this.table.name, this.column.name),
461
461
  ];
462
462
  }
463
- serialize() {
463
+ serialize(_options) {
464
464
  const set = this.column.is_generated ? "SET EXPRESSION AS" : "SET DEFAULT";
465
465
  return [
466
466
  "ALTER TABLE",
@@ -489,7 +489,7 @@ export class AlterTableAlterColumnDropDefault extends AlterTableChange {
489
489
  stableId.column(this.table.schema, this.table.name, this.column.name),
490
490
  ];
491
491
  }
492
- serialize() {
492
+ serialize(_options) {
493
493
  return [
494
494
  "ALTER TABLE",
495
495
  `${this.table.schema}.${this.table.name}`,
@@ -499,6 +499,91 @@ export class AlterTableAlterColumnDropDefault extends AlterTableChange {
499
499
  ].join(" ");
500
500
  }
501
501
  }
502
+ /**
503
+ * ALTER TABLE ... ALTER COLUMN ... ADD GENERATED ... AS IDENTITY
504
+ */
505
+ export class AlterTableAlterColumnAddIdentity extends AlterTableChange {
506
+ table;
507
+ column;
508
+ scope = "object";
509
+ constructor(props) {
510
+ super();
511
+ this.table = props.table;
512
+ this.column = props.column;
513
+ }
514
+ get requires() {
515
+ return [
516
+ stableId.column(this.table.schema, this.table.name, this.column.name),
517
+ ];
518
+ }
519
+ serialize() {
520
+ return [
521
+ "ALTER TABLE",
522
+ `${this.table.schema}.${this.table.name}`,
523
+ "ALTER COLUMN",
524
+ this.column.name,
525
+ "ADD",
526
+ this.column.is_identity_always
527
+ ? "GENERATED ALWAYS AS IDENTITY"
528
+ : "GENERATED BY DEFAULT AS IDENTITY",
529
+ ].join(" ");
530
+ }
531
+ }
532
+ /**
533
+ * ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY
534
+ */
535
+ export class AlterTableAlterColumnDropIdentity extends AlterTableChange {
536
+ table;
537
+ column;
538
+ scope = "object";
539
+ constructor(props) {
540
+ super();
541
+ this.table = props.table;
542
+ this.column = props.column;
543
+ }
544
+ get requires() {
545
+ return [
546
+ stableId.column(this.table.schema, this.table.name, this.column.name),
547
+ ];
548
+ }
549
+ serialize() {
550
+ return [
551
+ "ALTER TABLE",
552
+ `${this.table.schema}.${this.table.name}`,
553
+ "ALTER COLUMN",
554
+ this.column.name,
555
+ "DROP IDENTITY",
556
+ ].join(" ");
557
+ }
558
+ }
559
+ /**
560
+ * ALTER TABLE ... ALTER COLUMN ... SET GENERATED { ALWAYS | BY DEFAULT }
561
+ */
562
+ export class AlterTableAlterColumnSetGenerated extends AlterTableChange {
563
+ table;
564
+ column;
565
+ scope = "object";
566
+ constructor(props) {
567
+ super();
568
+ this.table = props.table;
569
+ this.column = props.column;
570
+ }
571
+ get requires() {
572
+ return [
573
+ stableId.column(this.table.schema, this.table.name, this.column.name),
574
+ ];
575
+ }
576
+ serialize() {
577
+ return [
578
+ "ALTER TABLE",
579
+ `${this.table.schema}.${this.table.name}`,
580
+ "ALTER COLUMN",
581
+ this.column.name,
582
+ "SET GENERATED",
583
+ this.column.is_identity_always ? "ALWAYS" : "BY DEFAULT",
584
+ ].join(" ");
585
+ }
586
+ }
502
587
  /**
503
588
  * ALTER TABLE ... ALTER COLUMN ... SET NOT NULL
504
589
  */
@@ -516,7 +601,7 @@ export class AlterTableAlterColumnSetNotNull extends AlterTableChange {
516
601
  stableId.column(this.table.schema, this.table.name, this.column.name),
517
602
  ];
518
603
  }
519
- serialize() {
604
+ serialize(_options) {
520
605
  return [
521
606
  "ALTER TABLE",
522
607
  `${this.table.schema}.${this.table.name}`,
@@ -543,7 +628,7 @@ export class AlterTableAlterColumnDropNotNull extends AlterTableChange {
543
628
  stableId.column(this.table.schema, this.table.name, this.column.name),
544
629
  ];
545
630
  }
546
- serialize() {
631
+ serialize(_options) {
547
632
  return [
548
633
  "ALTER TABLE",
549
634
  `${this.table.schema}.${this.table.name}`,
@@ -569,7 +654,7 @@ export class AlterTableAttachPartition extends AlterTableChange {
569
654
  // Depend on the partition child so that it is created before attach
570
655
  return [this.partition.stableId, this.table.stableId];
571
656
  }
572
- serialize() {
657
+ serialize(_options) {
573
658
  const bound = this.partition.partition_bound ?? "DEFAULT";
574
659
  return [
575
660
  "ALTER TABLE",
@@ -596,7 +681,7 @@ export class AlterTableDetachPartition extends AlterTableChange {
596
681
  // Depend on the partition child for consistent ordering with potential drops
597
682
  return [this.table.stableId, this.partition.stableId];
598
683
  }
599
- serialize() {
684
+ serialize(_options) {
600
685
  return [
601
686
  "ALTER TABLE",
602
687
  `${this.table.schema}.${this.table.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 { Table, TableConstraintProps } from "../table.model.ts";
3
4
  import { CreateTableChange, DropTableChange } from "./table.base.ts";
@@ -29,7 +30,7 @@ export declare class CreateCommentOnTable extends CreateTableChange {
29
30
  });
30
31
  get creates(): `comment:${string}`[];
31
32
  get requires(): `table:${string}`[];
32
- serialize(): string;
33
+ serialize(_options?: SerializeOptions): string;
33
34
  }
34
35
  /**
35
36
  * COMMENT ON TABLE ... IS ...
@@ -42,7 +43,7 @@ export declare class DropCommentOnTable extends DropTableChange {
42
43
  });
43
44
  get drops(): `comment:${string}`[];
44
45
  get requires(): (`comment:${string}` | `table:${string}`)[];
45
- serialize(): string;
46
+ serialize(_options?: SerializeOptions): string;
46
47
  }
47
48
  /**
48
49
  * COMMENT ON COLUMN ... IS ...
@@ -57,7 +58,7 @@ export declare class CreateCommentOnColumn extends CreateTableChange {
57
58
  });
58
59
  get creates(): `comment:${string}`[];
59
60
  get requires(): `column:${string}.${string}.${string}`[];
60
- serialize(): string;
61
+ serialize(_options?: SerializeOptions): string;
61
62
  }
62
63
  /**
63
64
  * COMMENT ON COLUMN ... IS ...
@@ -72,7 +73,7 @@ export declare class DropCommentOnColumn extends DropTableChange {
72
73
  });
73
74
  get drops(): `comment:${string}`[];
74
75
  get requires(): (`column:${string}.${string}.${string}` | `comment:${string}`)[];
75
- serialize(): string;
76
+ serialize(_options?: SerializeOptions): string;
76
77
  }
77
78
  /**
78
79
  * COMMENT ON CONSTRAINT ... IS ...
@@ -87,7 +88,7 @@ export declare class CreateCommentOnConstraint extends CreateTableChange {
87
88
  });
88
89
  get creates(): `comment:${string}`[];
89
90
  get requires(): `constraint:${string}.${string}.${string}`[];
90
- serialize(): string;
91
+ serialize(_options?: SerializeOptions): string;
91
92
  }
92
93
  /**
93
94
  * COMMENT ON CONSTRAINT ... IS ...
@@ -102,5 +103,5 @@ export declare class DropCommentOnConstraint extends DropTableChange {
102
103
  });
103
104
  get drops(): `comment:${string}`[];
104
105
  get requires(): (`constraint:${string}.${string}.${string}` | `comment:${string}`)[];
105
- serialize(): string;
106
+ serialize(_options?: SerializeOptions): string;
106
107
  }
@@ -17,7 +17,7 @@ export class CreateCommentOnTable extends CreateTableChange {
17
17
  get requires() {
18
18
  return [this.table.stableId];
19
19
  }
20
- serialize() {
20
+ serialize(_options) {
21
21
  return [
22
22
  "COMMENT ON TABLE",
23
23
  `${this.table.schema}.${this.table.name}`,
@@ -43,7 +43,7 @@ export class DropCommentOnTable extends DropTableChange {
43
43
  get requires() {
44
44
  return [stableId.comment(this.table.stableId), this.table.stableId];
45
45
  }
46
- serialize() {
46
+ serialize(_options) {
47
47
  return [
48
48
  "COMMENT ON TABLE",
49
49
  `${this.table.schema}.${this.table.name}`,
@@ -72,7 +72,7 @@ export class CreateCommentOnColumn extends CreateTableChange {
72
72
  stableId.column(this.table.schema, this.table.name, this.column.name),
73
73
  ];
74
74
  }
75
- serialize() {
75
+ serialize(_options) {
76
76
  return [
77
77
  "COMMENT ON COLUMN",
78
78
  `${this.table.schema}.${this.table.name}.${this.column.name}`,
@@ -102,7 +102,7 @@ export class DropCommentOnColumn extends DropTableChange {
102
102
  const columnStableId = stableId.column(this.table.schema, this.table.name, this.column.name);
103
103
  return [stableId.comment(columnStableId), columnStableId];
104
104
  }
105
- serialize() {
105
+ serialize(_options) {
106
106
  return [
107
107
  "COMMENT ON COLUMN",
108
108
  `${this.table.schema}.${this.table.name}.${this.column.name}`,
@@ -131,7 +131,7 @@ export class CreateCommentOnConstraint extends CreateTableChange {
131
131
  stableId.constraint(this.table.schema, this.table.name, this.constraint.name),
132
132
  ];
133
133
  }
134
- serialize() {
134
+ serialize(_options) {
135
135
  return [
136
136
  "COMMENT ON CONSTRAINT",
137
137
  this.constraint.name,
@@ -163,7 +163,7 @@ export class DropCommentOnConstraint extends DropTableChange {
163
163
  const constraintStableId = stableId.constraint(this.table.schema, this.table.name, this.constraint.name);
164
164
  return [stableId.comment(constraintStableId), constraintStableId];
165
165
  }
166
- serialize() {
166
+ serialize(_options) {
167
167
  return [
168
168
  "COMMENT ON CONSTRAINT",
169
169
  this.constraint.name,
@@ -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 { CreateTableChange } from "./table.base.ts";
3
4
  /**
@@ -29,5 +30,5 @@ export declare class CreateTable extends CreateTableChange {
29
30
  });
30
31
  get creates(): (`column:${string}.${string}.${string}` | `table:${string}`)[];
31
32
  get requires(): string[];
32
- serialize(): string;
33
+ serialize(_options?: SerializeOptions): string;
33
34
  }
@@ -70,7 +70,7 @@ export class CreateTable extends CreateTableChange {
70
70
  }
71
71
  return Array.from(dependencies);
72
72
  }
73
- serialize() {
73
+ serialize(_options) {
74
74
  const parts = ["CREATE"];
75
75
  // Add TEMPORARY/UNLOGGED based on persistence
76
76
  if (this.table.persistence === "t") {
@@ -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 { DropTableChange } from "./table.base.ts";
3
4
  /**
@@ -16,7 +17,7 @@ export declare class DropTable extends DropTableChange {
16
17
  constructor(props: {
17
18
  table: Table;
18
19
  });
19
- get drops(): (`column:${string}.${string}.${string}` | `table:${string}`)[];
20
- get requires(): (`column:${string}.${string}.${string}` | `table:${string}`)[];
21
- serialize(): string;
20
+ get drops(): (`column:${string}.${string}.${string}` | `constraint:${string}.${string}.${string}` | `table:${string}`)[];
21
+ get requires(): (`column:${string}.${string}.${string}` | `constraint:${string}.${string}.${string}` | `table:${string}`)[];
22
+ serialize(_options?: SerializeOptions): string;
22
23
  }