@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,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helpers for extracting object info from Change objects.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Get the object name from a change (exhaustive).
|
|
6
|
+
*/
|
|
7
|
+
export function getObjectName(change) {
|
|
8
|
+
switch (change.objectType) {
|
|
9
|
+
case "aggregate":
|
|
10
|
+
return change.aggregate.name;
|
|
11
|
+
case "collation":
|
|
12
|
+
return change.collation.name;
|
|
13
|
+
case "composite_type":
|
|
14
|
+
return change.compositeType.name;
|
|
15
|
+
case "domain":
|
|
16
|
+
return change.domain.name;
|
|
17
|
+
case "enum":
|
|
18
|
+
return change.enum.name;
|
|
19
|
+
case "event_trigger":
|
|
20
|
+
return change.eventTrigger.name;
|
|
21
|
+
case "extension":
|
|
22
|
+
return change.extension.name;
|
|
23
|
+
case "foreign_data_wrapper":
|
|
24
|
+
return change.foreignDataWrapper.name;
|
|
25
|
+
case "foreign_table":
|
|
26
|
+
return change.foreignTable.name;
|
|
27
|
+
case "index":
|
|
28
|
+
return change.index.name;
|
|
29
|
+
case "language":
|
|
30
|
+
return change.language.name;
|
|
31
|
+
case "materialized_view":
|
|
32
|
+
return change.materializedView.name;
|
|
33
|
+
case "procedure":
|
|
34
|
+
return change.procedure.name;
|
|
35
|
+
case "publication":
|
|
36
|
+
return change.publication.name;
|
|
37
|
+
case "range":
|
|
38
|
+
return change.range.name;
|
|
39
|
+
case "rls_policy":
|
|
40
|
+
return change.policy.name;
|
|
41
|
+
case "role":
|
|
42
|
+
return change.role.name;
|
|
43
|
+
case "rule":
|
|
44
|
+
return change.rule.name;
|
|
45
|
+
case "schema":
|
|
46
|
+
return change.schema.name;
|
|
47
|
+
case "sequence":
|
|
48
|
+
return change.sequence.name;
|
|
49
|
+
case "server":
|
|
50
|
+
return change.server.name;
|
|
51
|
+
case "subscription":
|
|
52
|
+
return change.subscription.name;
|
|
53
|
+
case "table":
|
|
54
|
+
return change.table.name;
|
|
55
|
+
case "trigger":
|
|
56
|
+
return change.trigger.name;
|
|
57
|
+
case "user_mapping":
|
|
58
|
+
return `${change.userMapping.user}@${change.userMapping.server}`;
|
|
59
|
+
case "view":
|
|
60
|
+
return change.view.name;
|
|
61
|
+
default: {
|
|
62
|
+
const _exhaustive = change;
|
|
63
|
+
return _exhaustive;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Get the schema from a change, or null for cluster-wide objects (exhaustive).
|
|
69
|
+
*/
|
|
70
|
+
export function getObjectSchema(change) {
|
|
71
|
+
switch (change.objectType) {
|
|
72
|
+
case "aggregate":
|
|
73
|
+
return change.aggregate.schema;
|
|
74
|
+
case "collation":
|
|
75
|
+
return change.collation.schema;
|
|
76
|
+
case "composite_type":
|
|
77
|
+
return change.compositeType.schema;
|
|
78
|
+
case "domain":
|
|
79
|
+
return change.domain.schema;
|
|
80
|
+
case "enum":
|
|
81
|
+
return change.enum.schema;
|
|
82
|
+
case "event_trigger":
|
|
83
|
+
return null;
|
|
84
|
+
case "extension":
|
|
85
|
+
return change.extension.schema;
|
|
86
|
+
case "foreign_data_wrapper":
|
|
87
|
+
return null;
|
|
88
|
+
case "foreign_table":
|
|
89
|
+
return change.foreignTable.schema;
|
|
90
|
+
case "index":
|
|
91
|
+
return change.index.schema;
|
|
92
|
+
case "language":
|
|
93
|
+
return null;
|
|
94
|
+
case "materialized_view":
|
|
95
|
+
return change.materializedView.schema;
|
|
96
|
+
case "procedure":
|
|
97
|
+
return change.procedure.schema;
|
|
98
|
+
case "publication":
|
|
99
|
+
return null;
|
|
100
|
+
case "range":
|
|
101
|
+
return change.range.schema;
|
|
102
|
+
case "rls_policy":
|
|
103
|
+
return change.policy.schema;
|
|
104
|
+
case "role":
|
|
105
|
+
return null;
|
|
106
|
+
case "rule":
|
|
107
|
+
return change.rule.schema;
|
|
108
|
+
case "schema":
|
|
109
|
+
return change.schema.name;
|
|
110
|
+
case "sequence":
|
|
111
|
+
return change.sequence.schema;
|
|
112
|
+
case "server":
|
|
113
|
+
return null;
|
|
114
|
+
case "subscription":
|
|
115
|
+
return null;
|
|
116
|
+
case "table":
|
|
117
|
+
return change.table.schema;
|
|
118
|
+
case "trigger":
|
|
119
|
+
return change.trigger.schema;
|
|
120
|
+
case "user_mapping":
|
|
121
|
+
return null;
|
|
122
|
+
case "view":
|
|
123
|
+
return change.view.schema;
|
|
124
|
+
default: {
|
|
125
|
+
const _exhaustive = change;
|
|
126
|
+
return _exhaustive;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Get parent info for child objects (indexes, triggers, policies, rules).
|
|
132
|
+
* Returns null for top-level objects (exhaustive).
|
|
133
|
+
*/
|
|
134
|
+
export function getParentInfo(change) {
|
|
135
|
+
switch (change.objectType) {
|
|
136
|
+
case "index": {
|
|
137
|
+
// Indexes can belong to tables or materialized views
|
|
138
|
+
// Use table_relkind to determine the parent type: 'r' = table, 'm' = materialized view
|
|
139
|
+
const parentType = change.index.table_relkind === "m" ? "materialized_view" : "table";
|
|
140
|
+
return { type: parentType, name: change.index.table_name };
|
|
141
|
+
}
|
|
142
|
+
case "trigger":
|
|
143
|
+
return { type: "table", name: change.trigger.table_name };
|
|
144
|
+
case "rule":
|
|
145
|
+
return { type: "table", name: change.rule.table_name };
|
|
146
|
+
case "rls_policy":
|
|
147
|
+
return { type: "table", name: change.policy.table_name };
|
|
148
|
+
case "aggregate":
|
|
149
|
+
case "collation":
|
|
150
|
+
case "composite_type":
|
|
151
|
+
case "domain":
|
|
152
|
+
case "enum":
|
|
153
|
+
case "event_trigger":
|
|
154
|
+
case "extension":
|
|
155
|
+
case "foreign_data_wrapper":
|
|
156
|
+
case "foreign_table":
|
|
157
|
+
case "language":
|
|
158
|
+
case "materialized_view":
|
|
159
|
+
case "procedure":
|
|
160
|
+
case "publication":
|
|
161
|
+
case "range":
|
|
162
|
+
case "role":
|
|
163
|
+
case "schema":
|
|
164
|
+
case "sequence":
|
|
165
|
+
case "server":
|
|
166
|
+
case "subscription":
|
|
167
|
+
case "table":
|
|
168
|
+
case "user_mapping":
|
|
169
|
+
case "view":
|
|
170
|
+
return null;
|
|
171
|
+
default: {
|
|
172
|
+
const _exhaustive = change;
|
|
173
|
+
return _exhaustive;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SQL script formatting utilities.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Format an array of SQL statements into a single script string.
|
|
6
|
+
* Statements are joined with double newlines and the script ends with a semicolon.
|
|
7
|
+
*/
|
|
8
|
+
export declare function formatSqlScript(statements: string[]): string;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SQL script formatting utilities.
|
|
3
|
+
*/
|
|
4
|
+
const STATEMENT_DELIMITER = ";\n\n";
|
|
5
|
+
/**
|
|
6
|
+
* Format an array of SQL statements into a single script string.
|
|
7
|
+
* Statements are joined with double newlines and the script ends with a semicolon.
|
|
8
|
+
*/
|
|
9
|
+
export function formatSqlScript(statements) {
|
|
10
|
+
if (statements.length === 0)
|
|
11
|
+
return "";
|
|
12
|
+
return `${statements.join(STATEMENT_DELIMITER)};`;
|
|
13
|
+
}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for the Plan module.
|
|
3
|
+
*/
|
|
4
|
+
import z from "zod";
|
|
5
|
+
import type { Change } from "../change.types.ts";
|
|
6
|
+
import type { FilterDSL } from "../integrations/filter/dsl.ts";
|
|
7
|
+
import type { SerializeDSL } from "../integrations/serialize/dsl.ts";
|
|
8
|
+
import type { ChangeFilter, ChangeSerializer } from "../main.ts";
|
|
9
|
+
export type PlanRisk = {
|
|
10
|
+
level: "safe";
|
|
11
|
+
} | {
|
|
12
|
+
level: "data_loss";
|
|
13
|
+
statements: string[];
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* All supported object types in the system.
|
|
17
|
+
* Derived from the Change union type's objectType discriminant.
|
|
18
|
+
*/
|
|
19
|
+
export type ObjectType = Change["objectType"];
|
|
20
|
+
/**
|
|
21
|
+
* Cluster-wide object types (no schema).
|
|
22
|
+
*/
|
|
23
|
+
export type ClusterObjectType = Extract<ObjectType, "event_trigger" | "foreign_data_wrapper" | "language" | "publication" | "role" | "server" | "subscription" | "user_mapping">;
|
|
24
|
+
/**
|
|
25
|
+
* Object types that are children of tables/views.
|
|
26
|
+
*/
|
|
27
|
+
export type ChildObjectType = Extract<ObjectType, "index" | "trigger" | "rule" | "rls_policy">;
|
|
28
|
+
/**
|
|
29
|
+
* Parent types for child objects.
|
|
30
|
+
*/
|
|
31
|
+
export type ParentType = Extract<ObjectType, "table" | "view" | "materialized_view" | "foreign_table">;
|
|
32
|
+
/**
|
|
33
|
+
* Change scopes - what aspect of an object is being changed.
|
|
34
|
+
* Derived from the Change union type's scope property.
|
|
35
|
+
*/
|
|
36
|
+
export type ChangeScope = Change["scope"];
|
|
37
|
+
/**
|
|
38
|
+
* A change entry storing both serialized and original change for instanceof checks.
|
|
39
|
+
*/
|
|
40
|
+
export interface ChangeEntry {
|
|
41
|
+
original: Change;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* A group of changes organized by operation.
|
|
45
|
+
*/
|
|
46
|
+
export interface ChangeGroup {
|
|
47
|
+
create: ChangeEntry[];
|
|
48
|
+
alter: ChangeEntry[];
|
|
49
|
+
drop: ChangeEntry[];
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Children objects of a table/view (indexes, triggers, policies, etc.)
|
|
53
|
+
*/
|
|
54
|
+
export interface TableChildren {
|
|
55
|
+
changes: ChangeGroup;
|
|
56
|
+
columns: ChangeGroup;
|
|
57
|
+
indexes: ChangeGroup;
|
|
58
|
+
triggers: ChangeGroup;
|
|
59
|
+
rules: ChangeGroup;
|
|
60
|
+
policies: ChangeGroup;
|
|
61
|
+
/** Partition tables (only for partitioned tables) */
|
|
62
|
+
partitions: Record<string, TableChildren>;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Children objects of a materialized view
|
|
66
|
+
*/
|
|
67
|
+
export interface MaterializedViewChildren {
|
|
68
|
+
changes: ChangeGroup;
|
|
69
|
+
indexes: ChangeGroup;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Type grouping within a schema
|
|
73
|
+
*/
|
|
74
|
+
export interface TypeGroup {
|
|
75
|
+
enums: ChangeGroup;
|
|
76
|
+
composites: ChangeGroup;
|
|
77
|
+
ranges: ChangeGroup;
|
|
78
|
+
domains: ChangeGroup;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Schema-level grouping of objects
|
|
82
|
+
*/
|
|
83
|
+
export interface SchemaGroup {
|
|
84
|
+
changes: ChangeGroup;
|
|
85
|
+
tables: Record<string, TableChildren>;
|
|
86
|
+
views: Record<string, TableChildren>;
|
|
87
|
+
materializedViews: Record<string, MaterializedViewChildren>;
|
|
88
|
+
functions: ChangeGroup;
|
|
89
|
+
procedures: ChangeGroup;
|
|
90
|
+
aggregates: ChangeGroup;
|
|
91
|
+
sequences: ChangeGroup;
|
|
92
|
+
types: TypeGroup;
|
|
93
|
+
collations: ChangeGroup;
|
|
94
|
+
foreignTables: Record<string, TableChildren>;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Cluster-wide objects (no schema)
|
|
98
|
+
*/
|
|
99
|
+
export interface ClusterGroup {
|
|
100
|
+
roles: ChangeGroup;
|
|
101
|
+
extensions: ChangeGroup;
|
|
102
|
+
eventTriggers: ChangeGroup;
|
|
103
|
+
publications: ChangeGroup;
|
|
104
|
+
subscriptions: ChangeGroup;
|
|
105
|
+
foreignDataWrappers: ChangeGroup;
|
|
106
|
+
servers: ChangeGroup;
|
|
107
|
+
userMappings: ChangeGroup;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Fully hierarchical plan structure for tree display.
|
|
111
|
+
*/
|
|
112
|
+
export interface HierarchicalPlan {
|
|
113
|
+
cluster: ClusterGroup;
|
|
114
|
+
schemas: Record<string, SchemaGroup>;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Plan schema for serialization/deserialization.
|
|
118
|
+
*/
|
|
119
|
+
export declare const PlanSchema: z.ZodObject<{
|
|
120
|
+
version: z.ZodNumber;
|
|
121
|
+
toolVersion: z.ZodOptional<z.ZodString>;
|
|
122
|
+
source: z.ZodObject<{
|
|
123
|
+
fingerprint: z.ZodString;
|
|
124
|
+
}, z.z.core.$strip>;
|
|
125
|
+
target: z.ZodObject<{
|
|
126
|
+
fingerprint: z.ZodString;
|
|
127
|
+
}, z.z.core.$strip>;
|
|
128
|
+
statements: z.ZodArray<z.ZodString>;
|
|
129
|
+
role: z.ZodOptional<z.ZodString>;
|
|
130
|
+
filter: z.ZodOptional<z.ZodAny>;
|
|
131
|
+
serialize: z.ZodOptional<z.ZodAny>;
|
|
132
|
+
risk: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
133
|
+
level: z.ZodLiteral<"safe">;
|
|
134
|
+
}, z.z.core.$strip>, z.ZodObject<{
|
|
135
|
+
level: z.ZodLiteral<"data_loss">;
|
|
136
|
+
statements: z.ZodArray<z.ZodString>;
|
|
137
|
+
}, z.z.core.$strip>], "level">>;
|
|
138
|
+
}, z.z.core.$strip>;
|
|
139
|
+
/**
|
|
140
|
+
* A migration plan containing all changes to transform one database schema into another.
|
|
141
|
+
*/
|
|
142
|
+
export type Plan = z.infer<typeof PlanSchema>;
|
|
143
|
+
/**
|
|
144
|
+
* Options for creating a plan.
|
|
145
|
+
*/
|
|
146
|
+
export interface CreatePlanOptions {
|
|
147
|
+
/** Filter - either FilterDSL (stored in plan) or ChangeFilter function (not stored) */
|
|
148
|
+
filter?: FilterDSL | ChangeFilter;
|
|
149
|
+
/** Serialize - either SerializeDSL (stored in plan) or ChangeSerializer function (not stored) */
|
|
150
|
+
serialize?: SerializeDSL | ChangeSerializer;
|
|
151
|
+
/** Role to use when executing the migration (SET ROLE will be added to statements) */
|
|
152
|
+
role?: string;
|
|
153
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for the Plan module.
|
|
3
|
+
*/
|
|
4
|
+
import z from "zod";
|
|
5
|
+
/**
|
|
6
|
+
* Plan schema for serialization/deserialization.
|
|
7
|
+
*/
|
|
8
|
+
export const PlanSchema = z.object({
|
|
9
|
+
version: z.number(),
|
|
10
|
+
toolVersion: z.string().optional(),
|
|
11
|
+
source: z.object({
|
|
12
|
+
fingerprint: z.string(),
|
|
13
|
+
}),
|
|
14
|
+
target: z.object({
|
|
15
|
+
fingerprint: z.string(),
|
|
16
|
+
}),
|
|
17
|
+
statements: z.array(z.string()),
|
|
18
|
+
role: z.string().optional(),
|
|
19
|
+
filter: z.any().optional(), // FilterDSL - complex recursive type, validated at compile time
|
|
20
|
+
serialize: z.any().optional(), // SerializeDSL - complex recursive type, validated at compile time
|
|
21
|
+
risk: z
|
|
22
|
+
.discriminatedUnion("level", [
|
|
23
|
+
z.object({
|
|
24
|
+
level: z.literal("safe"),
|
|
25
|
+
}),
|
|
26
|
+
z.object({
|
|
27
|
+
level: z.literal("data_loss"),
|
|
28
|
+
statements: z.array(z.string()),
|
|
29
|
+
}),
|
|
30
|
+
])
|
|
31
|
+
.optional(),
|
|
32
|
+
});
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PostgreSQL connection configuration with custom type handlers.
|
|
3
|
+
*/
|
|
4
|
+
import type postgres from "postgres";
|
|
5
|
+
/**
|
|
6
|
+
* Custom type handler for specific corner cases.
|
|
7
|
+
*/
|
|
8
|
+
export declare const postgresConfig: postgres.Options<Record<string, postgres.PostgresType>>;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PostgreSQL connection configuration with custom type handlers.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Custom type handler for specific corner cases.
|
|
6
|
+
*/
|
|
7
|
+
export const postgresConfig = {
|
|
8
|
+
types: {
|
|
9
|
+
int2vector: {
|
|
10
|
+
// The pg_types oid for int2vector (22 is the OID for int2vector)
|
|
11
|
+
to: 22,
|
|
12
|
+
// Array of pg_types oids to handle when parsing values coming from the db
|
|
13
|
+
from: [22],
|
|
14
|
+
// Parse int2vector from string format "1 2 3" to array [1, 2, 3]
|
|
15
|
+
parse: (value) => {
|
|
16
|
+
if (!value || value === "")
|
|
17
|
+
return [];
|
|
18
|
+
return value
|
|
19
|
+
.split(" ")
|
|
20
|
+
.map(Number)
|
|
21
|
+
.filter((n) => !Number.isNaN(n));
|
|
22
|
+
},
|
|
23
|
+
// Serialize array back to int2vector format if needed
|
|
24
|
+
serialize: (value) => {
|
|
25
|
+
if (!Array.isArray(value))
|
|
26
|
+
return "";
|
|
27
|
+
return value.join(" ");
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
// Handle bigint values from PostgreSQL
|
|
31
|
+
bigint: {
|
|
32
|
+
// The pg_types oid for bigint (20 is the OID for int8/bigint)
|
|
33
|
+
to: 20,
|
|
34
|
+
// Array of pg_types oids to handle when parsing values coming from the db
|
|
35
|
+
from: [20],
|
|
36
|
+
// Parse bigint string to JavaScript BigInt
|
|
37
|
+
parse: (value) => {
|
|
38
|
+
return BigInt(value);
|
|
39
|
+
},
|
|
40
|
+
// Serialize BigInt back to string for PostgreSQL
|
|
41
|
+
serialize: (value) => {
|
|
42
|
+
return value.toString();
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Change } from "../change.types.ts";
|
|
2
|
+
import type { Constraint } from "./types.ts";
|
|
3
|
+
/**
|
|
4
|
+
* Generate Constraints from custom constraint generators.
|
|
5
|
+
*
|
|
6
|
+
* Iterates through registered generators to produce constraints.
|
|
7
|
+
* Generators should be optimized (e.g. using indexing) to avoid O(N²) complexity.
|
|
8
|
+
*/
|
|
9
|
+
export declare function generateCustomConstraints(changes: Change[]): Constraint[];
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { getSchema } from "../integrations/filter/extractors.js";
|
|
2
|
+
import { GrantRoleDefaultPrivileges, RevokeRoleDefaultPrivileges, } from "../objects/role/changes/role.privilege.js";
|
|
3
|
+
/**
|
|
4
|
+
* Maps object type names to PostgreSQL default privilege objtype codes.
|
|
5
|
+
* This mirrors the mapping in base.default-privileges.ts.
|
|
6
|
+
*/
|
|
7
|
+
function objectTypeToObjtype(objectType) {
|
|
8
|
+
switch (objectType) {
|
|
9
|
+
case "table":
|
|
10
|
+
case "view":
|
|
11
|
+
case "materialized_view":
|
|
12
|
+
return "r"; // Relations
|
|
13
|
+
case "sequence":
|
|
14
|
+
return "S"; // Sequences
|
|
15
|
+
case "procedure":
|
|
16
|
+
case "function":
|
|
17
|
+
case "aggregate":
|
|
18
|
+
return "f"; // Functions/routines
|
|
19
|
+
case "type":
|
|
20
|
+
case "domain":
|
|
21
|
+
case "enum":
|
|
22
|
+
case "range":
|
|
23
|
+
case "composite_type":
|
|
24
|
+
return "T"; // Types
|
|
25
|
+
case "schema":
|
|
26
|
+
return "n"; // Schemas
|
|
27
|
+
default:
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Generate constraints to ensure ALTER DEFAULT PRIVILEGES comes before CREATE statements.
|
|
33
|
+
*
|
|
34
|
+
* Rules:
|
|
35
|
+
* - Only applies when the default privilege's schema matches the CREATE statement's schema
|
|
36
|
+
* (or if the default privilege is global, applies to all schemas)
|
|
37
|
+
* - Only applies when the default privilege's objtype matches the CREATE statement's object type
|
|
38
|
+
* - Excludes CREATE ROLE and CREATE SCHEMA since they are dependencies
|
|
39
|
+
* of ALTER DEFAULT PRIVILEGES and must come before it
|
|
40
|
+
*
|
|
41
|
+
* implementation: O(N) using schema/objtype indexing.
|
|
42
|
+
*/
|
|
43
|
+
function generateDefaultPrivilegeConstraints(changes) {
|
|
44
|
+
const constraints = [];
|
|
45
|
+
const defaultPrivilegeIndices = [];
|
|
46
|
+
// Map<objtype_code, Map<schema_name, index[]>>
|
|
47
|
+
const createsByObjTypeAndSchema = new Map();
|
|
48
|
+
// Pass 1: Index changes
|
|
49
|
+
for (let i = 0; i < changes.length; i++) {
|
|
50
|
+
const change = changes[i];
|
|
51
|
+
// Identify default privilege changes
|
|
52
|
+
if (change instanceof GrantRoleDefaultPrivileges ||
|
|
53
|
+
change instanceof RevokeRoleDefaultPrivileges) {
|
|
54
|
+
defaultPrivilegeIndices.push(i);
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
// Identify CREATE object changes (excluding role/schema)
|
|
58
|
+
if (change.operation === "create" &&
|
|
59
|
+
change.scope === "object" &&
|
|
60
|
+
change.objectType !== "role" &&
|
|
61
|
+
change.objectType !== "schema") {
|
|
62
|
+
const objTypeCode = objectTypeToObjtype(change.objectType);
|
|
63
|
+
if (!objTypeCode)
|
|
64
|
+
continue;
|
|
65
|
+
const schema = getSchema(change);
|
|
66
|
+
// Default privileges only apply to schema-contained objects.
|
|
67
|
+
if (schema) {
|
|
68
|
+
let schemaMap = createsByObjTypeAndSchema.get(objTypeCode);
|
|
69
|
+
if (!schemaMap) {
|
|
70
|
+
schemaMap = new Map();
|
|
71
|
+
createsByObjTypeAndSchema.set(objTypeCode, schemaMap);
|
|
72
|
+
}
|
|
73
|
+
let indices = schemaMap.get(schema);
|
|
74
|
+
if (!indices) {
|
|
75
|
+
indices = [];
|
|
76
|
+
schemaMap.set(schema, indices);
|
|
77
|
+
}
|
|
78
|
+
indices.push(i);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
// Pass 2: Generate constraints
|
|
83
|
+
for (const privIndex of defaultPrivilegeIndices) {
|
|
84
|
+
const privChange = changes[privIndex];
|
|
85
|
+
const privSchema = privChange.inSchema;
|
|
86
|
+
const privObjType = privChange.objtype;
|
|
87
|
+
const schemaMap = createsByObjTypeAndSchema.get(privObjType);
|
|
88
|
+
if (!schemaMap)
|
|
89
|
+
continue;
|
|
90
|
+
if (privSchema === null) {
|
|
91
|
+
// Global default privilege: applies to ALL schemas
|
|
92
|
+
for (const indices of schemaMap.values()) {
|
|
93
|
+
for (const createIndex of indices) {
|
|
94
|
+
// (No self-check needed as types differ)
|
|
95
|
+
constraints.push({
|
|
96
|
+
sourceChangeIndex: privIndex,
|
|
97
|
+
targetChangeIndex: createIndex,
|
|
98
|
+
source: "custom",
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
// Specific schema: applies only to that schema
|
|
105
|
+
const indices = schemaMap.get(privSchema);
|
|
106
|
+
if (indices) {
|
|
107
|
+
for (const createIndex of indices) {
|
|
108
|
+
constraints.push({
|
|
109
|
+
sourceChangeIndex: privIndex,
|
|
110
|
+
targetChangeIndex: createIndex,
|
|
111
|
+
source: "custom",
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return constraints;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* All custom constraint generators.
|
|
121
|
+
*/
|
|
122
|
+
const customConstraintGenerators = [
|
|
123
|
+
generateDefaultPrivilegeConstraints,
|
|
124
|
+
];
|
|
125
|
+
/**
|
|
126
|
+
* Generate Constraints from custom constraint generators.
|
|
127
|
+
*
|
|
128
|
+
* Iterates through registered generators to produce constraints.
|
|
129
|
+
* Generators should be optimized (e.g. using indexing) to avoid O(N²) complexity.
|
|
130
|
+
*/
|
|
131
|
+
export function generateCustomConstraints(changes) {
|
|
132
|
+
return customConstraintGenerators.flatMap((generate) => generate(changes));
|
|
133
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Change } from "../change.types.ts";
|
|
2
|
+
import type { Constraint, GraphData, PgDependRow } from "./types.ts";
|
|
3
|
+
/**
|
|
4
|
+
* Print debug information about the dependency graph.
|
|
5
|
+
*
|
|
6
|
+
* Builds debug-only data structures (requirementSets, dependenciesByReferencedId) just-in-time.
|
|
7
|
+
*/
|
|
8
|
+
export declare function printDebugGraph(phaseChanges: Change[], graphData: GraphData, edges: Array<[number, number]>, dependencyRows: PgDependRow[], constraints: Constraint[]): void;
|