@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,23 @@
1
+ import type { RlsPolicy } from "../rls-policy.model.ts";
2
+ import { CreateRlsPolicyChange, DropRlsPolicyChange } from "./rls-policy.base.ts";
3
+ export type CommentRlsPolicy = CreateCommentOnRlsPolicy | DropCommentOnRlsPolicy;
4
+ export declare class CreateCommentOnRlsPolicy extends CreateRlsPolicyChange {
5
+ readonly policy: RlsPolicy;
6
+ readonly scope: "comment";
7
+ constructor(props: {
8
+ policy: RlsPolicy;
9
+ });
10
+ get creates(): `comment:${string}`[];
11
+ get requires(): `rlsPolicy:${string}`[];
12
+ serialize(): string;
13
+ }
14
+ export declare class DropCommentOnRlsPolicy extends DropRlsPolicyChange {
15
+ readonly policy: RlsPolicy;
16
+ readonly scope: "comment";
17
+ constructor(props: {
18
+ policy: RlsPolicy;
19
+ });
20
+ get drops(): `comment:${string}`[];
21
+ get requires(): (`comment:${string}` | `rlsPolicy:${string}`)[];
22
+ serialize(): string;
23
+ }
@@ -0,0 +1,51 @@
1
+ import { quoteLiteral } from "../../base.change.js";
2
+ import { stableId } from "../../utils.js";
3
+ import { CreateRlsPolicyChange, DropRlsPolicyChange, } from "./rls-policy.base.js";
4
+ export class CreateCommentOnRlsPolicy extends CreateRlsPolicyChange {
5
+ policy;
6
+ scope = "comment";
7
+ constructor(props) {
8
+ super();
9
+ this.policy = props.policy;
10
+ }
11
+ get creates() {
12
+ return [stableId.comment(this.policy.stableId)];
13
+ }
14
+ get requires() {
15
+ return [this.policy.stableId];
16
+ }
17
+ serialize() {
18
+ return [
19
+ "COMMENT ON POLICY",
20
+ this.policy.name,
21
+ "ON",
22
+ `${this.policy.schema}.${this.policy.table_name}`,
23
+ "IS",
24
+ // biome-ignore lint/style/noNonNullAssertion: rls policy comment is not nullable in this case
25
+ quoteLiteral(this.policy.comment),
26
+ ].join(" ");
27
+ }
28
+ }
29
+ export class DropCommentOnRlsPolicy extends DropRlsPolicyChange {
30
+ policy;
31
+ scope = "comment";
32
+ constructor(props) {
33
+ super();
34
+ this.policy = props.policy;
35
+ }
36
+ get drops() {
37
+ return [stableId.comment(this.policy.stableId)];
38
+ }
39
+ get requires() {
40
+ return [stableId.comment(this.policy.stableId), this.policy.stableId];
41
+ }
42
+ serialize() {
43
+ return [
44
+ "COMMENT ON POLICY",
45
+ this.policy.name,
46
+ "ON",
47
+ `${this.policy.schema}.${this.policy.table_name}`,
48
+ "IS NULL",
49
+ ].join(" ");
50
+ }
51
+ }
@@ -0,0 +1,27 @@
1
+ import type { RlsPolicy } from "../rls-policy.model.ts";
2
+ import { CreateRlsPolicyChange } from "./rls-policy.base.ts";
3
+ /**
4
+ * Create an RLS policy.
5
+ *
6
+ * @see https://www.postgresql.org/docs/17/sql-createpolicy.html
7
+ *
8
+ * Synopsis
9
+ * ```sql
10
+ * CREATE POLICY name ON table_name
11
+ * [ AS { PERMISSIVE | RESTRICTIVE } ]
12
+ * [ FOR { ALL | SELECT | INSERT | UPDATE | DELETE } ]
13
+ * [ TO { role_name | PUBLIC | CURRENT_ROLE | CURRENT_USER | SESSION_USER } [, ...] ]
14
+ * [ USING ( using_expression ) ]
15
+ * [ WITH CHECK ( with_check_expression ) ]
16
+ * ```
17
+ */
18
+ export declare class CreateRlsPolicy extends CreateRlsPolicyChange {
19
+ readonly policy: RlsPolicy;
20
+ readonly scope: "object";
21
+ constructor(props: {
22
+ policy: RlsPolicy;
23
+ });
24
+ get creates(): `rlsPolicy:${string}`[];
25
+ get requires(): string[];
26
+ serialize(): string;
27
+ }
@@ -0,0 +1,79 @@
1
+ import { stableId } from "../../utils.js";
2
+ import { CreateRlsPolicyChange } from "./rls-policy.base.js";
3
+ /**
4
+ * Create an RLS policy.
5
+ *
6
+ * @see https://www.postgresql.org/docs/17/sql-createpolicy.html
7
+ *
8
+ * Synopsis
9
+ * ```sql
10
+ * CREATE POLICY name ON table_name
11
+ * [ AS { PERMISSIVE | RESTRICTIVE } ]
12
+ * [ FOR { ALL | SELECT | INSERT | UPDATE | DELETE } ]
13
+ * [ TO { role_name | PUBLIC | CURRENT_ROLE | CURRENT_USER | SESSION_USER } [, ...] ]
14
+ * [ USING ( using_expression ) ]
15
+ * [ WITH CHECK ( with_check_expression ) ]
16
+ * ```
17
+ */
18
+ export class CreateRlsPolicy extends CreateRlsPolicyChange {
19
+ policy;
20
+ scope = "object";
21
+ constructor(props) {
22
+ super();
23
+ this.policy = props.policy;
24
+ }
25
+ get creates() {
26
+ return [this.policy.stableId];
27
+ }
28
+ get requires() {
29
+ const dependencies = new Set();
30
+ // Schema dependency
31
+ dependencies.add(stableId.schema(this.policy.schema));
32
+ // Table dependency
33
+ dependencies.add(stableId.table(this.policy.schema, this.policy.table_name));
34
+ // Owner dependency
35
+ dependencies.add(stableId.role(this.policy.owner));
36
+ return Array.from(dependencies);
37
+ }
38
+ serialize() {
39
+ const parts = ["CREATE POLICY"];
40
+ // Add policy name
41
+ parts.push(this.policy.name);
42
+ // Add ON table
43
+ parts.push("ON", `${this.policy.schema}.${this.policy.table_name}`);
44
+ // Add AS RESTRICTIVE only if false (default is PERMISSIVE)
45
+ if (!this.policy.permissive) {
46
+ parts.push("AS RESTRICTIVE");
47
+ }
48
+ // Add FOR command
49
+ const commandMap = {
50
+ r: "FOR SELECT",
51
+ a: "FOR INSERT",
52
+ w: "FOR UPDATE",
53
+ d: "FOR DELETE",
54
+ "*": "FOR ALL",
55
+ };
56
+ // Default is FOR ALL; only print when not default
57
+ if (this.policy.command && this.policy.command !== "*") {
58
+ parts.push(commandMap[this.policy.command]);
59
+ }
60
+ // Add TO roles
61
+ // Default is TO PUBLIC; avoid printing explicit PUBLIC in CREATE
62
+ if (this.policy.roles && this.policy.roles.length > 0) {
63
+ const onlyPublic = this.policy.roles.length === 1 &&
64
+ this.policy.roles[0].toLowerCase() === "public";
65
+ if (!onlyPublic) {
66
+ parts.push("TO", this.policy.roles.join(", "));
67
+ }
68
+ }
69
+ // Add USING expression
70
+ if (this.policy.using_expression) {
71
+ parts.push("USING", `(${this.policy.using_expression})`);
72
+ }
73
+ // Add WITH CHECK expression
74
+ if (this.policy.with_check_expression) {
75
+ parts.push("WITH CHECK", `(${this.policy.with_check_expression})`);
76
+ }
77
+ return parts.join(" ");
78
+ }
79
+ }
@@ -0,0 +1,22 @@
1
+ import type { RlsPolicy } from "../rls-policy.model.ts";
2
+ import { DropRlsPolicyChange } from "./rls-policy.base.ts";
3
+ /**
4
+ * Drop an RLS policy.
5
+ *
6
+ * @see https://www.postgresql.org/docs/17/sql-droppolicy.html
7
+ *
8
+ * Synopsis
9
+ * ```sql
10
+ * DROP POLICY [ IF EXISTS ] name ON table_name [ CASCADE | RESTRICT ]
11
+ * ```
12
+ */
13
+ export declare class DropRlsPolicy extends DropRlsPolicyChange {
14
+ readonly policy: RlsPolicy;
15
+ readonly scope: "object";
16
+ constructor(props: {
17
+ policy: RlsPolicy;
18
+ });
19
+ get drops(): `rlsPolicy:${string}`[];
20
+ get requires(): `rlsPolicy:${string}`[];
21
+ serialize(): string;
22
+ }
@@ -0,0 +1,33 @@
1
+ import { DropRlsPolicyChange } from "./rls-policy.base.js";
2
+ /**
3
+ * Drop an RLS policy.
4
+ *
5
+ * @see https://www.postgresql.org/docs/17/sql-droppolicy.html
6
+ *
7
+ * Synopsis
8
+ * ```sql
9
+ * DROP POLICY [ IF EXISTS ] name ON table_name [ CASCADE | RESTRICT ]
10
+ * ```
11
+ */
12
+ export class DropRlsPolicy extends DropRlsPolicyChange {
13
+ policy;
14
+ scope = "object";
15
+ constructor(props) {
16
+ super();
17
+ this.policy = props.policy;
18
+ }
19
+ get drops() {
20
+ return [this.policy.stableId];
21
+ }
22
+ get requires() {
23
+ return [this.policy.stableId];
24
+ }
25
+ serialize() {
26
+ return [
27
+ "DROP POLICY",
28
+ this.policy.name,
29
+ "ON",
30
+ `${this.policy.schema}.${this.policy.table_name}`,
31
+ ].join(" ");
32
+ }
33
+ }
@@ -0,0 +1,5 @@
1
+ import type { AlterRlsPolicy } from "./rls-policy.alter.ts";
2
+ import type { CommentRlsPolicy } from "./rls-policy.comment.ts";
3
+ import type { CreateRlsPolicy } from "./rls-policy.create.ts";
4
+ import type { DropRlsPolicy } from "./rls-policy.drop.ts";
5
+ export type RlsPolicyChange = AlterRlsPolicy | CommentRlsPolicy | CreateRlsPolicy | DropRlsPolicy;
@@ -0,0 +1,10 @@
1
+ import type { RlsPolicyChange } from "./changes/rls-policy.types.ts";
2
+ import type { RlsPolicy } from "./rls-policy.model.ts";
3
+ /**
4
+ * Diff two sets of RLS policies from main and branch catalogs.
5
+ *
6
+ * @param main - The RLS policies in the main catalog.
7
+ * @param branch - The RLS policies in the branch catalog.
8
+ * @returns A list of changes to apply to main to make it match branch.
9
+ */
10
+ export declare function diffRlsPolicies(main: Record<string, RlsPolicy>, branch: Record<string, RlsPolicy>): RlsPolicyChange[];
@@ -0,0 +1,80 @@
1
+ import { diffObjects } from "../base.diff.js";
2
+ import { deepEqual, hasNonAlterableChanges } from "../utils.js";
3
+ import { AlterRlsPolicySetRoles, AlterRlsPolicySetUsingExpression, AlterRlsPolicySetWithCheckExpression, } from "./changes/rls-policy.alter.js";
4
+ import { CreateCommentOnRlsPolicy, DropCommentOnRlsPolicy, } from "./changes/rls-policy.comment.js";
5
+ import { CreateRlsPolicy } from "./changes/rls-policy.create.js";
6
+ import { DropRlsPolicy } from "./changes/rls-policy.drop.js";
7
+ /**
8
+ * Diff two sets of RLS policies from main and branch catalogs.
9
+ *
10
+ * @param main - The RLS policies in the main catalog.
11
+ * @param branch - The RLS policies in the branch catalog.
12
+ * @returns A list of changes to apply to main to make it match branch.
13
+ */
14
+ export function diffRlsPolicies(main, branch) {
15
+ const { created, dropped, altered } = diffObjects(main, branch);
16
+ const changes = [];
17
+ for (const rlsPolicyId of created) {
18
+ const policy = branch[rlsPolicyId];
19
+ changes.push(new CreateRlsPolicy({ policy: policy }));
20
+ if (policy.comment !== null) {
21
+ changes.push(new CreateCommentOnRlsPolicy({ policy }));
22
+ }
23
+ }
24
+ for (const rlsPolicyId of dropped) {
25
+ changes.push(new DropRlsPolicy({ policy: main[rlsPolicyId] }));
26
+ }
27
+ for (const rlsPolicyId of altered) {
28
+ const mainRlsPolicy = main[rlsPolicyId];
29
+ const branchRlsPolicy = branch[rlsPolicyId];
30
+ // Check if non-alterable properties have changed
31
+ // These require dropping and recreating the RLS policy
32
+ // These attributes require drop+create (Postgres has no ALTER for them)
33
+ const NON_ALTERABLE_FIELDS = [
34
+ "command",
35
+ "permissive",
36
+ ];
37
+ const nonAlterablePropsChanged = hasNonAlterableChanges(mainRlsPolicy, branchRlsPolicy, NON_ALTERABLE_FIELDS, {});
38
+ if (nonAlterablePropsChanged) {
39
+ // Replace the entire RLS policy (drop + create)
40
+ changes.push(new DropRlsPolicy({ policy: mainRlsPolicy }), new CreateRlsPolicy({ policy: branchRlsPolicy }));
41
+ }
42
+ else {
43
+ // Only alterable properties changed - check each one
44
+ // ROLES (TO ...)
45
+ const rolesEqual = deepEqual(mainRlsPolicy.roles, branchRlsPolicy.roles);
46
+ if (!rolesEqual) {
47
+ changes.push(new AlterRlsPolicySetRoles({
48
+ policy: mainRlsPolicy,
49
+ roles: branchRlsPolicy.roles,
50
+ }));
51
+ }
52
+ // USING expression
53
+ if (mainRlsPolicy.using_expression !== branchRlsPolicy.using_expression) {
54
+ changes.push(new AlterRlsPolicySetUsingExpression({
55
+ policy: mainRlsPolicy,
56
+ usingExpression: branchRlsPolicy.using_expression,
57
+ }));
58
+ }
59
+ // WITH CHECK expression
60
+ if (mainRlsPolicy.with_check_expression !==
61
+ branchRlsPolicy.with_check_expression) {
62
+ changes.push(new AlterRlsPolicySetWithCheckExpression({
63
+ policy: mainRlsPolicy,
64
+ withCheckExpression: branchRlsPolicy.with_check_expression,
65
+ }));
66
+ }
67
+ // COMMENT
68
+ if (mainRlsPolicy.comment !== branchRlsPolicy.comment) {
69
+ if (branchRlsPolicy.comment === null) {
70
+ changes.push(new DropCommentOnRlsPolicy({ policy: mainRlsPolicy }));
71
+ }
72
+ else {
73
+ changes.push(new CreateCommentOnRlsPolicy({ policy: branchRlsPolicy }));
74
+ }
75
+ }
76
+ // Note: RLS policy renaming would require drop+create due to identity fields
77
+ }
78
+ }
79
+ return changes;
80
+ }
@@ -0,0 +1,52 @@
1
+ import type { Sql } from "postgres";
2
+ import z from "zod";
3
+ import { BasePgModel } from "../base.model.ts";
4
+ declare const rlsPolicyPropsSchema: z.ZodObject<{
5
+ schema: z.ZodString;
6
+ name: z.ZodString;
7
+ table_name: z.ZodString;
8
+ command: z.ZodEnum<{
9
+ a: "a";
10
+ r: "r";
11
+ w: "w";
12
+ d: "d";
13
+ "*": "*";
14
+ }>;
15
+ permissive: z.ZodBoolean;
16
+ roles: z.ZodArray<z.ZodString>;
17
+ using_expression: z.ZodNullable<z.ZodString>;
18
+ with_check_expression: z.ZodNullable<z.ZodString>;
19
+ owner: z.ZodString;
20
+ comment: z.ZodNullable<z.ZodString>;
21
+ }, z.z.core.$strip>;
22
+ export type RlsPolicyProps = z.infer<typeof rlsPolicyPropsSchema>;
23
+ export declare class RlsPolicy extends BasePgModel {
24
+ readonly schema: RlsPolicyProps["schema"];
25
+ readonly name: RlsPolicyProps["name"];
26
+ readonly table_name: RlsPolicyProps["table_name"];
27
+ readonly command: RlsPolicyProps["command"];
28
+ readonly permissive: RlsPolicyProps["permissive"];
29
+ readonly roles: RlsPolicyProps["roles"];
30
+ readonly using_expression: RlsPolicyProps["using_expression"];
31
+ readonly with_check_expression: RlsPolicyProps["with_check_expression"];
32
+ readonly owner: RlsPolicyProps["owner"];
33
+ readonly comment: RlsPolicyProps["comment"];
34
+ constructor(props: RlsPolicyProps);
35
+ get stableId(): `rlsPolicy:${string}`;
36
+ get identityFields(): {
37
+ schema: string;
38
+ table_name: string;
39
+ name: string;
40
+ };
41
+ get dataFields(): {
42
+ command: "a" | "r" | "w" | "d" | "*";
43
+ permissive: boolean;
44
+ roles: string[];
45
+ using_expression: string | null;
46
+ with_check_expression: string | null;
47
+ owner: string;
48
+ comment: string | null;
49
+ };
50
+ }
51
+ export declare function extractRlsPolicies(sql: Sql): Promise<RlsPolicy[]>;
52
+ export {};
@@ -0,0 +1,127 @@
1
+ import z from "zod";
2
+ import { BasePgModel } from "../base.model.js";
3
+ const RlsPolicyCommandSchema = z.enum([
4
+ "r", // SELECT command
5
+ "a", // INSERT command (add)
6
+ "w", // UPDATE command (write)
7
+ "d", // DELETE command
8
+ "*", // ALL commands
9
+ ]);
10
+ const rlsPolicyPropsSchema = z.object({
11
+ schema: z.string(),
12
+ name: z.string(),
13
+ table_name: z.string(),
14
+ command: RlsPolicyCommandSchema,
15
+ permissive: z.boolean(),
16
+ roles: z.array(z.string()),
17
+ using_expression: z.string().nullable(),
18
+ with_check_expression: z.string().nullable(),
19
+ owner: z.string(),
20
+ comment: z.string().nullable(),
21
+ });
22
+ export class RlsPolicy extends BasePgModel {
23
+ schema;
24
+ name;
25
+ table_name;
26
+ command;
27
+ permissive;
28
+ roles;
29
+ using_expression;
30
+ with_check_expression;
31
+ owner;
32
+ comment;
33
+ constructor(props) {
34
+ super();
35
+ // Identity fields
36
+ this.schema = props.schema;
37
+ this.name = props.name;
38
+ this.table_name = props.table_name;
39
+ // Data fields
40
+ this.command = props.command;
41
+ this.permissive = props.permissive;
42
+ this.roles = props.roles;
43
+ this.using_expression = props.using_expression;
44
+ this.with_check_expression = props.with_check_expression;
45
+ this.owner = props.owner;
46
+ this.comment = props.comment;
47
+ }
48
+ get stableId() {
49
+ return `rlsPolicy:${this.schema}.${this.table_name}.${this.name}`;
50
+ }
51
+ get identityFields() {
52
+ return {
53
+ schema: this.schema,
54
+ table_name: this.table_name,
55
+ name: this.name,
56
+ };
57
+ }
58
+ get dataFields() {
59
+ return {
60
+ command: this.command,
61
+ permissive: this.permissive,
62
+ roles: this.roles,
63
+ using_expression: this.using_expression,
64
+ with_check_expression: this.with_check_expression,
65
+ owner: this.owner,
66
+ comment: this.comment,
67
+ };
68
+ }
69
+ }
70
+ export async function extractRlsPolicies(sql) {
71
+ return sql.begin(async (sql) => {
72
+ await sql `set search_path = ''`;
73
+ const policyRows = await sql `
74
+ with extension_policy_oids as (
75
+ select
76
+ objid
77
+ from
78
+ pg_depend d
79
+ where
80
+ d.refclassid = 'pg_extension'::regclass
81
+ and d.classid = 'pg_policy'::regclass
82
+ ),
83
+ extension_table_oids as (
84
+ select
85
+ objid
86
+ from
87
+ pg_depend d
88
+ where
89
+ d.refclassid = 'pg_extension'::regclass
90
+ and d.classid = 'pg_class'::regclass
91
+ and d.deptype = 'e'
92
+ )
93
+ select
94
+ tc.relnamespace::regnamespace::text as schema,
95
+ quote_ident(p.polname) as name,
96
+ quote_ident(tc.relname) as table_name,
97
+ p.polcmd as command,
98
+ p.polpermissive as permissive,
99
+ case
100
+ when p.polroles = '{0}' then array['public']::text[]
101
+ else array(
102
+ select quote_ident(rolname)
103
+ from pg_catalog.pg_roles
104
+ where oid = any(p.polroles)
105
+ order by rolname
106
+ )
107
+ end as roles,
108
+ pg_get_expr(p.polqual, p.polrelid) as using_expression,
109
+ pg_get_expr(p.polwithcheck, p.polrelid) as with_check_expression,
110
+ tc.relowner::regrole::text as owner,
111
+ obj_description(p.oid, 'pg_policy') as comment
112
+ from
113
+ pg_catalog.pg_policy p
114
+ inner join pg_catalog.pg_class tc on tc.oid = p.polrelid
115
+ left outer join extension_policy_oids e_policy on p.oid = e_policy.objid
116
+ left outer join extension_table_oids e_table on tc.oid = e_table.objid
117
+ where not tc.relnamespace::regnamespace::text like any(array['pg\\_%', 'information\\_schema'])
118
+ and e_policy.objid is null
119
+ and e_table.objid is null
120
+ order by
121
+ 1, 2;
122
+ `;
123
+ // Validate and parse each row using the Zod schema
124
+ const validatedRows = policyRows.map((row) => rlsPolicyPropsSchema.parse(row));
125
+ return validatedRows.map((row) => new RlsPolicy(row));
126
+ });
127
+ }
@@ -0,0 +1,78 @@
1
+ import type { Role } from "../role.model.ts";
2
+ import { AlterRoleChange } from "./role.base.ts";
3
+ /**
4
+ * Alter a role.
5
+ *
6
+ * @see https://www.postgresql.org/docs/17/sql-alterrole.html
7
+ *
8
+ * Synopsis
9
+ * ```sql
10
+ * ALTER ROLE role_name [ WITH ] option [ ... ]
11
+ * where option can be:
12
+ * SUPERUSER | NOSUPERUSER
13
+ * | CREATEDB | NOCREATEDB
14
+ * | CREATEROLE | NOCREATEROLE
15
+ * | INHERIT | NOINHERIT
16
+ * | LOGIN | NOLOGIN
17
+ * | REPLICATION | NOREPLICATION
18
+ * | BYPASSRLS | NOBYPASSRLS
19
+ * | CONNECTION LIMIT connlimit
20
+ * | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL
21
+ * | VALID UNTIL 'timestamp'
22
+ * | IN ROLE role_name [, ...]
23
+ * | IN GROUP role_name [, ...]
24
+ * | ROLE role_name [, ...]
25
+ * | ADMIN role_name [, ...]
26
+ * | USER role_name [, ...]
27
+ * | SYSID uid
28
+ *
29
+ * ALTER ROLE { role_specification | ALL } [ IN DATABASE database_name ] SET configuration_parameter { TO | = } { value | DEFAULT }
30
+ * ALTER ROLE { role_specification | ALL } [ IN DATABASE database_name ] SET configuration_parameter FROM CURRENT
31
+ * ALTER ROLE { role_specification | ALL } [ IN DATABASE database_name ] RESET configuration_parameter
32
+ * ALTER ROLE { role_specification | ALL } [ IN DATABASE database_name ] RESET ALL
33
+ * ```
34
+ */
35
+ export type AlterRole = AlterRoleSetConfig | AlterRoleSetOptions;
36
+ /**
37
+ * ALTER ROLE ... WITH option [...]
38
+ * Emits only options that differ between main and branch.
39
+ */
40
+ export declare class AlterRoleSetOptions extends AlterRoleChange {
41
+ readonly role: Role;
42
+ readonly options: string[];
43
+ readonly scope: "object";
44
+ constructor(props: {
45
+ role: Role;
46
+ options: string[];
47
+ });
48
+ get requires(): `role:${string}`[];
49
+ serialize(): string;
50
+ }
51
+ /**
52
+ * ALTER ROLE ... SET/RESET configuration_parameter (single statement)
53
+ * Represents one action: SET key TO value, RESET key, or RESET ALL.
54
+ */
55
+ export declare class AlterRoleSetConfig extends AlterRoleChange {
56
+ readonly role: Role;
57
+ readonly action: "set" | "reset" | "reset_all";
58
+ readonly key?: string;
59
+ readonly value?: string;
60
+ readonly scope: "object";
61
+ constructor(props: {
62
+ role: Role;
63
+ action: "set";
64
+ key: string;
65
+ value: string;
66
+ });
67
+ constructor(props: {
68
+ role: Role;
69
+ action: "reset";
70
+ key: string;
71
+ });
72
+ constructor(props: {
73
+ role: Role;
74
+ action: "reset_all";
75
+ });
76
+ get requires(): `role:${string}`[];
77
+ serialize(): string;
78
+ }
@@ -0,0 +1,55 @@
1
+ import { formatConfigValue } from "../../procedure/utils.js";
2
+ import { AlterRoleChange } from "./role.base.js";
3
+ /**
4
+ * ALTER ROLE ... WITH option [...]
5
+ * Emits only options that differ between main and branch.
6
+ */
7
+ export class AlterRoleSetOptions extends AlterRoleChange {
8
+ role;
9
+ options;
10
+ scope = "object";
11
+ constructor(props) {
12
+ super();
13
+ this.role = props.role;
14
+ this.options = props.options;
15
+ }
16
+ get requires() {
17
+ return [this.role.stableId];
18
+ }
19
+ serialize() {
20
+ const parts = ["ALTER ROLE", this.role.name];
21
+ return [...parts, "WITH", this.options.join(" ")].join(" ");
22
+ }
23
+ }
24
+ /**
25
+ * ALTER ROLE ... SET/RESET configuration_parameter (single statement)
26
+ * Represents one action: SET key TO value, RESET key, or RESET ALL.
27
+ */
28
+ export class AlterRoleSetConfig extends AlterRoleChange {
29
+ role;
30
+ action;
31
+ key;
32
+ value;
33
+ scope = "object";
34
+ constructor(props) {
35
+ super();
36
+ this.role = props.role;
37
+ this.action = props.action;
38
+ this.key = props.key;
39
+ this.value = props.value;
40
+ }
41
+ get requires() {
42
+ return [this.role.stableId];
43
+ }
44
+ serialize() {
45
+ const head = ["ALTER ROLE", this.role.name].join(" ");
46
+ if (this.action === "reset_all") {
47
+ return `${head} RESET ALL`;
48
+ }
49
+ if (this.action === "reset") {
50
+ return `${head} RESET ${this.key}`;
51
+ }
52
+ const formatted = formatConfigValue(this.key, this.value);
53
+ return `${head} SET ${this.key} TO ${formatted}`;
54
+ }
55
+ }
@@ -0,0 +1,17 @@
1
+ import { BaseChange } from "../../base.change.ts";
2
+ import type { Role } from "../role.model.ts";
3
+ declare abstract class BaseRoleChange extends BaseChange {
4
+ abstract readonly role: Role;
5
+ abstract readonly scope: "object" | "comment" | "membership" | "default_privilege";
6
+ readonly objectType: "role";
7
+ }
8
+ export declare abstract class CreateRoleChange extends BaseRoleChange {
9
+ readonly operation: "create";
10
+ }
11
+ export declare abstract class AlterRoleChange extends BaseRoleChange {
12
+ readonly operation: "alter";
13
+ }
14
+ export declare abstract class DropRoleChange extends BaseRoleChange {
15
+ readonly operation: "drop";
16
+ }
17
+ export {};