@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.
- package/LICENSE +21 -0
- package/README.md +149 -0
- package/dist/cli/app.d.ts +1 -0
- package/dist/cli/app.js +26 -0
- package/dist/cli/bin/cli.d.ts +2 -0
- package/dist/cli/bin/cli.js +7 -0
- package/dist/cli/commands/apply.d.ts +5 -0
- package/dist/cli/commands/apply.js +85 -0
- package/dist/cli/commands/plan.d.ts +5 -0
- package/dist/cli/commands/plan.js +137 -0
- package/dist/cli/commands/sync.d.ts +5 -0
- package/dist/cli/commands/sync.js +141 -0
- package/dist/cli/formatters/index.d.ts +4 -0
- package/dist/cli/formatters/index.js +4 -0
- package/dist/cli/formatters/tree/tree-builder.d.ts +10 -0
- package/dist/cli/formatters/tree/tree-builder.js +333 -0
- package/dist/cli/formatters/tree/tree-renderer.d.ts +45 -0
- package/dist/cli/formatters/tree/tree-renderer.js +303 -0
- package/dist/cli/formatters/tree/tree.d.ts +8 -0
- package/dist/cli/formatters/tree/tree.js +161 -0
- package/dist/cli/utils/integrations.d.ts +13 -0
- package/dist/cli/utils/integrations.js +35 -0
- package/dist/cli/utils.d.ts +64 -0
- package/dist/cli/utils.js +160 -0
- package/dist/core/catalog.diff.d.ts +5 -0
- package/dist/core/catalog.diff.js +147 -0
- package/dist/core/catalog.model.d.ts +93 -0
- package/dist/core/catalog.model.js +254 -0
- package/dist/core/change.types.d.ts +22 -0
- package/dist/core/change.types.js +1 -0
- package/dist/core/context.d.ts +11 -0
- package/dist/core/context.js +12 -0
- package/dist/core/depend.d.ts +31 -0
- package/dist/core/depend.js +1833 -0
- package/dist/core/expand-replace-dependencies.d.ts +14 -0
- package/dist/core/expand-replace-dependencies.js +280 -0
- package/dist/core/fingerprint.d.ts +23 -0
- package/dist/core/fingerprint.js +174 -0
- package/dist/core/index.d.ts +15 -0
- package/dist/core/index.js +14 -0
- package/dist/core/integrations/filter/dsl.d.ts +97 -0
- package/dist/core/integrations/filter/dsl.js +107 -0
- package/dist/core/integrations/filter/extractors.d.ts +12 -0
- package/dist/core/integrations/filter/extractors.js +136 -0
- package/dist/core/integrations/integration-dsl.d.ts +22 -0
- package/dist/core/integrations/integration-dsl.js +6 -0
- package/dist/core/integrations/integration.types.d.ts +5 -0
- package/dist/core/integrations/integration.types.js +1 -0
- package/dist/core/integrations/serialize/dsl.d.ts +58 -0
- package/dist/core/integrations/serialize/dsl.js +42 -0
- package/dist/core/main.d.ts +5 -0
- package/dist/core/main.js +44 -0
- package/dist/core/objects/aggregate/aggregate.diff.d.ts +10 -0
- package/dist/core/objects/aggregate/aggregate.diff.js +186 -0
- package/dist/core/objects/aggregate/aggregate.model.d.ts +174 -0
- package/dist/core/objects/aggregate/aggregate.model.js +297 -0
- package/dist/core/objects/aggregate/changes/aggregate.alter.d.ts +19 -0
- package/dist/core/objects/aggregate/changes/aggregate.alter.js +25 -0
- package/dist/core/objects/aggregate/changes/aggregate.base.d.ts +17 -0
- package/dist/core/objects/aggregate/changes/aggregate.base.js +13 -0
- package/dist/core/objects/aggregate/changes/aggregate.comment.d.ts +23 -0
- package/dist/core/objects/aggregate/changes/aggregate.comment.js +44 -0
- package/dist/core/objects/aggregate/changes/aggregate.create.d.ts +19 -0
- package/dist/core/objects/aggregate/changes/aggregate.create.js +228 -0
- package/dist/core/objects/aggregate/changes/aggregate.drop.d.ts +17 -0
- package/dist/core/objects/aggregate/changes/aggregate.drop.js +26 -0
- package/dist/core/objects/aggregate/changes/aggregate.privilege.d.ts +62 -0
- package/dist/core/objects/aggregate/changes/aggregate.privilege.js +102 -0
- package/dist/core/objects/aggregate/changes/aggregate.types.d.ts +6 -0
- package/dist/core/objects/aggregate/changes/aggregate.types.js +1 -0
- package/dist/core/objects/base.change.d.ts +46 -0
- package/dist/core/objects/base.change.js +38 -0
- package/dist/core/objects/base.default-privileges.d.ts +29 -0
- package/dist/core/objects/base.default-privileges.js +167 -0
- package/dist/core/objects/base.diff.d.ts +6 -0
- package/dist/core/objects/base.diff.js +12 -0
- package/dist/core/objects/base.model.d.ts +74 -0
- package/dist/core/objects/base.model.js +47 -0
- package/dist/core/objects/base.privilege-diff.d.ts +54 -0
- package/dist/core/objects/base.privilege-diff.js +216 -0
- package/dist/core/objects/base.privilege.d.ts +27 -0
- package/dist/core/objects/base.privilege.js +169 -0
- package/dist/core/objects/collation/changes/collation.alter.d.ts +45 -0
- package/dist/core/objects/collation/changes/collation.alter.js +52 -0
- package/dist/core/objects/collation/changes/collation.base.d.ts +17 -0
- package/dist/core/objects/collation/changes/collation.base.js +13 -0
- package/dist/core/objects/collation/changes/collation.comment.d.ts +26 -0
- package/dist/core/objects/collation/changes/collation.comment.js +50 -0
- package/dist/core/objects/collation/changes/collation.create.d.ts +32 -0
- package/dist/core/objects/collation/changes/collation.create.js +86 -0
- package/dist/core/objects/collation/changes/collation.drop.d.ts +22 -0
- package/dist/core/objects/collation/changes/collation.drop.js +31 -0
- package/dist/core/objects/collation/changes/collation.types.d.ts +5 -0
- package/dist/core/objects/collation/changes/collation.types.js +1 -0
- package/dist/core/objects/collation/collation.diff.d.ts +13 -0
- package/dist/core/objects/collation/collation.diff.js +85 -0
- package/dist/core/objects/collation/collation.model.d.ts +67 -0
- package/dist/core/objects/collation/collation.model.js +207 -0
- package/dist/core/objects/domain/changes/domain.alter.d.ts +143 -0
- package/dist/core/objects/domain/changes/domain.alter.js +191 -0
- package/dist/core/objects/domain/changes/domain.base.d.ts +17 -0
- package/dist/core/objects/domain/changes/domain.base.js +13 -0
- package/dist/core/objects/domain/changes/domain.comment.d.ts +25 -0
- package/dist/core/objects/domain/changes/domain.comment.js +47 -0
- package/dist/core/objects/domain/changes/domain.create.d.ts +30 -0
- package/dist/core/objects/domain/changes/domain.create.js +92 -0
- package/dist/core/objects/domain/changes/domain.drop.d.ts +22 -0
- package/dist/core/objects/domain/changes/domain.drop.js +28 -0
- package/dist/core/objects/domain/changes/domain.privilege.d.ts +97 -0
- package/dist/core/objects/domain/changes/domain.privilege.js +127 -0
- package/dist/core/objects/domain/changes/domain.types.d.ts +6 -0
- package/dist/core/objects/domain/changes/domain.types.js +1 -0
- package/dist/core/objects/domain/domain.diff.d.ts +18 -0
- package/dist/core/objects/domain/domain.diff.js +244 -0
- package/dist/core/objects/domain/domain.model.d.ts +103 -0
- package/dist/core/objects/domain/domain.model.js +172 -0
- package/dist/core/objects/event-trigger/changes/event-trigger.alter.d.ts +44 -0
- package/dist/core/objects/event-trigger/changes/event-trigger.alter.js +51 -0
- package/dist/core/objects/event-trigger/changes/event-trigger.base.d.ts +17 -0
- package/dist/core/objects/event-trigger/changes/event-trigger.base.js +13 -0
- package/dist/core/objects/event-trigger/changes/event-trigger.comment.d.ts +23 -0
- package/dist/core/objects/event-trigger/changes/event-trigger.comment.js +46 -0
- package/dist/core/objects/event-trigger/changes/event-trigger.create.d.ts +25 -0
- package/dist/core/objects/event-trigger/changes/event-trigger.create.js +55 -0
- package/dist/core/objects/event-trigger/changes/event-trigger.drop.d.ts +22 -0
- package/dist/core/objects/event-trigger/changes/event-trigger.drop.js +28 -0
- package/dist/core/objects/event-trigger/changes/event-trigger.types.d.ts +5 -0
- package/dist/core/objects/event-trigger/changes/event-trigger.types.js +1 -0
- package/dist/core/objects/event-trigger/event-trigger.diff.d.ts +13 -0
- package/dist/core/objects/event-trigger/event-trigger.diff.js +81 -0
- package/dist/core/objects/event-trigger/event-trigger.model.d.ts +45 -0
- package/dist/core/objects/event-trigger/event-trigger.model.js +89 -0
- package/dist/core/objects/extension/changes/extension.alter.d.ts +44 -0
- package/dist/core/objects/extension/changes/extension.alter.js +51 -0
- package/dist/core/objects/extension/changes/extension.base.d.ts +17 -0
- package/dist/core/objects/extension/changes/extension.base.js +13 -0
- package/dist/core/objects/extension/changes/extension.comment.d.ts +26 -0
- package/dist/core/objects/extension/changes/extension.comment.js +46 -0
- package/dist/core/objects/extension/changes/extension.create.d.ts +25 -0
- package/dist/core/objects/extension/changes/extension.create.js +49 -0
- package/dist/core/objects/extension/changes/extension.drop.d.ts +22 -0
- package/dist/core/objects/extension/changes/extension.drop.js +28 -0
- package/dist/core/objects/extension/changes/extension.types.d.ts +5 -0
- package/dist/core/objects/extension/changes/extension.types.js +1 -0
- package/dist/core/objects/extension/extension.diff.d.ts +10 -0
- package/dist/core/objects/extension/extension.diff.js +65 -0
- package/dist/core/objects/extension/extension.model.d.ts +52 -0
- package/dist/core/objects/extension/extension.model.js +268 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.alter.d.ts +51 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.alter.js +61 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.base.d.ts +17 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.base.js +13 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.comment.d.ts +26 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.comment.js +50 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.create.d.ts +25 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.create.js +78 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.drop.d.ts +22 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.drop.js +28 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.privilege.d.ts +97 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.privilege.js +123 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.types.d.ts +6 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.types.js +1 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/foreign-data-wrapper.diff.d.ts +18 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/foreign-data-wrapper.diff.js +221 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/foreign-data-wrapper.model.d.ts +59 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/foreign-data-wrapper.model.js +128 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper.types.d.ts +5 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper.types.js +1 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.alter.d.ts +163 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.alter.js +248 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.base.d.ts +17 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.base.js +13 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.comment.d.ts +26 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.comment.js +50 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.create.d.ts +25 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.create.js +64 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.drop.d.ts +22 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.drop.js +31 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.privilege.d.ts +97 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.privilege.js +129 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.types.d.ts +6 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.types.js +1 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-table/foreign-table.diff.d.ts +18 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-table/foreign-table.diff.js +268 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-table/foreign-table.model.d.ts +117 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-table/foreign-table.model.js +215 -0
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.alter.d.ts +65 -0
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.alter.js +84 -0
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.base.d.ts +17 -0
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.base.js +13 -0
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.comment.d.ts +26 -0
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.comment.js +43 -0
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.create.d.ts +24 -0
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.create.js +62 -0
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.drop.d.ts +22 -0
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.drop.js +28 -0
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.privilege.d.ts +97 -0
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.privilege.js +123 -0
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.types.d.ts +6 -0
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.types.js +1 -0
- package/dist/core/objects/foreign-data-wrapper/server/server.diff.d.ts +18 -0
- package/dist/core/objects/foreign-data-wrapper/server/server.diff.js +209 -0
- package/dist/core/objects/foreign-data-wrapper/server/server.model.d.ts +62 -0
- package/dist/core/objects/foreign-data-wrapper/server/server.model.js +118 -0
- package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.alter.d.ts +37 -0
- package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.alter.js +38 -0
- package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.base.d.ts +17 -0
- package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.base.js +13 -0
- package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.create.d.ts +24 -0
- package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.create.js +52 -0
- package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.drop.d.ts +23 -0
- package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.drop.js +34 -0
- package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.types.d.ts +4 -0
- package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.types.js +1 -0
- package/dist/core/objects/foreign-data-wrapper/user-mapping/user-mapping.diff.d.ts +10 -0
- package/dist/core/objects/foreign-data-wrapper/user-mapping/user-mapping.diff.js +77 -0
- package/dist/core/objects/foreign-data-wrapper/user-mapping/user-mapping.model.d.ts +36 -0
- package/dist/core/objects/foreign-data-wrapper/user-mapping/user-mapping.model.js +85 -0
- package/dist/core/objects/index/changes/index.alter.d.ts +76 -0
- package/dist/core/objects/index/changes/index.alter.js +94 -0
- package/dist/core/objects/index/changes/index.base.d.ts +17 -0
- package/dist/core/objects/index/changes/index.base.js +13 -0
- package/dist/core/objects/index/changes/index.comment.d.ts +26 -0
- package/dist/core/objects/index/changes/index.comment.js +50 -0
- package/dist/core/objects/index/changes/index.create.d.ts +30 -0
- package/dist/core/objects/index/changes/index.create.js +53 -0
- package/dist/core/objects/index/changes/index.drop.d.ts +22 -0
- package/dist/core/objects/index/changes/index.drop.js +28 -0
- package/dist/core/objects/index/changes/index.types.d.ts +5 -0
- package/dist/core/objects/index/changes/index.types.js +1 -0
- package/dist/core/objects/index/changes/utils.d.ts +3 -0
- package/dist/core/objects/index/changes/utils.js +6 -0
- package/dist/core/objects/index/index.diff.d.ts +12 -0
- package/dist/core/objects/index/index.diff.js +182 -0
- package/dist/core/objects/index/index.model.d.ts +150 -0
- package/dist/core/objects/index/index.model.js +340 -0
- package/dist/core/objects/language/changes/language.alter.d.ts +32 -0
- package/dist/core/objects/language/changes/language.alter.js +30 -0
- package/dist/core/objects/language/changes/language.base.d.ts +17 -0
- package/dist/core/objects/language/changes/language.base.js +13 -0
- package/dist/core/objects/language/changes/language.comment.d.ts +26 -0
- package/dist/core/objects/language/changes/language.comment.js +45 -0
- package/dist/core/objects/language/changes/language.create.d.ts +25 -0
- package/dist/core/objects/language/changes/language.create.js +76 -0
- package/dist/core/objects/language/changes/language.drop.d.ts +22 -0
- package/dist/core/objects/language/changes/language.drop.js +31 -0
- package/dist/core/objects/language/changes/language.privilege.d.ts +97 -0
- package/dist/core/objects/language/changes/language.privilege.js +128 -0
- package/dist/core/objects/language/changes/language.types.d.ts +6 -0
- package/dist/core/objects/language/changes/language.types.js +1 -0
- package/dist/core/objects/language/language.diff.d.ts +15 -0
- package/dist/core/objects/language/language.diff.js +117 -0
- package/dist/core/objects/language/language.model.d.ts +62 -0
- package/dist/core/objects/language/language.model.js +128 -0
- package/dist/core/objects/materialized-view/changes/materialized-view.alter.d.ts +67 -0
- package/dist/core/objects/materialized-view/changes/materialized-view.alter.js +63 -0
- package/dist/core/objects/materialized-view/changes/materialized-view.base.d.ts +17 -0
- package/dist/core/objects/materialized-view/changes/materialized-view.base.js +13 -0
- package/dist/core/objects/materialized-view/changes/materialized-view.comment.d.ts +53 -0
- package/dist/core/objects/materialized-view/changes/materialized-view.comment.js +112 -0
- package/dist/core/objects/materialized-view/changes/materialized-view.create.d.ts +35 -0
- package/dist/core/objects/materialized-view/changes/materialized-view.create.js +71 -0
- package/dist/core/objects/materialized-view/changes/materialized-view.drop.d.ts +26 -0
- package/dist/core/objects/materialized-view/changes/materialized-view.drop.js +42 -0
- package/dist/core/objects/materialized-view/changes/materialized-view.privilege.d.ts +105 -0
- package/dist/core/objects/materialized-view/changes/materialized-view.privilege.js +151 -0
- package/dist/core/objects/materialized-view/changes/materialized-view.types.d.ts +6 -0
- package/dist/core/objects/materialized-view/changes/materialized-view.types.js +1 -0
- package/dist/core/objects/materialized-view/materialized-view.diff.d.ts +18 -0
- package/dist/core/objects/materialized-view/materialized-view.diff.js +335 -0
- package/dist/core/objects/materialized-view/materialized-view.model.d.ts +152 -0
- package/dist/core/objects/materialized-view/materialized-view.model.js +228 -0
- package/dist/core/objects/procedure/changes/procedure.alter.d.ts +143 -0
- package/dist/core/objects/procedure/changes/procedure.alter.js +207 -0
- package/dist/core/objects/procedure/changes/procedure.base.d.ts +17 -0
- package/dist/core/objects/procedure/changes/procedure.base.js +13 -0
- package/dist/core/objects/procedure/changes/procedure.comment.d.ts +26 -0
- package/dist/core/objects/procedure/changes/procedure.comment.js +52 -0
- package/dist/core/objects/procedure/changes/procedure.create.d.ts +42 -0
- package/dist/core/objects/procedure/changes/procedure.create.js +77 -0
- package/dist/core/objects/procedure/changes/procedure.drop.d.ts +23 -0
- package/dist/core/objects/procedure/changes/procedure.drop.js +37 -0
- package/dist/core/objects/procedure/changes/procedure.privilege.d.ts +98 -0
- package/dist/core/objects/procedure/changes/procedure.privilege.js +144 -0
- package/dist/core/objects/procedure/changes/procedure.types.d.ts +6 -0
- package/dist/core/objects/procedure/changes/procedure.types.js +1 -0
- package/dist/core/objects/procedure/procedure.diff.d.ts +18 -0
- package/dist/core/objects/procedure/procedure.diff.js +282 -0
- package/dist/core/objects/procedure/procedure.model.d.ts +132 -0
- package/dist/core/objects/procedure/procedure.model.js +244 -0
- package/dist/core/objects/procedure/utils.d.ts +14 -0
- package/dist/core/objects/procedure/utils.js +55 -0
- package/dist/core/objects/publication/changes/publication.alter.d.ts +88 -0
- package/dist/core/objects/publication/changes/publication.alter.js +176 -0
- package/dist/core/objects/publication/changes/publication.base.d.ts +17 -0
- package/dist/core/objects/publication/changes/publication.base.js +13 -0
- package/dist/core/objects/publication/changes/publication.comment.d.ts +23 -0
- package/dist/core/objects/publication/changes/publication.comment.js +46 -0
- package/dist/core/objects/publication/changes/publication.create.d.ts +17 -0
- package/dist/core/objects/publication/changes/publication.create.js +61 -0
- package/dist/core/objects/publication/changes/publication.drop.d.ts +17 -0
- package/dist/core/objects/publication/changes/publication.drop.js +23 -0
- package/dist/core/objects/publication/changes/publication.types.d.ts +5 -0
- package/dist/core/objects/publication/changes/publication.types.js +1 -0
- package/dist/core/objects/publication/publication.diff.d.ts +5 -0
- package/dist/core/objects/publication/publication.diff.js +161 -0
- package/dist/core/objects/publication/publication.model.d.ts +96 -0
- package/dist/core/objects/publication/publication.model.js +186 -0
- package/dist/core/objects/publication/utils.d.ts +5 -0
- package/dist/core/objects/publication/utils.js +45 -0
- package/dist/core/objects/rls-policy/changes/rls-policy.alter.d.ts +62 -0
- package/dist/core/objects/rls-policy/changes/rls-policy.alter.js +90 -0
- package/dist/core/objects/rls-policy/changes/rls-policy.base.d.ts +17 -0
- package/dist/core/objects/rls-policy/changes/rls-policy.base.js +13 -0
- package/dist/core/objects/rls-policy/changes/rls-policy.comment.d.ts +23 -0
- package/dist/core/objects/rls-policy/changes/rls-policy.comment.js +51 -0
- package/dist/core/objects/rls-policy/changes/rls-policy.create.d.ts +27 -0
- package/dist/core/objects/rls-policy/changes/rls-policy.create.js +79 -0
- package/dist/core/objects/rls-policy/changes/rls-policy.drop.d.ts +22 -0
- package/dist/core/objects/rls-policy/changes/rls-policy.drop.js +33 -0
- package/dist/core/objects/rls-policy/changes/rls-policy.types.d.ts +5 -0
- package/dist/core/objects/rls-policy/changes/rls-policy.types.js +1 -0
- package/dist/core/objects/rls-policy/rls-policy.diff.d.ts +10 -0
- package/dist/core/objects/rls-policy/rls-policy.diff.js +80 -0
- package/dist/core/objects/rls-policy/rls-policy.model.d.ts +52 -0
- package/dist/core/objects/rls-policy/rls-policy.model.js +127 -0
- package/dist/core/objects/role/changes/role.alter.d.ts +78 -0
- package/dist/core/objects/role/changes/role.alter.js +55 -0
- package/dist/core/objects/role/changes/role.base.d.ts +17 -0
- package/dist/core/objects/role/changes/role.base.js +13 -0
- package/dist/core/objects/role/changes/role.comment.d.ts +23 -0
- package/dist/core/objects/role/changes/role.comment.js +42 -0
- package/dist/core/objects/role/changes/role.create.d.ts +38 -0
- package/dist/core/objects/role/changes/role.create.js +83 -0
- package/dist/core/objects/role/changes/role.drop.d.ts +22 -0
- package/dist/core/objects/role/changes/role.drop.js +28 -0
- package/dist/core/objects/role/changes/role.privilege.d.ts +148 -0
- package/dist/core/objects/role/changes/role.privilege.js +283 -0
- package/dist/core/objects/role/changes/role.types.d.ts +6 -0
- package/dist/core/objects/role/changes/role.types.js +1 -0
- package/dist/core/objects/role/role.diff.d.ts +13 -0
- package/dist/core/objects/role/role.diff.js +386 -0
- package/dist/core/objects/role/role.model.d.ts +89 -0
- package/dist/core/objects/role/role.model.js +312 -0
- package/dist/core/objects/rule/changes/rule.alter.d.ts +22 -0
- package/dist/core/objects/rule/changes/rule.alter.js +58 -0
- package/dist/core/objects/rule/changes/rule.base.d.ts +17 -0
- package/dist/core/objects/rule/changes/rule.base.js +13 -0
- package/dist/core/objects/rule/changes/rule.comment.d.ts +22 -0
- package/dist/core/objects/rule/changes/rule.comment.js +51 -0
- package/dist/core/objects/rule/changes/rule.create.d.ts +14 -0
- package/dist/core/objects/rule/changes/rule.create.js +28 -0
- package/dist/core/objects/rule/changes/rule.drop.d.ts +12 -0
- package/dist/core/objects/rule/changes/rule.drop.js +23 -0
- package/dist/core/objects/rule/changes/rule.types.d.ts +5 -0
- package/dist/core/objects/rule/changes/rule.types.js +1 -0
- package/dist/core/objects/rule/rule.diff.d.ts +3 -0
- package/dist/core/objects/rule/rule.diff.js +53 -0
- package/dist/core/objects/rule/rule.model.d.ts +72 -0
- package/dist/core/objects/rule/rule.model.js +156 -0
- package/dist/core/objects/schema/changes/schema.alter.d.ts +32 -0
- package/dist/core/objects/schema/changes/schema.alter.js +25 -0
- package/dist/core/objects/schema/changes/schema.base.d.ts +17 -0
- package/dist/core/objects/schema/changes/schema.base.js +13 -0
- package/dist/core/objects/schema/changes/schema.comment.d.ts +23 -0
- package/dist/core/objects/schema/changes/schema.comment.js +43 -0
- package/dist/core/objects/schema/changes/schema.create.d.ts +27 -0
- package/dist/core/objects/schema/changes/schema.create.js +38 -0
- package/dist/core/objects/schema/changes/schema.drop.d.ts +22 -0
- package/dist/core/objects/schema/changes/schema.drop.js +28 -0
- package/dist/core/objects/schema/changes/schema.privilege.d.ts +97 -0
- package/dist/core/objects/schema/changes/schema.privilege.js +131 -0
- package/dist/core/objects/schema/changes/schema.types.d.ts +6 -0
- package/dist/core/objects/schema/changes/schema.types.js +1 -0
- package/dist/core/objects/schema/schema.diff.d.ts +18 -0
- package/dist/core/objects/schema/schema.diff.js +142 -0
- package/dist/core/objects/schema/schema.model.d.ts +47 -0
- package/dist/core/objects/schema/schema.model.js +91 -0
- package/dist/core/objects/sequence/changes/sequence.alter.d.ts +59 -0
- package/dist/core/objects/sequence/changes/sequence.alter.js +75 -0
- package/dist/core/objects/sequence/changes/sequence.base.d.ts +17 -0
- package/dist/core/objects/sequence/changes/sequence.base.js +13 -0
- package/dist/core/objects/sequence/changes/sequence.comment.d.ts +23 -0
- package/dist/core/objects/sequence/changes/sequence.comment.js +47 -0
- package/dist/core/objects/sequence/changes/sequence.create.d.ts +25 -0
- package/dist/core/objects/sequence/changes/sequence.create.js +78 -0
- package/dist/core/objects/sequence/changes/sequence.drop.d.ts +22 -0
- package/dist/core/objects/sequence/changes/sequence.drop.js +31 -0
- package/dist/core/objects/sequence/changes/sequence.privilege.d.ts +101 -0
- package/dist/core/objects/sequence/changes/sequence.privilege.js +135 -0
- package/dist/core/objects/sequence/changes/sequence.types.d.ts +6 -0
- package/dist/core/objects/sequence/changes/sequence.types.js +1 -0
- package/dist/core/objects/sequence/sequence.diff.d.ts +20 -0
- package/dist/core/objects/sequence/sequence.diff.js +258 -0
- package/dist/core/objects/sequence/sequence.model.d.ts +76 -0
- package/dist/core/objects/sequence/sequence.model.js +169 -0
- package/dist/core/objects/subscription/changes/subscription.alter.d.ts +56 -0
- package/dist/core/objects/subscription/changes/subscription.alter.js +82 -0
- package/dist/core/objects/subscription/changes/subscription.base.d.ts +17 -0
- package/dist/core/objects/subscription/changes/subscription.base.js +13 -0
- package/dist/core/objects/subscription/changes/subscription.comment.d.ts +23 -0
- package/dist/core/objects/subscription/changes/subscription.comment.js +46 -0
- package/dist/core/objects/subscription/changes/subscription.create.d.ts +12 -0
- package/dist/core/objects/subscription/changes/subscription.create.js +52 -0
- package/dist/core/objects/subscription/changes/subscription.drop.d.ts +11 -0
- package/dist/core/objects/subscription/changes/subscription.drop.js +15 -0
- package/dist/core/objects/subscription/changes/subscription.types.d.ts +5 -0
- package/dist/core/objects/subscription/changes/subscription.types.js +1 -0
- package/dist/core/objects/subscription/subscription.diff.d.ts +5 -0
- package/dist/core/objects/subscription/subscription.diff.js +167 -0
- package/dist/core/objects/subscription/subscription.model.d.ts +80 -0
- package/dist/core/objects/subscription/subscription.model.js +166 -0
- package/dist/core/objects/subscription/utils.d.ts +37 -0
- package/dist/core/objects/subscription/utils.js +112 -0
- package/dist/core/objects/table/changes/table.alter.d.ts +357 -0
- package/dist/core/objects/table/changes/table.alter.js +607 -0
- package/dist/core/objects/table/changes/table.base.d.ts +17 -0
- package/dist/core/objects/table/changes/table.base.js +13 -0
- package/dist/core/objects/table/changes/table.comment.d.ts +106 -0
- package/dist/core/objects/table/changes/table.comment.js +175 -0
- package/dist/core/objects/table/changes/table.create.d.ts +33 -0
- package/dist/core/objects/table/changes/table.create.js +145 -0
- package/dist/core/objects/table/changes/table.drop.d.ts +22 -0
- package/dist/core/objects/table/changes/table.drop.js +35 -0
- package/dist/core/objects/table/changes/table.privilege.d.ts +107 -0
- package/dist/core/objects/table/changes/table.privilege.js +150 -0
- package/dist/core/objects/table/changes/table.types.d.ts +6 -0
- package/dist/core/objects/table/changes/table.types.js +1 -0
- package/dist/core/objects/table/table.diff.d.ts +18 -0
- package/dist/core/objects/table/table.diff.js +668 -0
- package/dist/core/objects/table/table.model.d.ts +341 -0
- package/dist/core/objects/table/table.model.js +426 -0
- package/dist/core/objects/trigger/changes/trigger.alter.d.ts +29 -0
- package/dist/core/objects/trigger/changes/trigger.alter.js +27 -0
- package/dist/core/objects/trigger/changes/trigger.base.d.ts +17 -0
- package/dist/core/objects/trigger/changes/trigger.base.js +13 -0
- package/dist/core/objects/trigger/changes/trigger.comment.d.ts +23 -0
- package/dist/core/objects/trigger/changes/trigger.comment.js +51 -0
- package/dist/core/objects/trigger/changes/trigger.create.d.ts +41 -0
- package/dist/core/objects/trigger/changes/trigger.create.js +61 -0
- package/dist/core/objects/trigger/changes/trigger.drop.d.ts +22 -0
- package/dist/core/objects/trigger/changes/trigger.drop.js +33 -0
- package/dist/core/objects/trigger/changes/trigger.types.d.ts +5 -0
- package/dist/core/objects/trigger/changes/trigger.types.js +1 -0
- package/dist/core/objects/trigger/trigger.diff.d.ts +11 -0
- package/dist/core/objects/trigger/trigger.diff.js +84 -0
- package/dist/core/objects/trigger/trigger.model.d.ts +92 -0
- package/dist/core/objects/trigger/trigger.model.js +235 -0
- package/dist/core/objects/type/composite-type/changes/composite-type.alter.d.ts +81 -0
- package/dist/core/objects/type/composite-type/changes/composite-type.alter.js +123 -0
- package/dist/core/objects/type/composite-type/changes/composite-type.base.d.ts +17 -0
- package/dist/core/objects/type/composite-type/changes/composite-type.base.js +13 -0
- package/dist/core/objects/type/composite-type/changes/composite-type.comment.d.ts +53 -0
- package/dist/core/objects/type/composite-type/changes/composite-type.comment.js +108 -0
- package/dist/core/objects/type/composite-type/changes/composite-type.create.d.ts +23 -0
- package/dist/core/objects/type/composite-type/changes/composite-type.create.js +72 -0
- package/dist/core/objects/type/composite-type/changes/composite-type.drop.d.ts +22 -0
- package/dist/core/objects/type/composite-type/changes/composite-type.drop.js +31 -0
- package/dist/core/objects/type/composite-type/changes/composite-type.privilege.d.ts +97 -0
- package/dist/core/objects/type/composite-type/changes/composite-type.privilege.js +131 -0
- package/dist/core/objects/type/composite-type/changes/composite-type.types.d.ts +6 -0
- package/dist/core/objects/type/composite-type/changes/composite-type.types.js +1 -0
- package/dist/core/objects/type/composite-type/composite-type.diff.d.ts +18 -0
- package/dist/core/objects/type/composite-type/composite-type.diff.js +250 -0
- package/dist/core/objects/type/composite-type/composite-type.model.d.ts +148 -0
- package/dist/core/objects/type/composite-type/composite-type.model.js +223 -0
- package/dist/core/objects/type/enum/changes/enum.alter.d.ts +52 -0
- package/dist/core/objects/type/enum/changes/enum.alter.js +60 -0
- package/dist/core/objects/type/enum/changes/enum.base.d.ts +17 -0
- package/dist/core/objects/type/enum/changes/enum.base.js +13 -0
- package/dist/core/objects/type/enum/changes/enum.comment.d.ts +26 -0
- package/dist/core/objects/type/enum/changes/enum.comment.js +47 -0
- package/dist/core/objects/type/enum/changes/enum.create.d.ts +22 -0
- package/dist/core/objects/type/enum/changes/enum.create.js +43 -0
- package/dist/core/objects/type/enum/changes/enum.drop.d.ts +22 -0
- package/dist/core/objects/type/enum/changes/enum.drop.js +28 -0
- package/dist/core/objects/type/enum/changes/enum.privilege.d.ts +97 -0
- package/dist/core/objects/type/enum/changes/enum.privilege.js +131 -0
- package/dist/core/objects/type/enum/changes/enum.types.d.ts +6 -0
- package/dist/core/objects/type/enum/changes/enum.types.js +1 -0
- package/dist/core/objects/type/enum/enum.diff.d.ts +18 -0
- package/dist/core/objects/type/enum/enum.diff.js +268 -0
- package/dist/core/objects/type/enum/enum.model.d.ts +66 -0
- package/dist/core/objects/type/enum/enum.model.js +154 -0
- package/dist/core/objects/type/range/changes/range.alter.d.ts +33 -0
- package/dist/core/objects/type/range/changes/range.alter.js +30 -0
- package/dist/core/objects/type/range/changes/range.base.d.ts +17 -0
- package/dist/core/objects/type/range/changes/range.base.js +13 -0
- package/dist/core/objects/type/range/changes/range.comment.d.ts +26 -0
- package/dist/core/objects/type/range/changes/range.comment.js +47 -0
- package/dist/core/objects/type/range/changes/range.create.d.ts +31 -0
- package/dist/core/objects/type/range/changes/range.create.js +113 -0
- package/dist/core/objects/type/range/changes/range.drop.d.ts +22 -0
- package/dist/core/objects/type/range/changes/range.drop.js +28 -0
- package/dist/core/objects/type/range/changes/range.privilege.d.ts +97 -0
- package/dist/core/objects/type/range/changes/range.privilege.js +131 -0
- package/dist/core/objects/type/range/changes/range.types.d.ts +6 -0
- package/dist/core/objects/type/range/changes/range.types.js +1 -0
- package/dist/core/objects/type/range/range.diff.d.ts +18 -0
- package/dist/core/objects/type/range/range.diff.js +172 -0
- package/dist/core/objects/type/range/range.model.d.ts +81 -0
- package/dist/core/objects/type/range/range.model.js +165 -0
- package/dist/core/objects/type/type.types.d.ts +4 -0
- package/dist/core/objects/type/type.types.js +1 -0
- package/dist/core/objects/utils.d.ts +57 -0
- package/dist/core/objects/utils.js +137 -0
- package/dist/core/objects/view/changes/view.alter.d.ts +62 -0
- package/dist/core/objects/view/changes/view.alter.js +75 -0
- package/dist/core/objects/view/changes/view.base.d.ts +17 -0
- package/dist/core/objects/view/changes/view.base.js +13 -0
- package/dist/core/objects/view/changes/view.comment.d.ts +23 -0
- package/dist/core/objects/view/changes/view.comment.js +46 -0
- package/dist/core/objects/view/changes/view.create.d.ts +27 -0
- package/dist/core/objects/view/changes/view.create.js +57 -0
- package/dist/core/objects/view/changes/view.drop.d.ts +17 -0
- package/dist/core/objects/view/changes/view.drop.js +30 -0
- package/dist/core/objects/view/changes/view.privilege.d.ts +107 -0
- package/dist/core/objects/view/changes/view.privilege.js +150 -0
- package/dist/core/objects/view/changes/view.types.d.ts +6 -0
- package/dist/core/objects/view/changes/view.types.js +1 -0
- package/dist/core/objects/view/view.diff.d.ts +18 -0
- package/dist/core/objects/view/view.diff.js +270 -0
- package/dist/core/objects/view/view.model.d.ts +152 -0
- package/dist/core/objects/view/view.model.js +250 -0
- package/dist/core/plan/apply.d.ts +33 -0
- package/dist/core/plan/apply.js +112 -0
- package/dist/core/plan/create.d.ts +22 -0
- package/dist/core/plan/create.js +228 -0
- package/dist/core/plan/hierarchy.d.ts +19 -0
- package/dist/core/plan/hierarchy.js +488 -0
- package/dist/core/plan/index.d.ts +19 -0
- package/dist/core/plan/index.js +21 -0
- package/dist/core/plan/io.d.ts +12 -0
- package/dist/core/plan/io.js +17 -0
- package/dist/core/plan/risk.d.ts +10 -0
- package/dist/core/plan/risk.js +38 -0
- package/dist/core/plan/serialize.d.ts +26 -0
- package/dist/core/plan/serialize.js +176 -0
- package/dist/core/plan/statements.d.ts +8 -0
- package/dist/core/plan/statements.js +13 -0
- package/dist/core/plan/types.d.ts +153 -0
- package/dist/core/plan/types.js +32 -0
- package/dist/core/postgres-config.d.ts +8 -0
- package/dist/core/postgres-config.js +46 -0
- package/dist/core/sort/custom-constraints.d.ts +9 -0
- package/dist/core/sort/custom-constraints.js +133 -0
- package/dist/core/sort/debug-visualization.d.ts +8 -0
- package/dist/core/sort/debug-visualization.js +145 -0
- package/dist/core/sort/dependency-filter.d.ts +19 -0
- package/dist/core/sort/dependency-filter.js +152 -0
- package/dist/core/sort/graph-builder.d.ts +37 -0
- package/dist/core/sort/graph-builder.js +172 -0
- package/dist/core/sort/graph-utils.d.ts +14 -0
- package/dist/core/sort/graph-utils.js +41 -0
- package/dist/core/sort/logical-sort.d.ts +26 -0
- package/dist/core/sort/logical-sort.js +532 -0
- package/dist/core/sort/sort-changes.d.ts +28 -0
- package/dist/core/sort/sort-changes.js +147 -0
- package/dist/core/sort/topological-sort.d.ts +20 -0
- package/dist/core/sort/topological-sort.js +138 -0
- package/dist/core/sort/types.d.ts +102 -0
- package/dist/core/sort/types.js +1 -0
- package/dist/core/sort/utils.d.ts +23 -0
- package/dist/core/sort/utils.js +51 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/package.json +58 -12
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { Sql } from "postgres";
|
|
2
|
+
import z from "zod";
|
|
3
|
+
import { BasePgModel } from "../base.model.ts";
|
|
4
|
+
/**
|
|
5
|
+
* All properties exposed by CREATE COLLATION statement are included in diff output.
|
|
6
|
+
* https://www.postgresql.org/docs/current/sql-createcollation.html
|
|
7
|
+
*
|
|
8
|
+
* ALTER COLLATION statement can only be generated for a subset of properties:
|
|
9
|
+
* - version, name, owner, schema
|
|
10
|
+
* https://www.postgresql.org/docs/current/sql-altercollation.html
|
|
11
|
+
*
|
|
12
|
+
* Other properties require dropping and creating a new collation.
|
|
13
|
+
*/
|
|
14
|
+
declare const collationPropsSchema: z.ZodObject<{
|
|
15
|
+
schema: z.ZodString;
|
|
16
|
+
name: z.ZodString;
|
|
17
|
+
provider: z.ZodEnum<{
|
|
18
|
+
i: "i";
|
|
19
|
+
b: "b";
|
|
20
|
+
d: "d";
|
|
21
|
+
c: "c";
|
|
22
|
+
}>;
|
|
23
|
+
is_deterministic: z.ZodBoolean;
|
|
24
|
+
encoding: z.ZodNumber;
|
|
25
|
+
collate: z.ZodString;
|
|
26
|
+
ctype: z.ZodString;
|
|
27
|
+
locale: z.ZodNullable<z.ZodString>;
|
|
28
|
+
icu_rules: z.ZodNullable<z.ZodString>;
|
|
29
|
+
version: z.ZodNullable<z.ZodString>;
|
|
30
|
+
owner: z.ZodString;
|
|
31
|
+
comment: z.ZodNullable<z.ZodString>;
|
|
32
|
+
}, z.z.core.$strip>;
|
|
33
|
+
export type CollationProps = z.infer<typeof collationPropsSchema>;
|
|
34
|
+
export declare class Collation extends BasePgModel {
|
|
35
|
+
readonly schema: CollationProps["schema"];
|
|
36
|
+
readonly name: CollationProps["name"];
|
|
37
|
+
readonly provider: CollationProps["provider"];
|
|
38
|
+
readonly is_deterministic: CollationProps["is_deterministic"];
|
|
39
|
+
readonly encoding: CollationProps["encoding"];
|
|
40
|
+
readonly collate: CollationProps["collate"];
|
|
41
|
+
readonly ctype: CollationProps["ctype"];
|
|
42
|
+
readonly locale: CollationProps["locale"];
|
|
43
|
+
readonly icu_rules: CollationProps["icu_rules"];
|
|
44
|
+
readonly version: CollationProps["version"];
|
|
45
|
+
readonly owner: CollationProps["owner"];
|
|
46
|
+
readonly comment: CollationProps["comment"];
|
|
47
|
+
constructor(props: CollationProps);
|
|
48
|
+
get stableId(): `collation:${string}`;
|
|
49
|
+
get identityFields(): {
|
|
50
|
+
schema: string;
|
|
51
|
+
name: string;
|
|
52
|
+
};
|
|
53
|
+
get dataFields(): {
|
|
54
|
+
provider: "i" | "b" | "d" | "c";
|
|
55
|
+
is_deterministic: boolean;
|
|
56
|
+
encoding: number;
|
|
57
|
+
collate: string;
|
|
58
|
+
ctype: string;
|
|
59
|
+
locale: string | null;
|
|
60
|
+
icu_rules: string | null;
|
|
61
|
+
version: string | null;
|
|
62
|
+
owner: string;
|
|
63
|
+
comment: string | null;
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
export declare function extractCollations(sql: Sql): Promise<Collation[]>;
|
|
67
|
+
export {};
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import z from "zod";
|
|
2
|
+
import { extractVersion } from "../../context.js";
|
|
3
|
+
import { BasePgModel } from "../base.model.js";
|
|
4
|
+
/**
|
|
5
|
+
* Collation provider codes as stored in pg_collation.collprovider
|
|
6
|
+
*/
|
|
7
|
+
const CollationProviderSchema = z.enum([
|
|
8
|
+
"d", // database default provider (omit PROVIDER clause)
|
|
9
|
+
"b", // builtin
|
|
10
|
+
"c", // libc
|
|
11
|
+
"i", // icu
|
|
12
|
+
]);
|
|
13
|
+
/**
|
|
14
|
+
* All properties exposed by CREATE COLLATION statement are included in diff output.
|
|
15
|
+
* https://www.postgresql.org/docs/current/sql-createcollation.html
|
|
16
|
+
*
|
|
17
|
+
* ALTER COLLATION statement can only be generated for a subset of properties:
|
|
18
|
+
* - version, name, owner, schema
|
|
19
|
+
* https://www.postgresql.org/docs/current/sql-altercollation.html
|
|
20
|
+
*
|
|
21
|
+
* Other properties require dropping and creating a new collation.
|
|
22
|
+
*/
|
|
23
|
+
const collationPropsSchema = z.object({
|
|
24
|
+
schema: z.string(),
|
|
25
|
+
name: z.string(),
|
|
26
|
+
provider: CollationProviderSchema,
|
|
27
|
+
is_deterministic: z.boolean(),
|
|
28
|
+
encoding: z.number(),
|
|
29
|
+
collate: z.string(),
|
|
30
|
+
ctype: z.string(),
|
|
31
|
+
locale: z.string().nullable(),
|
|
32
|
+
icu_rules: z.string().nullable(),
|
|
33
|
+
version: z.string().nullable(),
|
|
34
|
+
owner: z.string(),
|
|
35
|
+
comment: z.string().nullable(),
|
|
36
|
+
});
|
|
37
|
+
export class Collation extends BasePgModel {
|
|
38
|
+
schema;
|
|
39
|
+
name;
|
|
40
|
+
provider;
|
|
41
|
+
is_deterministic;
|
|
42
|
+
encoding;
|
|
43
|
+
collate;
|
|
44
|
+
ctype;
|
|
45
|
+
locale;
|
|
46
|
+
icu_rules;
|
|
47
|
+
version;
|
|
48
|
+
owner;
|
|
49
|
+
comment;
|
|
50
|
+
constructor(props) {
|
|
51
|
+
super();
|
|
52
|
+
// Identity fields
|
|
53
|
+
this.schema = props.schema;
|
|
54
|
+
this.name = props.name;
|
|
55
|
+
// Data fields
|
|
56
|
+
this.provider = props.provider;
|
|
57
|
+
this.is_deterministic = props.is_deterministic;
|
|
58
|
+
this.encoding = props.encoding;
|
|
59
|
+
this.collate = props.collate;
|
|
60
|
+
this.ctype = props.ctype;
|
|
61
|
+
this.locale = props.locale;
|
|
62
|
+
this.icu_rules = props.icu_rules;
|
|
63
|
+
this.version = props.version;
|
|
64
|
+
this.owner = props.owner;
|
|
65
|
+
this.comment = props.comment;
|
|
66
|
+
}
|
|
67
|
+
get stableId() {
|
|
68
|
+
return `collation:${this.schema}.${this.name}`;
|
|
69
|
+
}
|
|
70
|
+
get identityFields() {
|
|
71
|
+
return {
|
|
72
|
+
schema: this.schema,
|
|
73
|
+
name: this.name,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
get dataFields() {
|
|
77
|
+
return {
|
|
78
|
+
provider: this.provider,
|
|
79
|
+
is_deterministic: this.is_deterministic,
|
|
80
|
+
encoding: this.encoding,
|
|
81
|
+
collate: this.collate,
|
|
82
|
+
ctype: this.ctype,
|
|
83
|
+
locale: this.locale,
|
|
84
|
+
icu_rules: this.icu_rules,
|
|
85
|
+
version: this.version,
|
|
86
|
+
owner: this.owner,
|
|
87
|
+
comment: this.comment,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
export async function extractCollations(sql) {
|
|
92
|
+
return sql.begin(async (sql) => {
|
|
93
|
+
await sql `set search_path = ''`;
|
|
94
|
+
const version = await extractVersion(sql);
|
|
95
|
+
const isPostgres17OrGreater = version >= 170000;
|
|
96
|
+
const isPostgres16OrGreater = version >= 160000;
|
|
97
|
+
let collations;
|
|
98
|
+
if (isPostgres17OrGreater) {
|
|
99
|
+
collations = await sql `
|
|
100
|
+
with extension_oids as (
|
|
101
|
+
select
|
|
102
|
+
objid
|
|
103
|
+
from
|
|
104
|
+
pg_depend d
|
|
105
|
+
where
|
|
106
|
+
d.refclassid = 'pg_extension'::regclass
|
|
107
|
+
and d.classid = 'pg_collation'::regclass
|
|
108
|
+
)
|
|
109
|
+
select
|
|
110
|
+
c.collnamespace::regnamespace::text as schema,
|
|
111
|
+
quote_ident(c.collname) as name,
|
|
112
|
+
c.collprovider as provider,
|
|
113
|
+
c.collisdeterministic as is_deterministic,
|
|
114
|
+
c.collencoding as encoding,
|
|
115
|
+
c.collcollate as collate,
|
|
116
|
+
c.collctype as ctype,
|
|
117
|
+
c.colllocale as locale,
|
|
118
|
+
c.collicurules as icu_rules,
|
|
119
|
+
c.collversion as version,
|
|
120
|
+
c.collowner::regrole::text as owner,
|
|
121
|
+
obj_description(c.oid, 'pg_collation') as comment
|
|
122
|
+
from
|
|
123
|
+
pg_catalog.pg_collation c
|
|
124
|
+
left outer join extension_oids e on c.oid = e.objid
|
|
125
|
+
where not c.collnamespace::regnamespace::text like any(array['pg\\_%', 'information\\_schema'])
|
|
126
|
+
and e.objid is null
|
|
127
|
+
order by
|
|
128
|
+
1, 2;
|
|
129
|
+
`;
|
|
130
|
+
}
|
|
131
|
+
else if (isPostgres16OrGreater) {
|
|
132
|
+
// On postgres 16 there colllocale column was named colliculocale
|
|
133
|
+
collations = await sql `
|
|
134
|
+
with extension_oids as (
|
|
135
|
+
select
|
|
136
|
+
objid
|
|
137
|
+
from
|
|
138
|
+
pg_depend d
|
|
139
|
+
where
|
|
140
|
+
d.refclassid = 'pg_extension'::regclass
|
|
141
|
+
and d.classid = 'pg_collation'::regclass
|
|
142
|
+
)
|
|
143
|
+
select
|
|
144
|
+
c.collnamespace::regnamespace::text as schema,
|
|
145
|
+
quote_ident(c.collname) as name,
|
|
146
|
+
c.collprovider as provider,
|
|
147
|
+
c.collisdeterministic as is_deterministic,
|
|
148
|
+
c.collencoding as encoding,
|
|
149
|
+
c.collcollate as collate,
|
|
150
|
+
c.collctype as ctype,
|
|
151
|
+
colliculocale as locale,
|
|
152
|
+
c.collicurules as icu_rules,
|
|
153
|
+
c.collversion as version,
|
|
154
|
+
c.collowner::regrole::text as owner,
|
|
155
|
+
obj_description(c.oid, 'pg_collation') as comment
|
|
156
|
+
from
|
|
157
|
+
pg_catalog.pg_collation c
|
|
158
|
+
left outer join extension_oids e on c.oid = e.objid
|
|
159
|
+
-- <EXCLUDE_INTERNAL>
|
|
160
|
+
where not c.collnamespace::regnamespace::text like any(array['pg\\_%', 'information\\_schema'])
|
|
161
|
+
and e.objid is null
|
|
162
|
+
-- </EXCLUDE_INTERNAL>
|
|
163
|
+
order by
|
|
164
|
+
1, 2;
|
|
165
|
+
`;
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
// On postgres 15 icu_rules does not exist
|
|
169
|
+
collations = await sql `
|
|
170
|
+
with extension_oids as (
|
|
171
|
+
select
|
|
172
|
+
objid
|
|
173
|
+
from
|
|
174
|
+
pg_depend d
|
|
175
|
+
where
|
|
176
|
+
d.refclassid = 'pg_extension'::regclass
|
|
177
|
+
and d.classid = 'pg_collation'::regclass
|
|
178
|
+
)
|
|
179
|
+
select
|
|
180
|
+
c.collnamespace::regnamespace::text as schema,
|
|
181
|
+
quote_ident(c.collname) as name,
|
|
182
|
+
c.collprovider as provider,
|
|
183
|
+
c.collisdeterministic as is_deterministic,
|
|
184
|
+
c.collencoding as encoding,
|
|
185
|
+
c.collcollate as collate,
|
|
186
|
+
c.collctype as ctype,
|
|
187
|
+
colliculocale as locale,
|
|
188
|
+
null as icu_rules,
|
|
189
|
+
c.collversion as version,
|
|
190
|
+
c.collowner::regrole::text as owner,
|
|
191
|
+
obj_description(c.oid, 'pg_collation') as comment
|
|
192
|
+
from
|
|
193
|
+
pg_catalog.pg_collation c
|
|
194
|
+
left outer join extension_oids e on c.oid = e.objid
|
|
195
|
+
-- <EXCLUDE_INTERNAL>
|
|
196
|
+
where not c.collnamespace::regnamespace::text like any(array['pg\\_%', 'information\\_schema'])
|
|
197
|
+
and e.objid is null
|
|
198
|
+
-- </EXCLUDE_INTERNAL>
|
|
199
|
+
order by
|
|
200
|
+
1, 2;
|
|
201
|
+
`;
|
|
202
|
+
}
|
|
203
|
+
// Validate and parse each row using the Zod schema
|
|
204
|
+
const validatedRows = collations.map((row) => collationPropsSchema.parse(row));
|
|
205
|
+
return validatedRows.map((row) => new Collation(row));
|
|
206
|
+
});
|
|
207
|
+
}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import type { Domain, DomainConstraintProps } from "../domain.model.ts";
|
|
2
|
+
import { AlterDomainChange, DropDomainChange } from "./domain.base.ts";
|
|
3
|
+
/**
|
|
4
|
+
* Alter a domain.
|
|
5
|
+
*
|
|
6
|
+
* @see https://www.postgresql.org/docs/17/sql-alterdomain.html
|
|
7
|
+
*
|
|
8
|
+
* Synopsis
|
|
9
|
+
* ```sql
|
|
10
|
+
* ALTER DOMAIN name
|
|
11
|
+
* { SET DEFAULT expression | DROP DEFAULT }
|
|
12
|
+
* ALTER DOMAIN name
|
|
13
|
+
* { SET | DROP } NOT NULL
|
|
14
|
+
* ALTER DOMAIN name
|
|
15
|
+
* ADD domain_constraint [ NOT VALID ]
|
|
16
|
+
* ALTER DOMAIN name
|
|
17
|
+
* DROP CONSTRAINT [ IF EXISTS ] constraint_name [ RESTRICT | CASCADE ]
|
|
18
|
+
* ALTER DOMAIN name
|
|
19
|
+
* RENAME CONSTRAINT constraint_name TO new_constraint_name
|
|
20
|
+
* ALTER DOMAIN name
|
|
21
|
+
* VALIDATE CONSTRAINT constraint_name
|
|
22
|
+
* ALTER DOMAIN name
|
|
23
|
+
* OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
|
|
24
|
+
* ALTER DOMAIN name
|
|
25
|
+
* RENAME TO new_name
|
|
26
|
+
* ALTER DOMAIN name
|
|
27
|
+
* SET SCHEMA new_schema
|
|
28
|
+
*
|
|
29
|
+
* where domain_constraint is:
|
|
30
|
+
*
|
|
31
|
+
* [ CONSTRAINT constraint_name ]
|
|
32
|
+
* { NOT NULL | CHECK (expression) }
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export type AlterDomain = AlterDomainAddConstraint | AlterDomainChangeOwner | AlterDomainDropConstraint | AlterDomainDropDefault | AlterDomainDropNotNull | AlterDomainSetDefault | AlterDomainSetNotNull | AlterDomainValidateConstraint;
|
|
36
|
+
/**
|
|
37
|
+
* ALTER DOMAIN ... SET DEFAULT ...
|
|
38
|
+
*/
|
|
39
|
+
export declare class AlterDomainSetDefault extends AlterDomainChange {
|
|
40
|
+
readonly domain: Domain;
|
|
41
|
+
readonly defaultValue: string;
|
|
42
|
+
readonly scope: "object";
|
|
43
|
+
constructor(props: {
|
|
44
|
+
domain: Domain;
|
|
45
|
+
defaultValue: string;
|
|
46
|
+
});
|
|
47
|
+
get requires(): `domain:${string}`[];
|
|
48
|
+
serialize(): string;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* ALTER DOMAIN ... DROP DEFAULT
|
|
52
|
+
*/
|
|
53
|
+
export declare class AlterDomainDropDefault extends AlterDomainChange {
|
|
54
|
+
readonly domain: Domain;
|
|
55
|
+
readonly scope: "object";
|
|
56
|
+
constructor(props: {
|
|
57
|
+
domain: Domain;
|
|
58
|
+
});
|
|
59
|
+
get requires(): `domain:${string}`[];
|
|
60
|
+
serialize(): string;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* ALTER DOMAIN ... SET NOT NULL
|
|
64
|
+
*/
|
|
65
|
+
export declare class AlterDomainSetNotNull extends AlterDomainChange {
|
|
66
|
+
readonly domain: Domain;
|
|
67
|
+
readonly scope: "object";
|
|
68
|
+
constructor(props: {
|
|
69
|
+
domain: Domain;
|
|
70
|
+
});
|
|
71
|
+
get requires(): `domain:${string}`[];
|
|
72
|
+
serialize(): string;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* ALTER DOMAIN ... DROP NOT NULL
|
|
76
|
+
*/
|
|
77
|
+
export declare class AlterDomainDropNotNull extends AlterDomainChange {
|
|
78
|
+
readonly domain: Domain;
|
|
79
|
+
readonly scope: "object";
|
|
80
|
+
constructor(props: {
|
|
81
|
+
domain: Domain;
|
|
82
|
+
});
|
|
83
|
+
get requires(): `domain:${string}`[];
|
|
84
|
+
serialize(): string;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* ALTER DOMAIN ... OWNER TO ...
|
|
88
|
+
*/
|
|
89
|
+
export declare class AlterDomainChangeOwner extends AlterDomainChange {
|
|
90
|
+
readonly domain: Domain;
|
|
91
|
+
readonly owner: string;
|
|
92
|
+
readonly scope: "object";
|
|
93
|
+
constructor(props: {
|
|
94
|
+
domain: Domain;
|
|
95
|
+
owner: string;
|
|
96
|
+
});
|
|
97
|
+
get requires(): (`role:${string}` | `domain:${string}`)[];
|
|
98
|
+
serialize(): string;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* ALTER DOMAIN ... ADD CONSTRAINT ... [ NOT VALID ]
|
|
102
|
+
*/
|
|
103
|
+
export declare class AlterDomainAddConstraint extends AlterDomainChange {
|
|
104
|
+
readonly domain: Domain;
|
|
105
|
+
readonly constraint: DomainConstraintProps;
|
|
106
|
+
readonly scope: "object";
|
|
107
|
+
constructor(props: {
|
|
108
|
+
domain: Domain;
|
|
109
|
+
constraint: DomainConstraintProps;
|
|
110
|
+
});
|
|
111
|
+
get creates(): `constraint:${string}.${string}.${string}`[];
|
|
112
|
+
get requires(): `domain:${string}`[];
|
|
113
|
+
serialize(): string;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* ALTER DOMAIN ... DROP CONSTRAINT ...
|
|
117
|
+
*/
|
|
118
|
+
export declare class AlterDomainDropConstraint extends DropDomainChange {
|
|
119
|
+
readonly domain: Domain;
|
|
120
|
+
readonly constraint: DomainConstraintProps;
|
|
121
|
+
readonly scope: "object";
|
|
122
|
+
constructor(props: {
|
|
123
|
+
domain: Domain;
|
|
124
|
+
constraint: DomainConstraintProps;
|
|
125
|
+
});
|
|
126
|
+
get requires(): (`constraint:${string}.${string}.${string}` | `domain:${string}`)[];
|
|
127
|
+
get drops(): `constraint:${string}.${string}.${string}`[];
|
|
128
|
+
serialize(): string;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* ALTER DOMAIN ... VALIDATE CONSTRAINT ...
|
|
132
|
+
*/
|
|
133
|
+
export declare class AlterDomainValidateConstraint extends AlterDomainChange {
|
|
134
|
+
readonly domain: Domain;
|
|
135
|
+
readonly constraint: DomainConstraintProps;
|
|
136
|
+
readonly scope: "object";
|
|
137
|
+
constructor(props: {
|
|
138
|
+
domain: Domain;
|
|
139
|
+
constraint: DomainConstraintProps;
|
|
140
|
+
});
|
|
141
|
+
get requires(): (`constraint:${string}.${string}.${string}` | `domain:${string}`)[];
|
|
142
|
+
serialize(): string;
|
|
143
|
+
}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import { stableId } from "../../utils.js";
|
|
2
|
+
import { AlterDomainChange, DropDomainChange } from "./domain.base.js";
|
|
3
|
+
/**
|
|
4
|
+
* ALTER DOMAIN ... SET DEFAULT ...
|
|
5
|
+
*/
|
|
6
|
+
export class AlterDomainSetDefault extends AlterDomainChange {
|
|
7
|
+
domain;
|
|
8
|
+
defaultValue;
|
|
9
|
+
scope = "object";
|
|
10
|
+
constructor(props) {
|
|
11
|
+
super();
|
|
12
|
+
this.domain = props.domain;
|
|
13
|
+
this.defaultValue = props.defaultValue;
|
|
14
|
+
}
|
|
15
|
+
get requires() {
|
|
16
|
+
return [this.domain.stableId];
|
|
17
|
+
}
|
|
18
|
+
serialize() {
|
|
19
|
+
return `ALTER DOMAIN ${this.domain.schema}.${this.domain.name} SET DEFAULT ${this.defaultValue}`;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* ALTER DOMAIN ... DROP DEFAULT
|
|
24
|
+
*/
|
|
25
|
+
export class AlterDomainDropDefault extends AlterDomainChange {
|
|
26
|
+
domain;
|
|
27
|
+
scope = "object";
|
|
28
|
+
constructor(props) {
|
|
29
|
+
super();
|
|
30
|
+
this.domain = props.domain;
|
|
31
|
+
}
|
|
32
|
+
get requires() {
|
|
33
|
+
return [this.domain.stableId];
|
|
34
|
+
}
|
|
35
|
+
serialize() {
|
|
36
|
+
return `ALTER DOMAIN ${this.domain.schema}.${this.domain.name} DROP DEFAULT`;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* ALTER DOMAIN ... SET NOT NULL
|
|
41
|
+
*/
|
|
42
|
+
export class AlterDomainSetNotNull extends AlterDomainChange {
|
|
43
|
+
domain;
|
|
44
|
+
scope = "object";
|
|
45
|
+
constructor(props) {
|
|
46
|
+
super();
|
|
47
|
+
this.domain = props.domain;
|
|
48
|
+
}
|
|
49
|
+
get requires() {
|
|
50
|
+
return [this.domain.stableId];
|
|
51
|
+
}
|
|
52
|
+
serialize() {
|
|
53
|
+
return `ALTER DOMAIN ${this.domain.schema}.${this.domain.name} SET NOT NULL`;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* ALTER DOMAIN ... DROP NOT NULL
|
|
58
|
+
*/
|
|
59
|
+
export class AlterDomainDropNotNull extends AlterDomainChange {
|
|
60
|
+
domain;
|
|
61
|
+
scope = "object";
|
|
62
|
+
constructor(props) {
|
|
63
|
+
super();
|
|
64
|
+
this.domain = props.domain;
|
|
65
|
+
}
|
|
66
|
+
get requires() {
|
|
67
|
+
return [this.domain.stableId];
|
|
68
|
+
}
|
|
69
|
+
serialize() {
|
|
70
|
+
return `ALTER DOMAIN ${this.domain.schema}.${this.domain.name} DROP NOT NULL`;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* ALTER DOMAIN ... OWNER TO ...
|
|
75
|
+
*/
|
|
76
|
+
export class AlterDomainChangeOwner extends AlterDomainChange {
|
|
77
|
+
domain;
|
|
78
|
+
owner;
|
|
79
|
+
scope = "object";
|
|
80
|
+
constructor(props) {
|
|
81
|
+
super();
|
|
82
|
+
this.domain = props.domain;
|
|
83
|
+
this.owner = props.owner;
|
|
84
|
+
}
|
|
85
|
+
get requires() {
|
|
86
|
+
return [this.domain.stableId, stableId.role(this.owner)];
|
|
87
|
+
}
|
|
88
|
+
serialize() {
|
|
89
|
+
return `ALTER DOMAIN ${this.domain.schema}.${this.domain.name} OWNER TO ${this.owner}`;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* ALTER DOMAIN ... ADD CONSTRAINT ... [ NOT VALID ]
|
|
94
|
+
*/
|
|
95
|
+
export class AlterDomainAddConstraint extends AlterDomainChange {
|
|
96
|
+
domain;
|
|
97
|
+
constraint;
|
|
98
|
+
scope = "object";
|
|
99
|
+
constructor(props) {
|
|
100
|
+
super();
|
|
101
|
+
this.domain = props.domain;
|
|
102
|
+
this.constraint = props.constraint;
|
|
103
|
+
}
|
|
104
|
+
get creates() {
|
|
105
|
+
return [
|
|
106
|
+
stableId.constraint(this.domain.schema, this.domain.name, this.constraint.name),
|
|
107
|
+
];
|
|
108
|
+
}
|
|
109
|
+
get requires() {
|
|
110
|
+
return [this.domain.stableId];
|
|
111
|
+
}
|
|
112
|
+
serialize() {
|
|
113
|
+
const domainName = `${this.domain.schema}.${this.domain.name}`;
|
|
114
|
+
const parts = [
|
|
115
|
+
"ALTER DOMAIN",
|
|
116
|
+
domainName,
|
|
117
|
+
"ADD CONSTRAINT",
|
|
118
|
+
this.constraint.name,
|
|
119
|
+
];
|
|
120
|
+
if (this.constraint.check_expression) {
|
|
121
|
+
parts.push(`CHECK (${this.constraint.check_expression})`);
|
|
122
|
+
}
|
|
123
|
+
if (!this.constraint.validated) {
|
|
124
|
+
parts.push("NOT VALID");
|
|
125
|
+
}
|
|
126
|
+
return parts.join(" ");
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* ALTER DOMAIN ... DROP CONSTRAINT ...
|
|
131
|
+
*/
|
|
132
|
+
export class AlterDomainDropConstraint extends DropDomainChange {
|
|
133
|
+
domain;
|
|
134
|
+
constraint;
|
|
135
|
+
scope = "object";
|
|
136
|
+
constructor(props) {
|
|
137
|
+
super();
|
|
138
|
+
this.domain = props.domain;
|
|
139
|
+
this.constraint = props.constraint;
|
|
140
|
+
}
|
|
141
|
+
get requires() {
|
|
142
|
+
return [
|
|
143
|
+
this.domain.stableId,
|
|
144
|
+
stableId.constraint(this.domain.schema, this.domain.name, this.constraint.name),
|
|
145
|
+
];
|
|
146
|
+
}
|
|
147
|
+
get drops() {
|
|
148
|
+
return [
|
|
149
|
+
stableId.constraint(this.domain.schema, this.domain.name, this.constraint.name),
|
|
150
|
+
];
|
|
151
|
+
}
|
|
152
|
+
serialize() {
|
|
153
|
+
const domainName = `${this.domain.schema}.${this.domain.name}`;
|
|
154
|
+
return [
|
|
155
|
+
"ALTER DOMAIN",
|
|
156
|
+
domainName,
|
|
157
|
+
"DROP CONSTRAINT",
|
|
158
|
+
this.constraint.name,
|
|
159
|
+
].join(" ");
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
// Constraint renames are modeled as drop+add because the constraint name
|
|
163
|
+
// is part of the identity used in diffing and dependency resolution.
|
|
164
|
+
/**
|
|
165
|
+
* ALTER DOMAIN ... VALIDATE CONSTRAINT ...
|
|
166
|
+
*/
|
|
167
|
+
export class AlterDomainValidateConstraint extends AlterDomainChange {
|
|
168
|
+
domain;
|
|
169
|
+
constraint;
|
|
170
|
+
scope = "object";
|
|
171
|
+
constructor(props) {
|
|
172
|
+
super();
|
|
173
|
+
this.domain = props.domain;
|
|
174
|
+
this.constraint = props.constraint;
|
|
175
|
+
}
|
|
176
|
+
get requires() {
|
|
177
|
+
return [
|
|
178
|
+
this.domain.stableId,
|
|
179
|
+
stableId.constraint(this.domain.schema, this.domain.name, this.constraint.name),
|
|
180
|
+
];
|
|
181
|
+
}
|
|
182
|
+
serialize() {
|
|
183
|
+
const domainName = `${this.domain.schema}.${this.domain.name}`;
|
|
184
|
+
return [
|
|
185
|
+
"ALTER DOMAIN",
|
|
186
|
+
domainName,
|
|
187
|
+
"VALIDATE CONSTRAINT",
|
|
188
|
+
this.constraint.name,
|
|
189
|
+
].join(" ");
|
|
190
|
+
}
|
|
191
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { BaseChange } from "../../base.change.ts";
|
|
2
|
+
import type { Domain } from "../domain.model.ts";
|
|
3
|
+
declare abstract class BaseDomainChange extends BaseChange {
|
|
4
|
+
abstract readonly domain: Domain;
|
|
5
|
+
abstract readonly scope: "object" | "comment" | "privilege";
|
|
6
|
+
readonly objectType: "domain";
|
|
7
|
+
}
|
|
8
|
+
export declare abstract class CreateDomainChange extends BaseDomainChange {
|
|
9
|
+
readonly operation: "create";
|
|
10
|
+
}
|
|
11
|
+
export declare abstract class AlterDomainChange extends BaseDomainChange {
|
|
12
|
+
readonly operation: "alter";
|
|
13
|
+
}
|
|
14
|
+
export declare abstract class DropDomainChange extends BaseDomainChange {
|
|
15
|
+
readonly operation: "drop";
|
|
16
|
+
}
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BaseChange } from "../../base.change.js";
|
|
2
|
+
class BaseDomainChange extends BaseChange {
|
|
3
|
+
objectType = "domain";
|
|
4
|
+
}
|
|
5
|
+
export class CreateDomainChange extends BaseDomainChange {
|
|
6
|
+
operation = "create";
|
|
7
|
+
}
|
|
8
|
+
export class AlterDomainChange extends BaseDomainChange {
|
|
9
|
+
operation = "alter";
|
|
10
|
+
}
|
|
11
|
+
export class DropDomainChange extends BaseDomainChange {
|
|
12
|
+
operation = "drop";
|
|
13
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Domain } from "../domain.model.ts";
|
|
2
|
+
import { CreateDomainChange, DropDomainChange } from "./domain.base.ts";
|
|
3
|
+
export type CommentDomain = CreateCommentOnDomain | DropCommentOnDomain;
|
|
4
|
+
/**
|
|
5
|
+
* Create/drop comments on domains.
|
|
6
|
+
*/
|
|
7
|
+
export declare class CreateCommentOnDomain extends CreateDomainChange {
|
|
8
|
+
readonly domain: Domain;
|
|
9
|
+
readonly scope: "comment";
|
|
10
|
+
constructor(props: {
|
|
11
|
+
domain: Domain;
|
|
12
|
+
});
|
|
13
|
+
get creates(): `comment:${string}`[];
|
|
14
|
+
get requires(): `domain:${string}`[];
|
|
15
|
+
serialize(): string;
|
|
16
|
+
}
|
|
17
|
+
export declare class DropCommentOnDomain extends DropDomainChange {
|
|
18
|
+
readonly domain: Domain;
|
|
19
|
+
readonly scope: "comment";
|
|
20
|
+
constructor(props: {
|
|
21
|
+
domain: Domain;
|
|
22
|
+
});
|
|
23
|
+
get requires(): (`comment:${string}` | `domain:${string}`)[];
|
|
24
|
+
serialize(): string;
|
|
25
|
+
}
|