@supabase/pg-delta 0.0.0 → 1.0.0-alpha.0

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 (567) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +149 -0
  3. package/dist/cli/app.d.ts +1 -0
  4. package/dist/cli/app.js +26 -0
  5. package/dist/cli/bin/cli.d.ts +2 -0
  6. package/dist/cli/bin/cli.js +7 -0
  7. package/dist/cli/commands/apply.d.ts +5 -0
  8. package/dist/cli/commands/apply.js +85 -0
  9. package/dist/cli/commands/plan.d.ts +5 -0
  10. package/dist/cli/commands/plan.js +137 -0
  11. package/dist/cli/commands/sync.d.ts +5 -0
  12. package/dist/cli/commands/sync.js +141 -0
  13. package/dist/cli/formatters/index.d.ts +4 -0
  14. package/dist/cli/formatters/index.js +4 -0
  15. package/dist/cli/formatters/tree/tree-builder.d.ts +10 -0
  16. package/dist/cli/formatters/tree/tree-builder.js +333 -0
  17. package/dist/cli/formatters/tree/tree-renderer.d.ts +45 -0
  18. package/dist/cli/formatters/tree/tree-renderer.js +303 -0
  19. package/dist/cli/formatters/tree/tree.d.ts +8 -0
  20. package/dist/cli/formatters/tree/tree.js +161 -0
  21. package/dist/cli/utils/integrations.d.ts +13 -0
  22. package/dist/cli/utils/integrations.js +35 -0
  23. package/dist/cli/utils.d.ts +64 -0
  24. package/dist/cli/utils.js +160 -0
  25. package/dist/core/catalog.diff.d.ts +5 -0
  26. package/dist/core/catalog.diff.js +147 -0
  27. package/dist/core/catalog.model.d.ts +93 -0
  28. package/dist/core/catalog.model.js +254 -0
  29. package/dist/core/change.types.d.ts +22 -0
  30. package/dist/core/change.types.js +1 -0
  31. package/dist/core/context.d.ts +11 -0
  32. package/dist/core/context.js +12 -0
  33. package/dist/core/depend.d.ts +31 -0
  34. package/dist/core/depend.js +1833 -0
  35. package/dist/core/expand-replace-dependencies.d.ts +14 -0
  36. package/dist/core/expand-replace-dependencies.js +280 -0
  37. package/dist/core/fingerprint.d.ts +23 -0
  38. package/dist/core/fingerprint.js +174 -0
  39. package/dist/core/index.d.ts +15 -0
  40. package/dist/core/index.js +14 -0
  41. package/dist/core/integrations/filter/dsl.d.ts +97 -0
  42. package/dist/core/integrations/filter/dsl.js +107 -0
  43. package/dist/core/integrations/filter/extractors.d.ts +12 -0
  44. package/dist/core/integrations/filter/extractors.js +136 -0
  45. package/dist/core/integrations/integration-dsl.d.ts +22 -0
  46. package/dist/core/integrations/integration-dsl.js +6 -0
  47. package/dist/core/integrations/integration.types.d.ts +5 -0
  48. package/dist/core/integrations/integration.types.js +1 -0
  49. package/dist/core/integrations/serialize/dsl.d.ts +58 -0
  50. package/dist/core/integrations/serialize/dsl.js +42 -0
  51. package/dist/core/main.d.ts +5 -0
  52. package/dist/core/main.js +44 -0
  53. package/dist/core/objects/aggregate/aggregate.diff.d.ts +10 -0
  54. package/dist/core/objects/aggregate/aggregate.diff.js +186 -0
  55. package/dist/core/objects/aggregate/aggregate.model.d.ts +174 -0
  56. package/dist/core/objects/aggregate/aggregate.model.js +297 -0
  57. package/dist/core/objects/aggregate/changes/aggregate.alter.d.ts +19 -0
  58. package/dist/core/objects/aggregate/changes/aggregate.alter.js +25 -0
  59. package/dist/core/objects/aggregate/changes/aggregate.base.d.ts +17 -0
  60. package/dist/core/objects/aggregate/changes/aggregate.base.js +13 -0
  61. package/dist/core/objects/aggregate/changes/aggregate.comment.d.ts +23 -0
  62. package/dist/core/objects/aggregate/changes/aggregate.comment.js +44 -0
  63. package/dist/core/objects/aggregate/changes/aggregate.create.d.ts +19 -0
  64. package/dist/core/objects/aggregate/changes/aggregate.create.js +228 -0
  65. package/dist/core/objects/aggregate/changes/aggregate.drop.d.ts +17 -0
  66. package/dist/core/objects/aggregate/changes/aggregate.drop.js +26 -0
  67. package/dist/core/objects/aggregate/changes/aggregate.privilege.d.ts +62 -0
  68. package/dist/core/objects/aggregate/changes/aggregate.privilege.js +102 -0
  69. package/dist/core/objects/aggregate/changes/aggregate.types.d.ts +6 -0
  70. package/dist/core/objects/aggregate/changes/aggregate.types.js +1 -0
  71. package/dist/core/objects/base.change.d.ts +46 -0
  72. package/dist/core/objects/base.change.js +38 -0
  73. package/dist/core/objects/base.default-privileges.d.ts +29 -0
  74. package/dist/core/objects/base.default-privileges.js +167 -0
  75. package/dist/core/objects/base.diff.d.ts +6 -0
  76. package/dist/core/objects/base.diff.js +12 -0
  77. package/dist/core/objects/base.model.d.ts +74 -0
  78. package/dist/core/objects/base.model.js +47 -0
  79. package/dist/core/objects/base.privilege-diff.d.ts +54 -0
  80. package/dist/core/objects/base.privilege-diff.js +216 -0
  81. package/dist/core/objects/base.privilege.d.ts +27 -0
  82. package/dist/core/objects/base.privilege.js +169 -0
  83. package/dist/core/objects/collation/changes/collation.alter.d.ts +45 -0
  84. package/dist/core/objects/collation/changes/collation.alter.js +52 -0
  85. package/dist/core/objects/collation/changes/collation.base.d.ts +17 -0
  86. package/dist/core/objects/collation/changes/collation.base.js +13 -0
  87. package/dist/core/objects/collation/changes/collation.comment.d.ts +26 -0
  88. package/dist/core/objects/collation/changes/collation.comment.js +50 -0
  89. package/dist/core/objects/collation/changes/collation.create.d.ts +32 -0
  90. package/dist/core/objects/collation/changes/collation.create.js +86 -0
  91. package/dist/core/objects/collation/changes/collation.drop.d.ts +22 -0
  92. package/dist/core/objects/collation/changes/collation.drop.js +31 -0
  93. package/dist/core/objects/collation/changes/collation.types.d.ts +5 -0
  94. package/dist/core/objects/collation/changes/collation.types.js +1 -0
  95. package/dist/core/objects/collation/collation.diff.d.ts +13 -0
  96. package/dist/core/objects/collation/collation.diff.js +85 -0
  97. package/dist/core/objects/collation/collation.model.d.ts +67 -0
  98. package/dist/core/objects/collation/collation.model.js +207 -0
  99. package/dist/core/objects/domain/changes/domain.alter.d.ts +143 -0
  100. package/dist/core/objects/domain/changes/domain.alter.js +191 -0
  101. package/dist/core/objects/domain/changes/domain.base.d.ts +17 -0
  102. package/dist/core/objects/domain/changes/domain.base.js +13 -0
  103. package/dist/core/objects/domain/changes/domain.comment.d.ts +25 -0
  104. package/dist/core/objects/domain/changes/domain.comment.js +47 -0
  105. package/dist/core/objects/domain/changes/domain.create.d.ts +30 -0
  106. package/dist/core/objects/domain/changes/domain.create.js +92 -0
  107. package/dist/core/objects/domain/changes/domain.drop.d.ts +22 -0
  108. package/dist/core/objects/domain/changes/domain.drop.js +28 -0
  109. package/dist/core/objects/domain/changes/domain.privilege.d.ts +97 -0
  110. package/dist/core/objects/domain/changes/domain.privilege.js +127 -0
  111. package/dist/core/objects/domain/changes/domain.types.d.ts +6 -0
  112. package/dist/core/objects/domain/changes/domain.types.js +1 -0
  113. package/dist/core/objects/domain/domain.diff.d.ts +18 -0
  114. package/dist/core/objects/domain/domain.diff.js +244 -0
  115. package/dist/core/objects/domain/domain.model.d.ts +103 -0
  116. package/dist/core/objects/domain/domain.model.js +172 -0
  117. package/dist/core/objects/event-trigger/changes/event-trigger.alter.d.ts +44 -0
  118. package/dist/core/objects/event-trigger/changes/event-trigger.alter.js +51 -0
  119. package/dist/core/objects/event-trigger/changes/event-trigger.base.d.ts +17 -0
  120. package/dist/core/objects/event-trigger/changes/event-trigger.base.js +13 -0
  121. package/dist/core/objects/event-trigger/changes/event-trigger.comment.d.ts +23 -0
  122. package/dist/core/objects/event-trigger/changes/event-trigger.comment.js +46 -0
  123. package/dist/core/objects/event-trigger/changes/event-trigger.create.d.ts +25 -0
  124. package/dist/core/objects/event-trigger/changes/event-trigger.create.js +55 -0
  125. package/dist/core/objects/event-trigger/changes/event-trigger.drop.d.ts +22 -0
  126. package/dist/core/objects/event-trigger/changes/event-trigger.drop.js +28 -0
  127. package/dist/core/objects/event-trigger/changes/event-trigger.types.d.ts +5 -0
  128. package/dist/core/objects/event-trigger/changes/event-trigger.types.js +1 -0
  129. package/dist/core/objects/event-trigger/event-trigger.diff.d.ts +13 -0
  130. package/dist/core/objects/event-trigger/event-trigger.diff.js +81 -0
  131. package/dist/core/objects/event-trigger/event-trigger.model.d.ts +45 -0
  132. package/dist/core/objects/event-trigger/event-trigger.model.js +89 -0
  133. package/dist/core/objects/extension/changes/extension.alter.d.ts +44 -0
  134. package/dist/core/objects/extension/changes/extension.alter.js +51 -0
  135. package/dist/core/objects/extension/changes/extension.base.d.ts +17 -0
  136. package/dist/core/objects/extension/changes/extension.base.js +13 -0
  137. package/dist/core/objects/extension/changes/extension.comment.d.ts +26 -0
  138. package/dist/core/objects/extension/changes/extension.comment.js +46 -0
  139. package/dist/core/objects/extension/changes/extension.create.d.ts +25 -0
  140. package/dist/core/objects/extension/changes/extension.create.js +49 -0
  141. package/dist/core/objects/extension/changes/extension.drop.d.ts +22 -0
  142. package/dist/core/objects/extension/changes/extension.drop.js +28 -0
  143. package/dist/core/objects/extension/changes/extension.types.d.ts +5 -0
  144. package/dist/core/objects/extension/changes/extension.types.js +1 -0
  145. package/dist/core/objects/extension/extension.diff.d.ts +10 -0
  146. package/dist/core/objects/extension/extension.diff.js +65 -0
  147. package/dist/core/objects/extension/extension.model.d.ts +52 -0
  148. package/dist/core/objects/extension/extension.model.js +268 -0
  149. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.alter.d.ts +51 -0
  150. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.alter.js +61 -0
  151. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.base.d.ts +17 -0
  152. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.base.js +13 -0
  153. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.comment.d.ts +26 -0
  154. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.comment.js +50 -0
  155. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.create.d.ts +25 -0
  156. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.create.js +78 -0
  157. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.drop.d.ts +22 -0
  158. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.drop.js +28 -0
  159. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.privilege.d.ts +97 -0
  160. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.privilege.js +123 -0
  161. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.types.d.ts +6 -0
  162. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.types.js +1 -0
  163. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/foreign-data-wrapper.diff.d.ts +18 -0
  164. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/foreign-data-wrapper.diff.js +221 -0
  165. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/foreign-data-wrapper.model.d.ts +59 -0
  166. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/foreign-data-wrapper.model.js +128 -0
  167. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper.types.d.ts +5 -0
  168. package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper.types.js +1 -0
  169. package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.alter.d.ts +163 -0
  170. package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.alter.js +248 -0
  171. package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.base.d.ts +17 -0
  172. package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.base.js +13 -0
  173. package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.comment.d.ts +26 -0
  174. package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.comment.js +50 -0
  175. package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.create.d.ts +25 -0
  176. package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.create.js +64 -0
  177. package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.drop.d.ts +22 -0
  178. package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.drop.js +31 -0
  179. package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.privilege.d.ts +97 -0
  180. package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.privilege.js +129 -0
  181. package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.types.d.ts +6 -0
  182. package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.types.js +1 -0
  183. package/dist/core/objects/foreign-data-wrapper/foreign-table/foreign-table.diff.d.ts +18 -0
  184. package/dist/core/objects/foreign-data-wrapper/foreign-table/foreign-table.diff.js +268 -0
  185. package/dist/core/objects/foreign-data-wrapper/foreign-table/foreign-table.model.d.ts +117 -0
  186. package/dist/core/objects/foreign-data-wrapper/foreign-table/foreign-table.model.js +215 -0
  187. package/dist/core/objects/foreign-data-wrapper/server/changes/server.alter.d.ts +65 -0
  188. package/dist/core/objects/foreign-data-wrapper/server/changes/server.alter.js +84 -0
  189. package/dist/core/objects/foreign-data-wrapper/server/changes/server.base.d.ts +17 -0
  190. package/dist/core/objects/foreign-data-wrapper/server/changes/server.base.js +13 -0
  191. package/dist/core/objects/foreign-data-wrapper/server/changes/server.comment.d.ts +26 -0
  192. package/dist/core/objects/foreign-data-wrapper/server/changes/server.comment.js +43 -0
  193. package/dist/core/objects/foreign-data-wrapper/server/changes/server.create.d.ts +24 -0
  194. package/dist/core/objects/foreign-data-wrapper/server/changes/server.create.js +62 -0
  195. package/dist/core/objects/foreign-data-wrapper/server/changes/server.drop.d.ts +22 -0
  196. package/dist/core/objects/foreign-data-wrapper/server/changes/server.drop.js +28 -0
  197. package/dist/core/objects/foreign-data-wrapper/server/changes/server.privilege.d.ts +97 -0
  198. package/dist/core/objects/foreign-data-wrapper/server/changes/server.privilege.js +123 -0
  199. package/dist/core/objects/foreign-data-wrapper/server/changes/server.types.d.ts +6 -0
  200. package/dist/core/objects/foreign-data-wrapper/server/changes/server.types.js +1 -0
  201. package/dist/core/objects/foreign-data-wrapper/server/server.diff.d.ts +18 -0
  202. package/dist/core/objects/foreign-data-wrapper/server/server.diff.js +209 -0
  203. package/dist/core/objects/foreign-data-wrapper/server/server.model.d.ts +62 -0
  204. package/dist/core/objects/foreign-data-wrapper/server/server.model.js +118 -0
  205. package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.alter.d.ts +37 -0
  206. package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.alter.js +38 -0
  207. package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.base.d.ts +17 -0
  208. package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.base.js +13 -0
  209. package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.create.d.ts +24 -0
  210. package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.create.js +52 -0
  211. package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.drop.d.ts +23 -0
  212. package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.drop.js +34 -0
  213. package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.types.d.ts +4 -0
  214. package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.types.js +1 -0
  215. package/dist/core/objects/foreign-data-wrapper/user-mapping/user-mapping.diff.d.ts +10 -0
  216. package/dist/core/objects/foreign-data-wrapper/user-mapping/user-mapping.diff.js +77 -0
  217. package/dist/core/objects/foreign-data-wrapper/user-mapping/user-mapping.model.d.ts +36 -0
  218. package/dist/core/objects/foreign-data-wrapper/user-mapping/user-mapping.model.js +85 -0
  219. package/dist/core/objects/index/changes/index.alter.d.ts +76 -0
  220. package/dist/core/objects/index/changes/index.alter.js +94 -0
  221. package/dist/core/objects/index/changes/index.base.d.ts +17 -0
  222. package/dist/core/objects/index/changes/index.base.js +13 -0
  223. package/dist/core/objects/index/changes/index.comment.d.ts +26 -0
  224. package/dist/core/objects/index/changes/index.comment.js +50 -0
  225. package/dist/core/objects/index/changes/index.create.d.ts +30 -0
  226. package/dist/core/objects/index/changes/index.create.js +53 -0
  227. package/dist/core/objects/index/changes/index.drop.d.ts +22 -0
  228. package/dist/core/objects/index/changes/index.drop.js +28 -0
  229. package/dist/core/objects/index/changes/index.types.d.ts +5 -0
  230. package/dist/core/objects/index/changes/index.types.js +1 -0
  231. package/dist/core/objects/index/changes/utils.d.ts +3 -0
  232. package/dist/core/objects/index/changes/utils.js +6 -0
  233. package/dist/core/objects/index/index.diff.d.ts +12 -0
  234. package/dist/core/objects/index/index.diff.js +182 -0
  235. package/dist/core/objects/index/index.model.d.ts +150 -0
  236. package/dist/core/objects/index/index.model.js +340 -0
  237. package/dist/core/objects/language/changes/language.alter.d.ts +32 -0
  238. package/dist/core/objects/language/changes/language.alter.js +30 -0
  239. package/dist/core/objects/language/changes/language.base.d.ts +17 -0
  240. package/dist/core/objects/language/changes/language.base.js +13 -0
  241. package/dist/core/objects/language/changes/language.comment.d.ts +26 -0
  242. package/dist/core/objects/language/changes/language.comment.js +45 -0
  243. package/dist/core/objects/language/changes/language.create.d.ts +25 -0
  244. package/dist/core/objects/language/changes/language.create.js +76 -0
  245. package/dist/core/objects/language/changes/language.drop.d.ts +22 -0
  246. package/dist/core/objects/language/changes/language.drop.js +31 -0
  247. package/dist/core/objects/language/changes/language.privilege.d.ts +97 -0
  248. package/dist/core/objects/language/changes/language.privilege.js +128 -0
  249. package/dist/core/objects/language/changes/language.types.d.ts +6 -0
  250. package/dist/core/objects/language/changes/language.types.js +1 -0
  251. package/dist/core/objects/language/language.diff.d.ts +15 -0
  252. package/dist/core/objects/language/language.diff.js +117 -0
  253. package/dist/core/objects/language/language.model.d.ts +62 -0
  254. package/dist/core/objects/language/language.model.js +128 -0
  255. package/dist/core/objects/materialized-view/changes/materialized-view.alter.d.ts +67 -0
  256. package/dist/core/objects/materialized-view/changes/materialized-view.alter.js +63 -0
  257. package/dist/core/objects/materialized-view/changes/materialized-view.base.d.ts +17 -0
  258. package/dist/core/objects/materialized-view/changes/materialized-view.base.js +13 -0
  259. package/dist/core/objects/materialized-view/changes/materialized-view.comment.d.ts +53 -0
  260. package/dist/core/objects/materialized-view/changes/materialized-view.comment.js +112 -0
  261. package/dist/core/objects/materialized-view/changes/materialized-view.create.d.ts +35 -0
  262. package/dist/core/objects/materialized-view/changes/materialized-view.create.js +71 -0
  263. package/dist/core/objects/materialized-view/changes/materialized-view.drop.d.ts +26 -0
  264. package/dist/core/objects/materialized-view/changes/materialized-view.drop.js +42 -0
  265. package/dist/core/objects/materialized-view/changes/materialized-view.privilege.d.ts +105 -0
  266. package/dist/core/objects/materialized-view/changes/materialized-view.privilege.js +151 -0
  267. package/dist/core/objects/materialized-view/changes/materialized-view.types.d.ts +6 -0
  268. package/dist/core/objects/materialized-view/changes/materialized-view.types.js +1 -0
  269. package/dist/core/objects/materialized-view/materialized-view.diff.d.ts +18 -0
  270. package/dist/core/objects/materialized-view/materialized-view.diff.js +335 -0
  271. package/dist/core/objects/materialized-view/materialized-view.model.d.ts +152 -0
  272. package/dist/core/objects/materialized-view/materialized-view.model.js +228 -0
  273. package/dist/core/objects/procedure/changes/procedure.alter.d.ts +143 -0
  274. package/dist/core/objects/procedure/changes/procedure.alter.js +207 -0
  275. package/dist/core/objects/procedure/changes/procedure.base.d.ts +17 -0
  276. package/dist/core/objects/procedure/changes/procedure.base.js +13 -0
  277. package/dist/core/objects/procedure/changes/procedure.comment.d.ts +26 -0
  278. package/dist/core/objects/procedure/changes/procedure.comment.js +52 -0
  279. package/dist/core/objects/procedure/changes/procedure.create.d.ts +42 -0
  280. package/dist/core/objects/procedure/changes/procedure.create.js +77 -0
  281. package/dist/core/objects/procedure/changes/procedure.drop.d.ts +23 -0
  282. package/dist/core/objects/procedure/changes/procedure.drop.js +37 -0
  283. package/dist/core/objects/procedure/changes/procedure.privilege.d.ts +98 -0
  284. package/dist/core/objects/procedure/changes/procedure.privilege.js +144 -0
  285. package/dist/core/objects/procedure/changes/procedure.types.d.ts +6 -0
  286. package/dist/core/objects/procedure/changes/procedure.types.js +1 -0
  287. package/dist/core/objects/procedure/procedure.diff.d.ts +18 -0
  288. package/dist/core/objects/procedure/procedure.diff.js +282 -0
  289. package/dist/core/objects/procedure/procedure.model.d.ts +132 -0
  290. package/dist/core/objects/procedure/procedure.model.js +244 -0
  291. package/dist/core/objects/procedure/utils.d.ts +14 -0
  292. package/dist/core/objects/procedure/utils.js +55 -0
  293. package/dist/core/objects/publication/changes/publication.alter.d.ts +88 -0
  294. package/dist/core/objects/publication/changes/publication.alter.js +176 -0
  295. package/dist/core/objects/publication/changes/publication.base.d.ts +17 -0
  296. package/dist/core/objects/publication/changes/publication.base.js +13 -0
  297. package/dist/core/objects/publication/changes/publication.comment.d.ts +23 -0
  298. package/dist/core/objects/publication/changes/publication.comment.js +46 -0
  299. package/dist/core/objects/publication/changes/publication.create.d.ts +17 -0
  300. package/dist/core/objects/publication/changes/publication.create.js +61 -0
  301. package/dist/core/objects/publication/changes/publication.drop.d.ts +17 -0
  302. package/dist/core/objects/publication/changes/publication.drop.js +23 -0
  303. package/dist/core/objects/publication/changes/publication.types.d.ts +5 -0
  304. package/dist/core/objects/publication/changes/publication.types.js +1 -0
  305. package/dist/core/objects/publication/publication.diff.d.ts +5 -0
  306. package/dist/core/objects/publication/publication.diff.js +161 -0
  307. package/dist/core/objects/publication/publication.model.d.ts +96 -0
  308. package/dist/core/objects/publication/publication.model.js +186 -0
  309. package/dist/core/objects/publication/utils.d.ts +5 -0
  310. package/dist/core/objects/publication/utils.js +45 -0
  311. package/dist/core/objects/rls-policy/changes/rls-policy.alter.d.ts +62 -0
  312. package/dist/core/objects/rls-policy/changes/rls-policy.alter.js +90 -0
  313. package/dist/core/objects/rls-policy/changes/rls-policy.base.d.ts +17 -0
  314. package/dist/core/objects/rls-policy/changes/rls-policy.base.js +13 -0
  315. package/dist/core/objects/rls-policy/changes/rls-policy.comment.d.ts +23 -0
  316. package/dist/core/objects/rls-policy/changes/rls-policy.comment.js +51 -0
  317. package/dist/core/objects/rls-policy/changes/rls-policy.create.d.ts +27 -0
  318. package/dist/core/objects/rls-policy/changes/rls-policy.create.js +79 -0
  319. package/dist/core/objects/rls-policy/changes/rls-policy.drop.d.ts +22 -0
  320. package/dist/core/objects/rls-policy/changes/rls-policy.drop.js +33 -0
  321. package/dist/core/objects/rls-policy/changes/rls-policy.types.d.ts +5 -0
  322. package/dist/core/objects/rls-policy/changes/rls-policy.types.js +1 -0
  323. package/dist/core/objects/rls-policy/rls-policy.diff.d.ts +10 -0
  324. package/dist/core/objects/rls-policy/rls-policy.diff.js +80 -0
  325. package/dist/core/objects/rls-policy/rls-policy.model.d.ts +52 -0
  326. package/dist/core/objects/rls-policy/rls-policy.model.js +127 -0
  327. package/dist/core/objects/role/changes/role.alter.d.ts +78 -0
  328. package/dist/core/objects/role/changes/role.alter.js +55 -0
  329. package/dist/core/objects/role/changes/role.base.d.ts +17 -0
  330. package/dist/core/objects/role/changes/role.base.js +13 -0
  331. package/dist/core/objects/role/changes/role.comment.d.ts +23 -0
  332. package/dist/core/objects/role/changes/role.comment.js +42 -0
  333. package/dist/core/objects/role/changes/role.create.d.ts +38 -0
  334. package/dist/core/objects/role/changes/role.create.js +83 -0
  335. package/dist/core/objects/role/changes/role.drop.d.ts +22 -0
  336. package/dist/core/objects/role/changes/role.drop.js +28 -0
  337. package/dist/core/objects/role/changes/role.privilege.d.ts +148 -0
  338. package/dist/core/objects/role/changes/role.privilege.js +283 -0
  339. package/dist/core/objects/role/changes/role.types.d.ts +6 -0
  340. package/dist/core/objects/role/changes/role.types.js +1 -0
  341. package/dist/core/objects/role/role.diff.d.ts +13 -0
  342. package/dist/core/objects/role/role.diff.js +386 -0
  343. package/dist/core/objects/role/role.model.d.ts +89 -0
  344. package/dist/core/objects/role/role.model.js +312 -0
  345. package/dist/core/objects/rule/changes/rule.alter.d.ts +22 -0
  346. package/dist/core/objects/rule/changes/rule.alter.js +58 -0
  347. package/dist/core/objects/rule/changes/rule.base.d.ts +17 -0
  348. package/dist/core/objects/rule/changes/rule.base.js +13 -0
  349. package/dist/core/objects/rule/changes/rule.comment.d.ts +22 -0
  350. package/dist/core/objects/rule/changes/rule.comment.js +51 -0
  351. package/dist/core/objects/rule/changes/rule.create.d.ts +14 -0
  352. package/dist/core/objects/rule/changes/rule.create.js +28 -0
  353. package/dist/core/objects/rule/changes/rule.drop.d.ts +12 -0
  354. package/dist/core/objects/rule/changes/rule.drop.js +23 -0
  355. package/dist/core/objects/rule/changes/rule.types.d.ts +5 -0
  356. package/dist/core/objects/rule/changes/rule.types.js +1 -0
  357. package/dist/core/objects/rule/rule.diff.d.ts +3 -0
  358. package/dist/core/objects/rule/rule.diff.js +53 -0
  359. package/dist/core/objects/rule/rule.model.d.ts +72 -0
  360. package/dist/core/objects/rule/rule.model.js +156 -0
  361. package/dist/core/objects/schema/changes/schema.alter.d.ts +32 -0
  362. package/dist/core/objects/schema/changes/schema.alter.js +25 -0
  363. package/dist/core/objects/schema/changes/schema.base.d.ts +17 -0
  364. package/dist/core/objects/schema/changes/schema.base.js +13 -0
  365. package/dist/core/objects/schema/changes/schema.comment.d.ts +23 -0
  366. package/dist/core/objects/schema/changes/schema.comment.js +43 -0
  367. package/dist/core/objects/schema/changes/schema.create.d.ts +27 -0
  368. package/dist/core/objects/schema/changes/schema.create.js +38 -0
  369. package/dist/core/objects/schema/changes/schema.drop.d.ts +22 -0
  370. package/dist/core/objects/schema/changes/schema.drop.js +28 -0
  371. package/dist/core/objects/schema/changes/schema.privilege.d.ts +97 -0
  372. package/dist/core/objects/schema/changes/schema.privilege.js +131 -0
  373. package/dist/core/objects/schema/changes/schema.types.d.ts +6 -0
  374. package/dist/core/objects/schema/changes/schema.types.js +1 -0
  375. package/dist/core/objects/schema/schema.diff.d.ts +18 -0
  376. package/dist/core/objects/schema/schema.diff.js +142 -0
  377. package/dist/core/objects/schema/schema.model.d.ts +47 -0
  378. package/dist/core/objects/schema/schema.model.js +91 -0
  379. package/dist/core/objects/sequence/changes/sequence.alter.d.ts +59 -0
  380. package/dist/core/objects/sequence/changes/sequence.alter.js +75 -0
  381. package/dist/core/objects/sequence/changes/sequence.base.d.ts +17 -0
  382. package/dist/core/objects/sequence/changes/sequence.base.js +13 -0
  383. package/dist/core/objects/sequence/changes/sequence.comment.d.ts +23 -0
  384. package/dist/core/objects/sequence/changes/sequence.comment.js +47 -0
  385. package/dist/core/objects/sequence/changes/sequence.create.d.ts +25 -0
  386. package/dist/core/objects/sequence/changes/sequence.create.js +78 -0
  387. package/dist/core/objects/sequence/changes/sequence.drop.d.ts +22 -0
  388. package/dist/core/objects/sequence/changes/sequence.drop.js +31 -0
  389. package/dist/core/objects/sequence/changes/sequence.privilege.d.ts +101 -0
  390. package/dist/core/objects/sequence/changes/sequence.privilege.js +135 -0
  391. package/dist/core/objects/sequence/changes/sequence.types.d.ts +6 -0
  392. package/dist/core/objects/sequence/changes/sequence.types.js +1 -0
  393. package/dist/core/objects/sequence/sequence.diff.d.ts +20 -0
  394. package/dist/core/objects/sequence/sequence.diff.js +258 -0
  395. package/dist/core/objects/sequence/sequence.model.d.ts +76 -0
  396. package/dist/core/objects/sequence/sequence.model.js +169 -0
  397. package/dist/core/objects/subscription/changes/subscription.alter.d.ts +56 -0
  398. package/dist/core/objects/subscription/changes/subscription.alter.js +82 -0
  399. package/dist/core/objects/subscription/changes/subscription.base.d.ts +17 -0
  400. package/dist/core/objects/subscription/changes/subscription.base.js +13 -0
  401. package/dist/core/objects/subscription/changes/subscription.comment.d.ts +23 -0
  402. package/dist/core/objects/subscription/changes/subscription.comment.js +46 -0
  403. package/dist/core/objects/subscription/changes/subscription.create.d.ts +12 -0
  404. package/dist/core/objects/subscription/changes/subscription.create.js +52 -0
  405. package/dist/core/objects/subscription/changes/subscription.drop.d.ts +11 -0
  406. package/dist/core/objects/subscription/changes/subscription.drop.js +15 -0
  407. package/dist/core/objects/subscription/changes/subscription.types.d.ts +5 -0
  408. package/dist/core/objects/subscription/changes/subscription.types.js +1 -0
  409. package/dist/core/objects/subscription/subscription.diff.d.ts +5 -0
  410. package/dist/core/objects/subscription/subscription.diff.js +167 -0
  411. package/dist/core/objects/subscription/subscription.model.d.ts +80 -0
  412. package/dist/core/objects/subscription/subscription.model.js +166 -0
  413. package/dist/core/objects/subscription/utils.d.ts +37 -0
  414. package/dist/core/objects/subscription/utils.js +112 -0
  415. package/dist/core/objects/table/changes/table.alter.d.ts +357 -0
  416. package/dist/core/objects/table/changes/table.alter.js +607 -0
  417. package/dist/core/objects/table/changes/table.base.d.ts +17 -0
  418. package/dist/core/objects/table/changes/table.base.js +13 -0
  419. package/dist/core/objects/table/changes/table.comment.d.ts +106 -0
  420. package/dist/core/objects/table/changes/table.comment.js +175 -0
  421. package/dist/core/objects/table/changes/table.create.d.ts +33 -0
  422. package/dist/core/objects/table/changes/table.create.js +145 -0
  423. package/dist/core/objects/table/changes/table.drop.d.ts +22 -0
  424. package/dist/core/objects/table/changes/table.drop.js +35 -0
  425. package/dist/core/objects/table/changes/table.privilege.d.ts +107 -0
  426. package/dist/core/objects/table/changes/table.privilege.js +150 -0
  427. package/dist/core/objects/table/changes/table.types.d.ts +6 -0
  428. package/dist/core/objects/table/changes/table.types.js +1 -0
  429. package/dist/core/objects/table/table.diff.d.ts +18 -0
  430. package/dist/core/objects/table/table.diff.js +668 -0
  431. package/dist/core/objects/table/table.model.d.ts +341 -0
  432. package/dist/core/objects/table/table.model.js +426 -0
  433. package/dist/core/objects/trigger/changes/trigger.alter.d.ts +29 -0
  434. package/dist/core/objects/trigger/changes/trigger.alter.js +27 -0
  435. package/dist/core/objects/trigger/changes/trigger.base.d.ts +17 -0
  436. package/dist/core/objects/trigger/changes/trigger.base.js +13 -0
  437. package/dist/core/objects/trigger/changes/trigger.comment.d.ts +23 -0
  438. package/dist/core/objects/trigger/changes/trigger.comment.js +51 -0
  439. package/dist/core/objects/trigger/changes/trigger.create.d.ts +41 -0
  440. package/dist/core/objects/trigger/changes/trigger.create.js +61 -0
  441. package/dist/core/objects/trigger/changes/trigger.drop.d.ts +22 -0
  442. package/dist/core/objects/trigger/changes/trigger.drop.js +33 -0
  443. package/dist/core/objects/trigger/changes/trigger.types.d.ts +5 -0
  444. package/dist/core/objects/trigger/changes/trigger.types.js +1 -0
  445. package/dist/core/objects/trigger/trigger.diff.d.ts +11 -0
  446. package/dist/core/objects/trigger/trigger.diff.js +84 -0
  447. package/dist/core/objects/trigger/trigger.model.d.ts +92 -0
  448. package/dist/core/objects/trigger/trigger.model.js +235 -0
  449. package/dist/core/objects/type/composite-type/changes/composite-type.alter.d.ts +81 -0
  450. package/dist/core/objects/type/composite-type/changes/composite-type.alter.js +123 -0
  451. package/dist/core/objects/type/composite-type/changes/composite-type.base.d.ts +17 -0
  452. package/dist/core/objects/type/composite-type/changes/composite-type.base.js +13 -0
  453. package/dist/core/objects/type/composite-type/changes/composite-type.comment.d.ts +53 -0
  454. package/dist/core/objects/type/composite-type/changes/composite-type.comment.js +108 -0
  455. package/dist/core/objects/type/composite-type/changes/composite-type.create.d.ts +23 -0
  456. package/dist/core/objects/type/composite-type/changes/composite-type.create.js +72 -0
  457. package/dist/core/objects/type/composite-type/changes/composite-type.drop.d.ts +22 -0
  458. package/dist/core/objects/type/composite-type/changes/composite-type.drop.js +31 -0
  459. package/dist/core/objects/type/composite-type/changes/composite-type.privilege.d.ts +97 -0
  460. package/dist/core/objects/type/composite-type/changes/composite-type.privilege.js +131 -0
  461. package/dist/core/objects/type/composite-type/changes/composite-type.types.d.ts +6 -0
  462. package/dist/core/objects/type/composite-type/changes/composite-type.types.js +1 -0
  463. package/dist/core/objects/type/composite-type/composite-type.diff.d.ts +18 -0
  464. package/dist/core/objects/type/composite-type/composite-type.diff.js +250 -0
  465. package/dist/core/objects/type/composite-type/composite-type.model.d.ts +148 -0
  466. package/dist/core/objects/type/composite-type/composite-type.model.js +223 -0
  467. package/dist/core/objects/type/enum/changes/enum.alter.d.ts +52 -0
  468. package/dist/core/objects/type/enum/changes/enum.alter.js +60 -0
  469. package/dist/core/objects/type/enum/changes/enum.base.d.ts +17 -0
  470. package/dist/core/objects/type/enum/changes/enum.base.js +13 -0
  471. package/dist/core/objects/type/enum/changes/enum.comment.d.ts +26 -0
  472. package/dist/core/objects/type/enum/changes/enum.comment.js +47 -0
  473. package/dist/core/objects/type/enum/changes/enum.create.d.ts +22 -0
  474. package/dist/core/objects/type/enum/changes/enum.create.js +43 -0
  475. package/dist/core/objects/type/enum/changes/enum.drop.d.ts +22 -0
  476. package/dist/core/objects/type/enum/changes/enum.drop.js +28 -0
  477. package/dist/core/objects/type/enum/changes/enum.privilege.d.ts +97 -0
  478. package/dist/core/objects/type/enum/changes/enum.privilege.js +131 -0
  479. package/dist/core/objects/type/enum/changes/enum.types.d.ts +6 -0
  480. package/dist/core/objects/type/enum/changes/enum.types.js +1 -0
  481. package/dist/core/objects/type/enum/enum.diff.d.ts +18 -0
  482. package/dist/core/objects/type/enum/enum.diff.js +268 -0
  483. package/dist/core/objects/type/enum/enum.model.d.ts +66 -0
  484. package/dist/core/objects/type/enum/enum.model.js +154 -0
  485. package/dist/core/objects/type/range/changes/range.alter.d.ts +33 -0
  486. package/dist/core/objects/type/range/changes/range.alter.js +30 -0
  487. package/dist/core/objects/type/range/changes/range.base.d.ts +17 -0
  488. package/dist/core/objects/type/range/changes/range.base.js +13 -0
  489. package/dist/core/objects/type/range/changes/range.comment.d.ts +26 -0
  490. package/dist/core/objects/type/range/changes/range.comment.js +47 -0
  491. package/dist/core/objects/type/range/changes/range.create.d.ts +31 -0
  492. package/dist/core/objects/type/range/changes/range.create.js +113 -0
  493. package/dist/core/objects/type/range/changes/range.drop.d.ts +22 -0
  494. package/dist/core/objects/type/range/changes/range.drop.js +28 -0
  495. package/dist/core/objects/type/range/changes/range.privilege.d.ts +97 -0
  496. package/dist/core/objects/type/range/changes/range.privilege.js +131 -0
  497. package/dist/core/objects/type/range/changes/range.types.d.ts +6 -0
  498. package/dist/core/objects/type/range/changes/range.types.js +1 -0
  499. package/dist/core/objects/type/range/range.diff.d.ts +18 -0
  500. package/dist/core/objects/type/range/range.diff.js +172 -0
  501. package/dist/core/objects/type/range/range.model.d.ts +81 -0
  502. package/dist/core/objects/type/range/range.model.js +165 -0
  503. package/dist/core/objects/type/type.types.d.ts +4 -0
  504. package/dist/core/objects/type/type.types.js +1 -0
  505. package/dist/core/objects/utils.d.ts +57 -0
  506. package/dist/core/objects/utils.js +137 -0
  507. package/dist/core/objects/view/changes/view.alter.d.ts +62 -0
  508. package/dist/core/objects/view/changes/view.alter.js +75 -0
  509. package/dist/core/objects/view/changes/view.base.d.ts +17 -0
  510. package/dist/core/objects/view/changes/view.base.js +13 -0
  511. package/dist/core/objects/view/changes/view.comment.d.ts +23 -0
  512. package/dist/core/objects/view/changes/view.comment.js +46 -0
  513. package/dist/core/objects/view/changes/view.create.d.ts +27 -0
  514. package/dist/core/objects/view/changes/view.create.js +57 -0
  515. package/dist/core/objects/view/changes/view.drop.d.ts +17 -0
  516. package/dist/core/objects/view/changes/view.drop.js +30 -0
  517. package/dist/core/objects/view/changes/view.privilege.d.ts +107 -0
  518. package/dist/core/objects/view/changes/view.privilege.js +150 -0
  519. package/dist/core/objects/view/changes/view.types.d.ts +6 -0
  520. package/dist/core/objects/view/changes/view.types.js +1 -0
  521. package/dist/core/objects/view/view.diff.d.ts +18 -0
  522. package/dist/core/objects/view/view.diff.js +270 -0
  523. package/dist/core/objects/view/view.model.d.ts +152 -0
  524. package/dist/core/objects/view/view.model.js +250 -0
  525. package/dist/core/plan/apply.d.ts +33 -0
  526. package/dist/core/plan/apply.js +112 -0
  527. package/dist/core/plan/create.d.ts +22 -0
  528. package/dist/core/plan/create.js +228 -0
  529. package/dist/core/plan/hierarchy.d.ts +19 -0
  530. package/dist/core/plan/hierarchy.js +488 -0
  531. package/dist/core/plan/index.d.ts +19 -0
  532. package/dist/core/plan/index.js +21 -0
  533. package/dist/core/plan/io.d.ts +12 -0
  534. package/dist/core/plan/io.js +17 -0
  535. package/dist/core/plan/risk.d.ts +10 -0
  536. package/dist/core/plan/risk.js +38 -0
  537. package/dist/core/plan/serialize.d.ts +26 -0
  538. package/dist/core/plan/serialize.js +176 -0
  539. package/dist/core/plan/statements.d.ts +8 -0
  540. package/dist/core/plan/statements.js +13 -0
  541. package/dist/core/plan/types.d.ts +153 -0
  542. package/dist/core/plan/types.js +32 -0
  543. package/dist/core/postgres-config.d.ts +8 -0
  544. package/dist/core/postgres-config.js +46 -0
  545. package/dist/core/sort/custom-constraints.d.ts +9 -0
  546. package/dist/core/sort/custom-constraints.js +133 -0
  547. package/dist/core/sort/debug-visualization.d.ts +8 -0
  548. package/dist/core/sort/debug-visualization.js +145 -0
  549. package/dist/core/sort/dependency-filter.d.ts +19 -0
  550. package/dist/core/sort/dependency-filter.js +152 -0
  551. package/dist/core/sort/graph-builder.d.ts +37 -0
  552. package/dist/core/sort/graph-builder.js +172 -0
  553. package/dist/core/sort/graph-utils.d.ts +14 -0
  554. package/dist/core/sort/graph-utils.js +41 -0
  555. package/dist/core/sort/logical-sort.d.ts +26 -0
  556. package/dist/core/sort/logical-sort.js +532 -0
  557. package/dist/core/sort/sort-changes.d.ts +28 -0
  558. package/dist/core/sort/sort-changes.js +147 -0
  559. package/dist/core/sort/topological-sort.d.ts +20 -0
  560. package/dist/core/sort/topological-sort.js +138 -0
  561. package/dist/core/sort/types.d.ts +102 -0
  562. package/dist/core/sort/types.js +1 -0
  563. package/dist/core/sort/utils.d.ts +23 -0
  564. package/dist/core/sort/utils.js +51 -0
  565. package/dist/index.d.ts +1 -0
  566. package/dist/index.js +1 -0
  567. package/package.json +58 -12
@@ -0,0 +1,59 @@
1
+ import type { Sql } from "postgres";
2
+ import z from "zod";
3
+ import { BasePgModel } from "../../base.model.ts";
4
+ import { type PrivilegeProps } from "../../base.privilege-diff.ts";
5
+ /**
6
+ * All properties exposed by CREATE FOREIGN DATA WRAPPER statement are included in diff output.
7
+ * https://www.postgresql.org/docs/17/sql-createforeigndatawrapper.html
8
+ *
9
+ * ALTER FOREIGN DATA WRAPPER statement can be generated for changes to the following properties:
10
+ * - owner, handler, validator, options
11
+ * https://www.postgresql.org/docs/17/sql-alterforeigndatawrapper.html
12
+ *
13
+ * Foreign Data Wrappers are not schema-qualified (no schema property).
14
+ */
15
+ declare const foreignDataWrapperPropsSchema: z.ZodObject<{
16
+ name: z.ZodString;
17
+ owner: z.ZodString;
18
+ handler: z.ZodNullable<z.ZodString>;
19
+ validator: z.ZodNullable<z.ZodString>;
20
+ options: z.ZodNullable<z.ZodArray<z.ZodString>>;
21
+ comment: z.ZodNullable<z.ZodString>;
22
+ privileges: z.ZodArray<z.ZodObject<{
23
+ grantee: z.ZodString;
24
+ privilege: z.ZodString;
25
+ grantable: z.ZodBoolean;
26
+ columns: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
27
+ }, z.z.core.$strip>>;
28
+ }, z.z.core.$strip>;
29
+ type ForeignDataWrapperPrivilegeProps = PrivilegeProps;
30
+ export type ForeignDataWrapperProps = z.infer<typeof foreignDataWrapperPropsSchema>;
31
+ export declare class ForeignDataWrapper extends BasePgModel {
32
+ readonly name: ForeignDataWrapperProps["name"];
33
+ readonly owner: ForeignDataWrapperProps["owner"];
34
+ readonly handler: ForeignDataWrapperProps["handler"];
35
+ readonly validator: ForeignDataWrapperProps["validator"];
36
+ readonly options: ForeignDataWrapperProps["options"];
37
+ readonly comment: ForeignDataWrapperProps["comment"];
38
+ readonly privileges: ForeignDataWrapperPrivilegeProps[];
39
+ constructor(props: ForeignDataWrapperProps);
40
+ get stableId(): `foreignDataWrapper:${string}`;
41
+ get identityFields(): {
42
+ name: string;
43
+ };
44
+ get dataFields(): {
45
+ owner: string;
46
+ handler: string | null;
47
+ validator: string | null;
48
+ options: string[] | null;
49
+ comment: string | null;
50
+ privileges: {
51
+ grantee: string;
52
+ privilege: string;
53
+ grantable: boolean;
54
+ columns?: string[] | null | undefined;
55
+ }[];
56
+ };
57
+ }
58
+ export declare function extractForeignDataWrappers(sql: Sql): Promise<ForeignDataWrapper[]>;
59
+ export {};
@@ -0,0 +1,128 @@
1
+ import z from "zod";
2
+ import { BasePgModel } from "../../base.model.js";
3
+ import { privilegePropsSchema, } from "../../base.privilege-diff.js";
4
+ /**
5
+ * All properties exposed by CREATE FOREIGN DATA WRAPPER statement are included in diff output.
6
+ * https://www.postgresql.org/docs/17/sql-createforeigndatawrapper.html
7
+ *
8
+ * ALTER FOREIGN DATA WRAPPER statement can be generated for changes to the following properties:
9
+ * - owner, handler, validator, options
10
+ * https://www.postgresql.org/docs/17/sql-alterforeigndatawrapper.html
11
+ *
12
+ * Foreign Data Wrappers are not schema-qualified (no schema property).
13
+ */
14
+ const foreignDataWrapperPropsSchema = z.object({
15
+ name: z.string(),
16
+ owner: z.string(),
17
+ handler: z.string().nullable(),
18
+ validator: z.string().nullable(),
19
+ options: z.array(z.string()).nullable(),
20
+ comment: z.string().nullable(),
21
+ privileges: z.array(privilegePropsSchema),
22
+ });
23
+ export class ForeignDataWrapper extends BasePgModel {
24
+ name;
25
+ owner;
26
+ handler;
27
+ validator;
28
+ options;
29
+ comment;
30
+ privileges;
31
+ constructor(props) {
32
+ super();
33
+ // Identity fields
34
+ this.name = props.name;
35
+ // Data fields
36
+ this.owner = props.owner;
37
+ this.handler = props.handler;
38
+ this.validator = props.validator;
39
+ this.options = props.options;
40
+ this.comment = props.comment;
41
+ this.privileges = props.privileges;
42
+ }
43
+ get stableId() {
44
+ return `foreignDataWrapper:${this.name}`;
45
+ }
46
+ get identityFields() {
47
+ return {
48
+ name: this.name,
49
+ };
50
+ }
51
+ get dataFields() {
52
+ return {
53
+ owner: this.owner,
54
+ handler: this.handler,
55
+ validator: this.validator,
56
+ options: this.options,
57
+ comment: this.comment,
58
+ privileges: this.privileges,
59
+ };
60
+ }
61
+ }
62
+ export async function extractForeignDataWrappers(sql) {
63
+ return sql.begin(async (sql) => {
64
+ await sql `set search_path = ''`;
65
+ const fdwRows = await sql `
66
+ with extension_oids as (
67
+ select objid
68
+ from pg_depend d
69
+ where d.refclassid = 'pg_extension'::regclass
70
+ and d.classid = 'pg_foreign_data_wrapper'::regclass
71
+ )
72
+ select
73
+ quote_ident(fdw.fdwname) as name,
74
+ fdw.fdwowner::regrole::text as owner,
75
+ case
76
+ when fdw.fdwhandler = 0 then null
77
+ else p_handler.pronamespace::regnamespace::text || '.' || quote_ident(p_handler.proname) || '(' || pg_get_function_identity_arguments(fdw.fdwhandler) || ')'
78
+ end as handler,
79
+ case
80
+ when fdw.fdwvalidator = 0 then null
81
+ else p_validator.pronamespace::regnamespace::text || '.' || quote_ident(p_validator.proname) || '(' || pg_get_function_identity_arguments(fdw.fdwvalidator) || ')'
82
+ end as validator,
83
+ coalesce(fdw.fdwoptions, array[]::text[]) as options,
84
+ obj_description(fdw.oid, 'pg_foreign_data_wrapper') as comment,
85
+ coalesce(
86
+ (
87
+ select json_agg(
88
+ json_build_object(
89
+ 'grantee', case when x.grantee = 0 then 'PUBLIC' else x.grantee::regrole::text end,
90
+ 'privilege', x.privilege_type,
91
+ 'grantable', x.is_grantable
92
+ )
93
+ order by x.grantee, x.privilege_type
94
+ )
95
+ from lateral aclexplode(fdw.fdwacl) as x(grantor, grantee, privilege_type, is_grantable)
96
+ ), '[]'
97
+ ) as privileges
98
+ from
99
+ pg_catalog.pg_foreign_data_wrapper fdw
100
+ left join pg_catalog.pg_proc p_handler on p_handler.oid = fdw.fdwhandler
101
+ left join pg_catalog.pg_proc p_validator on p_validator.oid = fdw.fdwvalidator
102
+ left join extension_oids e on fdw.oid = e.objid
103
+ where
104
+ not fdw.fdwname like any(array['pg\\_%'])
105
+ and e.objid is null
106
+ order by
107
+ fdw.fdwname;
108
+ `;
109
+ // Validate and parse each row using the Zod schema
110
+ const validatedRows = fdwRows.map((row) => {
111
+ const parsed = foreignDataWrapperPropsSchema.parse(row);
112
+ // Parse options from PostgreSQL format ['key=value'] to ['key', 'value']
113
+ if (parsed.options && parsed.options.length > 0) {
114
+ const parsedOptions = [];
115
+ for (const opt of parsed.options) {
116
+ const eqIndex = opt.indexOf("=");
117
+ if (eqIndex > 0) {
118
+ parsedOptions.push(opt.substring(0, eqIndex));
119
+ parsedOptions.push(opt.substring(eqIndex + 1));
120
+ }
121
+ }
122
+ parsed.options = parsedOptions.length > 0 ? parsedOptions : null;
123
+ }
124
+ return parsed;
125
+ });
126
+ return validatedRows.map((row) => new ForeignDataWrapper(row));
127
+ });
128
+ }
@@ -0,0 +1,5 @@
1
+ import type { ForeignDataWrapperChange as FDWChange } from "./foreign-data-wrapper/changes/foreign-data-wrapper.types.ts";
2
+ import type { ForeignTableChange } from "./foreign-table/changes/foreign-table.types.ts";
3
+ import type { ServerChange } from "./server/changes/server.types.ts";
4
+ import type { UserMappingChange } from "./user-mapping/changes/user-mapping.types.ts";
5
+ export type ForeignDataWrapperChange = FDWChange | ServerChange | UserMappingChange | ForeignTableChange;
@@ -0,0 +1,163 @@
1
+ import type { ColumnProps } from "../../../base.model.ts";
2
+ import type { ForeignTable } from "../foreign-table.model.ts";
3
+ import { AlterForeignTableChange } from "./foreign-table.base.ts";
4
+ /**
5
+ * Alter a foreign table.
6
+ *
7
+ * @see https://www.postgresql.org/docs/17/sql-alterforeigntable.html
8
+ *
9
+ * Synopsis
10
+ * ```sql
11
+ * ALTER FOREIGN TABLE [ IF EXISTS ] [ ONLY ] name [ * ]
12
+ * action [, ... ]
13
+ * where action is one of:
14
+ * ADD [ COLUMN ] [ IF NOT EXISTS ] column_name data_type [ OPTIONS ( option 'value' [, ... ] ) ] [ COLLATE collation ] [ column_constraint [ ... ] ]
15
+ * DROP [ COLUMN ] [ IF EXISTS ] column_name [ RESTRICT | CASCADE ]
16
+ * ALTER [ COLUMN ] column_name [ SET DATA ] TYPE data_type [ COLLATE collation ]
17
+ * ALTER [ COLUMN ] column_name SET DEFAULT expression
18
+ * ALTER [ COLUMN ] column_name DROP DEFAULT
19
+ * ALTER [ COLUMN ] column_name { SET | DROP } NOT NULL
20
+ * ALTER [ COLUMN ] column_name OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ] )
21
+ * OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
22
+ * OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ] )
23
+ * ```
24
+ */
25
+ export type AlterForeignTable = AlterForeignTableChangeOwner | AlterForeignTableAddColumn | AlterForeignTableDropColumn | AlterForeignTableAlterColumnType | AlterForeignTableAlterColumnSetDefault | AlterForeignTableAlterColumnDropDefault | AlterForeignTableAlterColumnSetNotNull | AlterForeignTableAlterColumnDropNotNull | AlterForeignTableSetOptions;
26
+ /**
27
+ * ALTER FOREIGN TABLE ... OWNER TO ...
28
+ */
29
+ export declare class AlterForeignTableChangeOwner extends AlterForeignTableChange {
30
+ readonly foreignTable: ForeignTable;
31
+ readonly owner: string;
32
+ readonly scope: "object";
33
+ constructor(props: {
34
+ foreignTable: ForeignTable;
35
+ owner: string;
36
+ });
37
+ get requires(): (`role:${string}` | `foreignTable:${string}`)[];
38
+ serialize(): string;
39
+ }
40
+ /**
41
+ * ALTER FOREIGN TABLE ... ADD COLUMN ...
42
+ */
43
+ export declare class AlterForeignTableAddColumn extends AlterForeignTableChange {
44
+ readonly foreignTable: ForeignTable;
45
+ readonly column: ColumnProps;
46
+ readonly scope: "object";
47
+ constructor(props: {
48
+ foreignTable: ForeignTable;
49
+ column: ColumnProps;
50
+ });
51
+ get requires(): `foreignTable:${string}`[];
52
+ serialize(): string;
53
+ }
54
+ /**
55
+ * ALTER FOREIGN TABLE ... DROP COLUMN ...
56
+ */
57
+ export declare class AlterForeignTableDropColumn extends AlterForeignTableChange {
58
+ readonly foreignTable: ForeignTable;
59
+ readonly columnName: string;
60
+ readonly scope: "object";
61
+ constructor(props: {
62
+ foreignTable: ForeignTable;
63
+ columnName: string;
64
+ });
65
+ get requires(): `foreignTable:${string}`[];
66
+ serialize(): string;
67
+ }
68
+ /**
69
+ * ALTER FOREIGN TABLE ... ALTER COLUMN ... TYPE ...
70
+ */
71
+ export declare class AlterForeignTableAlterColumnType extends AlterForeignTableChange {
72
+ readonly foreignTable: ForeignTable;
73
+ readonly columnName: string;
74
+ readonly dataType: string;
75
+ readonly scope: "object";
76
+ constructor(props: {
77
+ foreignTable: ForeignTable;
78
+ columnName: string;
79
+ dataType: string;
80
+ });
81
+ get requires(): `foreignTable:${string}`[];
82
+ serialize(): string;
83
+ }
84
+ /**
85
+ * ALTER FOREIGN TABLE ... ALTER COLUMN ... SET DEFAULT ...
86
+ */
87
+ export declare class AlterForeignTableAlterColumnSetDefault extends AlterForeignTableChange {
88
+ readonly foreignTable: ForeignTable;
89
+ readonly columnName: string;
90
+ readonly defaultValue: string;
91
+ readonly scope: "object";
92
+ constructor(props: {
93
+ foreignTable: ForeignTable;
94
+ columnName: string;
95
+ defaultValue: string;
96
+ });
97
+ get requires(): `foreignTable:${string}`[];
98
+ serialize(): string;
99
+ }
100
+ /**
101
+ * ALTER FOREIGN TABLE ... ALTER COLUMN ... DROP DEFAULT
102
+ */
103
+ export declare class AlterForeignTableAlterColumnDropDefault extends AlterForeignTableChange {
104
+ readonly foreignTable: ForeignTable;
105
+ readonly columnName: string;
106
+ readonly scope: "object";
107
+ constructor(props: {
108
+ foreignTable: ForeignTable;
109
+ columnName: string;
110
+ });
111
+ get requires(): `foreignTable:${string}`[];
112
+ serialize(): string;
113
+ }
114
+ /**
115
+ * ALTER FOREIGN TABLE ... ALTER COLUMN ... SET NOT NULL
116
+ */
117
+ export declare class AlterForeignTableAlterColumnSetNotNull extends AlterForeignTableChange {
118
+ readonly foreignTable: ForeignTable;
119
+ readonly columnName: string;
120
+ readonly scope: "object";
121
+ constructor(props: {
122
+ foreignTable: ForeignTable;
123
+ columnName: string;
124
+ });
125
+ get requires(): `foreignTable:${string}`[];
126
+ serialize(): string;
127
+ }
128
+ /**
129
+ * ALTER FOREIGN TABLE ... ALTER COLUMN ... DROP NOT NULL
130
+ */
131
+ export declare class AlterForeignTableAlterColumnDropNotNull extends AlterForeignTableChange {
132
+ readonly foreignTable: ForeignTable;
133
+ readonly columnName: string;
134
+ readonly scope: "object";
135
+ constructor(props: {
136
+ foreignTable: ForeignTable;
137
+ columnName: string;
138
+ });
139
+ get requires(): `foreignTable:${string}`[];
140
+ serialize(): string;
141
+ }
142
+ /**
143
+ * ALTER FOREIGN TABLE ... OPTIONS ( ADD | SET | DROP ... )
144
+ */
145
+ export declare class AlterForeignTableSetOptions extends AlterForeignTableChange {
146
+ readonly foreignTable: ForeignTable;
147
+ readonly options: Array<{
148
+ action: "ADD" | "SET" | "DROP";
149
+ option: string;
150
+ value?: string;
151
+ }>;
152
+ readonly scope: "object";
153
+ constructor(props: {
154
+ foreignTable: ForeignTable;
155
+ options: Array<{
156
+ action: "ADD" | "SET" | "DROP";
157
+ option: string;
158
+ value?: string;
159
+ }>;
160
+ });
161
+ get requires(): `foreignTable:${string}`[];
162
+ serialize(): string;
163
+ }
@@ -0,0 +1,248 @@
1
+ import { quoteLiteral } from "../../../base.change.js";
2
+ import { stableId } from "../../../utils.js";
3
+ import { AlterForeignTableChange } from "./foreign-table.base.js";
4
+ /**
5
+ * ALTER FOREIGN TABLE ... OWNER TO ...
6
+ */
7
+ export class AlterForeignTableChangeOwner extends AlterForeignTableChange {
8
+ foreignTable;
9
+ owner;
10
+ scope = "object";
11
+ constructor(props) {
12
+ super();
13
+ this.foreignTable = props.foreignTable;
14
+ this.owner = props.owner;
15
+ }
16
+ get requires() {
17
+ return [this.foreignTable.stableId, stableId.role(this.owner)];
18
+ }
19
+ serialize() {
20
+ return [
21
+ "ALTER FOREIGN TABLE",
22
+ `${this.foreignTable.schema}.${this.foreignTable.name}`,
23
+ "OWNER TO",
24
+ this.owner,
25
+ ].join(" ");
26
+ }
27
+ }
28
+ /**
29
+ * ALTER FOREIGN TABLE ... ADD COLUMN ...
30
+ */
31
+ export class AlterForeignTableAddColumn extends AlterForeignTableChange {
32
+ foreignTable;
33
+ column;
34
+ scope = "object";
35
+ constructor(props) {
36
+ super();
37
+ this.foreignTable = props.foreignTable;
38
+ this.column = props.column;
39
+ }
40
+ get requires() {
41
+ return [this.foreignTable.stableId];
42
+ }
43
+ serialize() {
44
+ const parts = [
45
+ "ALTER FOREIGN TABLE",
46
+ `${this.foreignTable.schema}.${this.foreignTable.name}`,
47
+ "ADD COLUMN",
48
+ this.column.name,
49
+ this.column.data_type_str,
50
+ ];
51
+ if (this.column.not_null) {
52
+ parts.push("NOT NULL");
53
+ }
54
+ if (this.column.default) {
55
+ parts.push("DEFAULT", this.column.default);
56
+ }
57
+ return parts.join(" ");
58
+ }
59
+ }
60
+ /**
61
+ * ALTER FOREIGN TABLE ... DROP COLUMN ...
62
+ */
63
+ export class AlterForeignTableDropColumn extends AlterForeignTableChange {
64
+ foreignTable;
65
+ columnName;
66
+ scope = "object";
67
+ constructor(props) {
68
+ super();
69
+ this.foreignTable = props.foreignTable;
70
+ this.columnName = props.columnName;
71
+ }
72
+ get requires() {
73
+ return [this.foreignTable.stableId];
74
+ }
75
+ serialize() {
76
+ return [
77
+ "ALTER FOREIGN TABLE",
78
+ `${this.foreignTable.schema}.${this.foreignTable.name}`,
79
+ "DROP COLUMN",
80
+ this.columnName,
81
+ ].join(" ");
82
+ }
83
+ }
84
+ /**
85
+ * ALTER FOREIGN TABLE ... ALTER COLUMN ... TYPE ...
86
+ */
87
+ export class AlterForeignTableAlterColumnType extends AlterForeignTableChange {
88
+ foreignTable;
89
+ columnName;
90
+ dataType;
91
+ scope = "object";
92
+ constructor(props) {
93
+ super();
94
+ this.foreignTable = props.foreignTable;
95
+ this.columnName = props.columnName;
96
+ this.dataType = props.dataType;
97
+ }
98
+ get requires() {
99
+ return [this.foreignTable.stableId];
100
+ }
101
+ serialize() {
102
+ return [
103
+ "ALTER FOREIGN TABLE",
104
+ `${this.foreignTable.schema}.${this.foreignTable.name}`,
105
+ "ALTER COLUMN",
106
+ this.columnName,
107
+ "TYPE",
108
+ this.dataType,
109
+ ].join(" ");
110
+ }
111
+ }
112
+ /**
113
+ * ALTER FOREIGN TABLE ... ALTER COLUMN ... SET DEFAULT ...
114
+ */
115
+ export class AlterForeignTableAlterColumnSetDefault extends AlterForeignTableChange {
116
+ foreignTable;
117
+ columnName;
118
+ defaultValue;
119
+ scope = "object";
120
+ constructor(props) {
121
+ super();
122
+ this.foreignTable = props.foreignTable;
123
+ this.columnName = props.columnName;
124
+ this.defaultValue = props.defaultValue;
125
+ }
126
+ get requires() {
127
+ return [this.foreignTable.stableId];
128
+ }
129
+ serialize() {
130
+ return [
131
+ "ALTER FOREIGN TABLE",
132
+ `${this.foreignTable.schema}.${this.foreignTable.name}`,
133
+ "ALTER COLUMN",
134
+ this.columnName,
135
+ "SET DEFAULT",
136
+ this.defaultValue,
137
+ ].join(" ");
138
+ }
139
+ }
140
+ /**
141
+ * ALTER FOREIGN TABLE ... ALTER COLUMN ... DROP DEFAULT
142
+ */
143
+ export class AlterForeignTableAlterColumnDropDefault extends AlterForeignTableChange {
144
+ foreignTable;
145
+ columnName;
146
+ scope = "object";
147
+ constructor(props) {
148
+ super();
149
+ this.foreignTable = props.foreignTable;
150
+ this.columnName = props.columnName;
151
+ }
152
+ get requires() {
153
+ return [this.foreignTable.stableId];
154
+ }
155
+ serialize() {
156
+ return [
157
+ "ALTER FOREIGN TABLE",
158
+ `${this.foreignTable.schema}.${this.foreignTable.name}`,
159
+ "ALTER COLUMN",
160
+ this.columnName,
161
+ "DROP DEFAULT",
162
+ ].join(" ");
163
+ }
164
+ }
165
+ /**
166
+ * ALTER FOREIGN TABLE ... ALTER COLUMN ... SET NOT NULL
167
+ */
168
+ export class AlterForeignTableAlterColumnSetNotNull extends AlterForeignTableChange {
169
+ foreignTable;
170
+ columnName;
171
+ scope = "object";
172
+ constructor(props) {
173
+ super();
174
+ this.foreignTable = props.foreignTable;
175
+ this.columnName = props.columnName;
176
+ }
177
+ get requires() {
178
+ return [this.foreignTable.stableId];
179
+ }
180
+ serialize() {
181
+ return [
182
+ "ALTER FOREIGN TABLE",
183
+ `${this.foreignTable.schema}.${this.foreignTable.name}`,
184
+ "ALTER COLUMN",
185
+ this.columnName,
186
+ "SET NOT NULL",
187
+ ].join(" ");
188
+ }
189
+ }
190
+ /**
191
+ * ALTER FOREIGN TABLE ... ALTER COLUMN ... DROP NOT NULL
192
+ */
193
+ export class AlterForeignTableAlterColumnDropNotNull extends AlterForeignTableChange {
194
+ foreignTable;
195
+ columnName;
196
+ scope = "object";
197
+ constructor(props) {
198
+ super();
199
+ this.foreignTable = props.foreignTable;
200
+ this.columnName = props.columnName;
201
+ }
202
+ get requires() {
203
+ return [this.foreignTable.stableId];
204
+ }
205
+ serialize() {
206
+ return [
207
+ "ALTER FOREIGN TABLE",
208
+ `${this.foreignTable.schema}.${this.foreignTable.name}`,
209
+ "ALTER COLUMN",
210
+ this.columnName,
211
+ "DROP NOT NULL",
212
+ ].join(" ");
213
+ }
214
+ }
215
+ /**
216
+ * ALTER FOREIGN TABLE ... OPTIONS ( ADD | SET | DROP ... )
217
+ */
218
+ export class AlterForeignTableSetOptions extends AlterForeignTableChange {
219
+ foreignTable;
220
+ options;
221
+ scope = "object";
222
+ constructor(props) {
223
+ super();
224
+ this.foreignTable = props.foreignTable;
225
+ this.options = props.options;
226
+ }
227
+ get requires() {
228
+ return [this.foreignTable.stableId];
229
+ }
230
+ serialize() {
231
+ const optionParts = [];
232
+ for (const opt of this.options) {
233
+ if (opt.action === "DROP") {
234
+ optionParts.push(`DROP ${opt.option}`);
235
+ }
236
+ else {
237
+ const value = opt.value !== undefined ? quoteLiteral(opt.value) : "''";
238
+ optionParts.push(`${opt.action} ${opt.option} ${value}`);
239
+ }
240
+ }
241
+ return [
242
+ "ALTER FOREIGN TABLE",
243
+ `${this.foreignTable.schema}.${this.foreignTable.name}`,
244
+ "OPTIONS",
245
+ `(${optionParts.join(", ")})`,
246
+ ].join(" ");
247
+ }
248
+ }
@@ -0,0 +1,17 @@
1
+ import { BaseChange } from "../../../base.change.ts";
2
+ import type { ForeignTable } from "../foreign-table.model.ts";
3
+ declare abstract class BaseForeignTableChange extends BaseChange {
4
+ abstract readonly foreignTable: ForeignTable;
5
+ abstract readonly scope: "object" | "comment" | "privilege";
6
+ readonly objectType: "foreign_table";
7
+ }
8
+ export declare abstract class CreateForeignTableChange extends BaseForeignTableChange {
9
+ readonly operation: "create";
10
+ }
11
+ export declare abstract class AlterForeignTableChange extends BaseForeignTableChange {
12
+ readonly operation: "alter";
13
+ }
14
+ export declare abstract class DropForeignTableChange extends BaseForeignTableChange {
15
+ readonly operation: "drop";
16
+ }
17
+ export {};
@@ -0,0 +1,13 @@
1
+ import { BaseChange } from "../../../base.change.js";
2
+ class BaseForeignTableChange extends BaseChange {
3
+ objectType = "foreign_table";
4
+ }
5
+ export class CreateForeignTableChange extends BaseForeignTableChange {
6
+ operation = "create";
7
+ }
8
+ export class AlterForeignTableChange extends BaseForeignTableChange {
9
+ operation = "alter";
10
+ }
11
+ export class DropForeignTableChange extends BaseForeignTableChange {
12
+ operation = "drop";
13
+ }
@@ -0,0 +1,26 @@
1
+ import type { ForeignTable } from "../foreign-table.model.ts";
2
+ import { CreateForeignTableChange, DropForeignTableChange } from "./foreign-table.base.ts";
3
+ /**
4
+ * Create/drop comments on foreign tables.
5
+ */
6
+ export type CommentForeignTable = CreateCommentOnForeignTable | DropCommentOnForeignTable;
7
+ export declare class CreateCommentOnForeignTable extends CreateForeignTableChange {
8
+ readonly foreignTable: ForeignTable;
9
+ readonly scope: "comment";
10
+ constructor(props: {
11
+ foreignTable: ForeignTable;
12
+ });
13
+ get creates(): `comment:${string}`[];
14
+ get requires(): `foreignTable:${string}`[];
15
+ serialize(): string;
16
+ }
17
+ export declare class DropCommentOnForeignTable extends DropForeignTableChange {
18
+ readonly foreignTable: ForeignTable;
19
+ readonly scope: "comment";
20
+ constructor(props: {
21
+ foreignTable: ForeignTable;
22
+ });
23
+ get drops(): `comment:${string}`[];
24
+ get requires(): (`comment:${string}` | `foreignTable:${string}`)[];
25
+ serialize(): string;
26
+ }