@supabase/pg-delta 1.0.0-alpha.10 → 1.0.0-alpha.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/commands/declarative-export.js +12 -17
- package/dist/cli/commands/plan.js +10 -13
- package/dist/cli/commands/sync.js +8 -12
- package/dist/cli/utils/integrations.d.ts +30 -6
- package/dist/cli/utils/integrations.js +98 -6
- package/dist/core/change-utils.d.ts +9 -0
- package/dist/core/change-utils.js +71 -0
- package/dist/core/change.types.d.ts +22 -0
- package/dist/core/change.types.js +37 -1
- package/dist/core/depend.js +25 -0
- package/dist/core/expand-replace-dependencies.js +23 -0
- package/dist/core/export/file-mapper.d.ts +2 -2
- package/dist/core/integrations/filter/dsl.d.ts +78 -74
- package/dist/core/integrations/filter/dsl.js +127 -79
- package/dist/core/integrations/filter/flatten.d.ts +51 -0
- package/dist/core/integrations/filter/flatten.js +116 -0
- package/dist/core/integrations/integration-dsl.d.ts +17 -1
- package/dist/core/integrations/merge.d.ts +20 -0
- package/dist/core/integrations/merge.js +60 -0
- package/dist/core/integrations/serialize/dsl.d.ts +8 -12
- package/dist/core/integrations/serialize/dsl.js +2 -2
- package/dist/core/integrations/serialize/serialize.types.d.ts +31 -0
- package/dist/core/integrations/supabase.js +42 -8
- package/dist/core/objects/aggregate/changes/aggregate.alter.d.ts +2 -1
- package/dist/core/objects/aggregate/changes/aggregate.alter.js +1 -1
- package/dist/core/objects/aggregate/changes/aggregate.comment.d.ts +3 -2
- package/dist/core/objects/aggregate/changes/aggregate.comment.js +2 -2
- package/dist/core/objects/aggregate/changes/aggregate.create.d.ts +2 -1
- package/dist/core/objects/aggregate/changes/aggregate.create.js +1 -1
- package/dist/core/objects/aggregate/changes/aggregate.drop.d.ts +2 -1
- package/dist/core/objects/aggregate/changes/aggregate.drop.js +1 -1
- package/dist/core/objects/aggregate/changes/aggregate.privilege.d.ts +4 -3
- package/dist/core/objects/aggregate/changes/aggregate.privilege.js +3 -3
- package/dist/core/objects/aggregate/changes/aggregate.types.d.ts +1 -0
- package/dist/core/objects/base.change.d.ts +12 -1
- package/dist/core/objects/base.change.js +10 -0
- package/dist/core/objects/base.model.d.ts +4 -1
- package/dist/core/objects/base.model.js +5 -2
- package/dist/core/objects/collation/changes/collation.alter.d.ts +3 -2
- package/dist/core/objects/collation/changes/collation.alter.js +2 -2
- package/dist/core/objects/collation/changes/collation.comment.d.ts +3 -2
- package/dist/core/objects/collation/changes/collation.comment.js +2 -2
- package/dist/core/objects/collation/changes/collation.create.d.ts +2 -1
- package/dist/core/objects/collation/changes/collation.create.js +1 -1
- package/dist/core/objects/collation/changes/collation.drop.d.ts +2 -1
- package/dist/core/objects/collation/changes/collation.drop.js +1 -1
- package/dist/core/objects/collation/changes/collation.types.d.ts +1 -0
- package/dist/core/objects/domain/changes/domain.alter.d.ts +9 -8
- package/dist/core/objects/domain/changes/domain.alter.js +8 -8
- package/dist/core/objects/domain/changes/domain.comment.d.ts +3 -2
- package/dist/core/objects/domain/changes/domain.comment.js +2 -2
- package/dist/core/objects/domain/changes/domain.create.d.ts +3 -2
- package/dist/core/objects/domain/changes/domain.create.js +8 -2
- package/dist/core/objects/domain/changes/domain.drop.d.ts +2 -1
- package/dist/core/objects/domain/changes/domain.drop.js +1 -1
- package/dist/core/objects/domain/changes/domain.privilege.d.ts +4 -3
- package/dist/core/objects/domain/changes/domain.privilege.js +3 -3
- package/dist/core/objects/domain/changes/domain.types.d.ts +1 -0
- package/dist/core/objects/event-trigger/changes/event-trigger.alter.d.ts +3 -2
- package/dist/core/objects/event-trigger/changes/event-trigger.alter.js +2 -2
- package/dist/core/objects/event-trigger/changes/event-trigger.comment.d.ts +3 -2
- package/dist/core/objects/event-trigger/changes/event-trigger.comment.js +2 -2
- package/dist/core/objects/event-trigger/changes/event-trigger.create.d.ts +2 -1
- package/dist/core/objects/event-trigger/changes/event-trigger.create.js +1 -1
- package/dist/core/objects/event-trigger/changes/event-trigger.drop.d.ts +2 -1
- package/dist/core/objects/event-trigger/changes/event-trigger.drop.js +1 -1
- package/dist/core/objects/event-trigger/changes/event-trigger.types.d.ts +1 -0
- package/dist/core/objects/extension/changes/extension.alter.d.ts +3 -2
- package/dist/core/objects/extension/changes/extension.alter.js +2 -2
- package/dist/core/objects/extension/changes/extension.comment.d.ts +3 -2
- package/dist/core/objects/extension/changes/extension.comment.js +2 -2
- package/dist/core/objects/extension/changes/extension.create.d.ts +2 -1
- package/dist/core/objects/extension/changes/extension.create.js +4 -2
- package/dist/core/objects/extension/changes/extension.drop.d.ts +2 -1
- package/dist/core/objects/extension/changes/extension.drop.js +1 -1
- package/dist/core/objects/extension/changes/extension.types.d.ts +1 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.alter.d.ts +3 -2
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.alter.js +2 -2
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.comment.d.ts +3 -2
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.comment.js +2 -2
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.create.d.ts +2 -1
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.create.js +1 -1
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.drop.d.ts +2 -1
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.drop.js +1 -1
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.privilege.d.ts +4 -3
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.privilege.js +3 -3
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.types.d.ts +1 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper.types.d.ts +1 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.alter.d.ts +10 -9
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.alter.js +9 -9
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.comment.d.ts +3 -2
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.comment.js +2 -2
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.create.d.ts +2 -1
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.create.js +1 -1
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.drop.d.ts +2 -1
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.drop.js +1 -1
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.privilege.d.ts +4 -3
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.privilege.js +3 -3
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.types.d.ts +1 -0
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.alter.d.ts +4 -3
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.alter.js +3 -3
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.comment.d.ts +3 -2
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.comment.js +2 -2
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.create.d.ts +2 -1
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.create.js +1 -1
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.drop.d.ts +2 -1
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.drop.js +1 -1
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.privilege.d.ts +4 -3
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.privilege.js +3 -3
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.types.d.ts +1 -0
- package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.alter.d.ts +2 -1
- package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.alter.js +1 -1
- package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.create.d.ts +2 -1
- package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.create.js +1 -1
- package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.drop.d.ts +2 -1
- package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.drop.js +1 -1
- package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.types.d.ts +1 -0
- package/dist/core/objects/index/changes/index.alter.d.ts +4 -3
- package/dist/core/objects/index/changes/index.alter.js +3 -3
- package/dist/core/objects/index/changes/index.comment.d.ts +3 -2
- package/dist/core/objects/index/changes/index.comment.js +2 -2
- package/dist/core/objects/index/changes/index.create.d.ts +2 -1
- package/dist/core/objects/index/changes/index.create.js +1 -1
- package/dist/core/objects/index/changes/index.drop.d.ts +2 -1
- package/dist/core/objects/index/changes/index.drop.js +1 -1
- package/dist/core/objects/index/changes/index.types.d.ts +1 -0
- package/dist/core/objects/language/changes/language.alter.d.ts +2 -1
- package/dist/core/objects/language/changes/language.alter.js +1 -1
- package/dist/core/objects/language/changes/language.comment.d.ts +3 -2
- package/dist/core/objects/language/changes/language.comment.js +2 -2
- package/dist/core/objects/language/changes/language.create.d.ts +2 -1
- package/dist/core/objects/language/changes/language.create.js +1 -1
- package/dist/core/objects/language/changes/language.drop.d.ts +2 -1
- package/dist/core/objects/language/changes/language.drop.js +1 -1
- package/dist/core/objects/language/changes/language.privilege.d.ts +4 -3
- package/dist/core/objects/language/changes/language.privilege.js +3 -3
- package/dist/core/objects/language/changes/language.types.d.ts +1 -0
- package/dist/core/objects/materialized-view/changes/materialized-view.alter.d.ts +3 -2
- package/dist/core/objects/materialized-view/changes/materialized-view.alter.js +2 -2
- package/dist/core/objects/materialized-view/changes/materialized-view.comment.d.ts +5 -4
- package/dist/core/objects/materialized-view/changes/materialized-view.comment.js +4 -4
- package/dist/core/objects/materialized-view/changes/materialized-view.create.d.ts +2 -1
- package/dist/core/objects/materialized-view/changes/materialized-view.create.js +1 -1
- package/dist/core/objects/materialized-view/changes/materialized-view.drop.d.ts +2 -1
- package/dist/core/objects/materialized-view/changes/materialized-view.drop.js +1 -1
- package/dist/core/objects/materialized-view/changes/materialized-view.privilege.d.ts +4 -3
- package/dist/core/objects/materialized-view/changes/materialized-view.privilege.js +3 -3
- package/dist/core/objects/materialized-view/changes/materialized-view.types.d.ts +1 -0
- package/dist/core/objects/procedure/changes/procedure.alter.d.ts +8 -7
- package/dist/core/objects/procedure/changes/procedure.alter.js +7 -7
- package/dist/core/objects/procedure/changes/procedure.comment.d.ts +3 -2
- package/dist/core/objects/procedure/changes/procedure.comment.js +2 -2
- package/dist/core/objects/procedure/changes/procedure.create.d.ts +2 -1
- package/dist/core/objects/procedure/changes/procedure.create.js +1 -1
- package/dist/core/objects/procedure/changes/procedure.drop.d.ts +2 -1
- package/dist/core/objects/procedure/changes/procedure.drop.js +1 -1
- package/dist/core/objects/procedure/changes/procedure.privilege.d.ts +4 -3
- package/dist/core/objects/procedure/changes/procedure.privilege.js +3 -3
- package/dist/core/objects/procedure/changes/procedure.types.d.ts +1 -0
- package/dist/core/objects/publication/changes/publication.alter.d.ts +9 -7
- package/dist/core/objects/publication/changes/publication.alter.js +12 -7
- package/dist/core/objects/publication/changes/publication.comment.d.ts +3 -2
- package/dist/core/objects/publication/changes/publication.comment.js +2 -2
- package/dist/core/objects/publication/changes/publication.create.d.ts +2 -1
- package/dist/core/objects/publication/changes/publication.create.js +1 -1
- package/dist/core/objects/publication/changes/publication.drop.d.ts +2 -1
- package/dist/core/objects/publication/changes/publication.drop.js +1 -1
- package/dist/core/objects/publication/changes/publication.types.d.ts +1 -0
- package/dist/core/objects/rls-policy/changes/rls-policy.alter.d.ts +4 -3
- package/dist/core/objects/rls-policy/changes/rls-policy.alter.js +3 -3
- package/dist/core/objects/rls-policy/changes/rls-policy.comment.d.ts +3 -2
- package/dist/core/objects/rls-policy/changes/rls-policy.comment.js +2 -2
- package/dist/core/objects/rls-policy/changes/rls-policy.create.d.ts +2 -1
- package/dist/core/objects/rls-policy/changes/rls-policy.create.js +1 -1
- package/dist/core/objects/rls-policy/changes/rls-policy.drop.d.ts +2 -1
- package/dist/core/objects/rls-policy/changes/rls-policy.drop.js +1 -1
- package/dist/core/objects/rls-policy/changes/rls-policy.types.d.ts +1 -0
- package/dist/core/objects/role/changes/role.alter.d.ts +3 -2
- package/dist/core/objects/role/changes/role.alter.js +2 -2
- package/dist/core/objects/role/changes/role.comment.d.ts +3 -2
- package/dist/core/objects/role/changes/role.comment.js +2 -2
- package/dist/core/objects/role/changes/role.create.d.ts +2 -1
- package/dist/core/objects/role/changes/role.create.js +1 -1
- package/dist/core/objects/role/changes/role.drop.d.ts +2 -1
- package/dist/core/objects/role/changes/role.drop.js +1 -1
- package/dist/core/objects/role/changes/role.privilege.d.ts +6 -5
- package/dist/core/objects/role/changes/role.privilege.js +5 -5
- package/dist/core/objects/role/changes/role.types.d.ts +1 -0
- package/dist/core/objects/rule/changes/rule.alter.d.ts +3 -2
- package/dist/core/objects/rule/changes/rule.alter.js +2 -2
- package/dist/core/objects/rule/changes/rule.comment.d.ts +3 -2
- package/dist/core/objects/rule/changes/rule.comment.js +2 -2
- package/dist/core/objects/rule/changes/rule.create.d.ts +2 -1
- package/dist/core/objects/rule/changes/rule.create.js +1 -1
- package/dist/core/objects/rule/changes/rule.drop.d.ts +2 -1
- package/dist/core/objects/rule/changes/rule.drop.js +1 -1
- package/dist/core/objects/rule/changes/rule.types.d.ts +1 -0
- package/dist/core/objects/schema/changes/schema.alter.d.ts +2 -1
- package/dist/core/objects/schema/changes/schema.alter.js +1 -1
- package/dist/core/objects/schema/changes/schema.comment.d.ts +3 -2
- package/dist/core/objects/schema/changes/schema.comment.js +2 -2
- package/dist/core/objects/schema/changes/schema.create.d.ts +3 -5
- package/dist/core/objects/schema/changes/schema.drop.d.ts +2 -1
- package/dist/core/objects/schema/changes/schema.drop.js +1 -1
- package/dist/core/objects/schema/changes/schema.privilege.d.ts +4 -3
- package/dist/core/objects/schema/changes/schema.privilege.js +3 -3
- package/dist/core/objects/schema/changes/schema.types.d.ts +1 -0
- package/dist/core/objects/sequence/changes/sequence.alter.d.ts +3 -2
- package/dist/core/objects/sequence/changes/sequence.alter.js +2 -2
- package/dist/core/objects/sequence/changes/sequence.comment.d.ts +3 -2
- package/dist/core/objects/sequence/changes/sequence.comment.js +2 -2
- package/dist/core/objects/sequence/changes/sequence.create.d.ts +2 -1
- package/dist/core/objects/sequence/changes/sequence.create.js +1 -1
- package/dist/core/objects/sequence/changes/sequence.drop.d.ts +2 -1
- package/dist/core/objects/sequence/changes/sequence.drop.js +11 -3
- package/dist/core/objects/sequence/changes/sequence.privilege.d.ts +4 -3
- package/dist/core/objects/sequence/changes/sequence.privilege.js +3 -3
- package/dist/core/objects/sequence/changes/sequence.types.d.ts +1 -0
- package/dist/core/objects/sequence/sequence.diff.d.ts +4 -1
- package/dist/core/objects/sequence/sequence.diff.js +12 -0
- package/dist/core/objects/subscription/changes/subscription.alter.d.ts +7 -6
- package/dist/core/objects/subscription/changes/subscription.alter.js +6 -6
- package/dist/core/objects/subscription/changes/subscription.comment.d.ts +3 -2
- package/dist/core/objects/subscription/changes/subscription.comment.js +2 -2
- package/dist/core/objects/subscription/changes/subscription.create.d.ts +2 -1
- package/dist/core/objects/subscription/changes/subscription.create.js +1 -1
- package/dist/core/objects/subscription/changes/subscription.drop.d.ts +2 -1
- package/dist/core/objects/subscription/changes/subscription.drop.js +1 -1
- package/dist/core/objects/subscription/changes/subscription.types.d.ts +1 -0
- package/dist/core/objects/table/changes/table.alter.d.ts +65 -22
- package/dist/core/objects/table/changes/table.alter.js +107 -22
- package/dist/core/objects/table/changes/table.comment.d.ts +7 -6
- package/dist/core/objects/table/changes/table.comment.js +6 -6
- package/dist/core/objects/table/changes/table.create.d.ts +2 -1
- package/dist/core/objects/table/changes/table.create.js +1 -1
- package/dist/core/objects/table/changes/table.drop.d.ts +4 -3
- package/dist/core/objects/table/changes/table.drop.js +7 -1
- package/dist/core/objects/table/changes/table.privilege.d.ts +4 -3
- package/dist/core/objects/table/changes/table.privilege.js +3 -3
- package/dist/core/objects/table/changes/table.types.d.ts +1 -0
- package/dist/core/objects/table/table.diff.js +46 -1
- package/dist/core/objects/trigger/changes/trigger.alter.d.ts +2 -1
- package/dist/core/objects/trigger/changes/trigger.alter.js +1 -1
- package/dist/core/objects/trigger/changes/trigger.comment.d.ts +3 -2
- package/dist/core/objects/trigger/changes/trigger.comment.js +2 -2
- package/dist/core/objects/trigger/changes/trigger.create.d.ts +2 -1
- package/dist/core/objects/trigger/changes/trigger.create.js +1 -1
- package/dist/core/objects/trigger/changes/trigger.drop.d.ts +2 -1
- package/dist/core/objects/trigger/changes/trigger.drop.js +1 -1
- package/dist/core/objects/trigger/changes/trigger.types.d.ts +1 -0
- package/dist/core/objects/type/composite-type/changes/composite-type.alter.d.ts +5 -4
- package/dist/core/objects/type/composite-type/changes/composite-type.alter.js +4 -4
- package/dist/core/objects/type/composite-type/changes/composite-type.comment.d.ts +5 -4
- package/dist/core/objects/type/composite-type/changes/composite-type.comment.js +4 -4
- package/dist/core/objects/type/composite-type/changes/composite-type.create.d.ts +2 -1
- package/dist/core/objects/type/composite-type/changes/composite-type.create.js +1 -1
- package/dist/core/objects/type/composite-type/changes/composite-type.drop.d.ts +2 -1
- package/dist/core/objects/type/composite-type/changes/composite-type.drop.js +1 -1
- package/dist/core/objects/type/composite-type/changes/composite-type.privilege.d.ts +4 -3
- package/dist/core/objects/type/composite-type/changes/composite-type.privilege.js +3 -3
- package/dist/core/objects/type/composite-type/changes/composite-type.types.d.ts +1 -0
- package/dist/core/objects/type/enum/changes/enum.alter.d.ts +3 -2
- package/dist/core/objects/type/enum/changes/enum.alter.js +2 -2
- package/dist/core/objects/type/enum/changes/enum.comment.d.ts +3 -2
- package/dist/core/objects/type/enum/changes/enum.comment.js +2 -2
- package/dist/core/objects/type/enum/changes/enum.create.d.ts +2 -1
- package/dist/core/objects/type/enum/changes/enum.create.js +1 -1
- package/dist/core/objects/type/enum/changes/enum.drop.d.ts +2 -1
- package/dist/core/objects/type/enum/changes/enum.drop.js +1 -1
- package/dist/core/objects/type/enum/changes/enum.privilege.d.ts +4 -3
- package/dist/core/objects/type/enum/changes/enum.privilege.js +3 -3
- package/dist/core/objects/type/enum/changes/enum.types.d.ts +1 -0
- package/dist/core/objects/type/range/changes/range.alter.d.ts +2 -1
- package/dist/core/objects/type/range/changes/range.alter.js +1 -1
- package/dist/core/objects/type/range/changes/range.comment.d.ts +3 -2
- package/dist/core/objects/type/range/changes/range.comment.js +2 -2
- package/dist/core/objects/type/range/changes/range.create.d.ts +2 -1
- package/dist/core/objects/type/range/changes/range.create.js +1 -1
- package/dist/core/objects/type/range/changes/range.drop.d.ts +2 -1
- package/dist/core/objects/type/range/changes/range.drop.js +1 -1
- package/dist/core/objects/type/range/changes/range.privilege.d.ts +4 -3
- package/dist/core/objects/type/range/changes/range.privilege.js +3 -3
- package/dist/core/objects/type/range/changes/range.types.d.ts +1 -0
- package/dist/core/objects/type/type.types.d.ts +1 -0
- package/dist/core/objects/view/changes/view.alter.d.ts +4 -3
- package/dist/core/objects/view/changes/view.alter.js +3 -3
- package/dist/core/objects/view/changes/view.comment.d.ts +3 -2
- package/dist/core/objects/view/changes/view.comment.js +2 -2
- package/dist/core/objects/view/changes/view.create.d.ts +2 -1
- package/dist/core/objects/view/changes/view.create.js +1 -1
- package/dist/core/objects/view/changes/view.drop.d.ts +2 -1
- package/dist/core/objects/view/changes/view.drop.js +1 -1
- package/dist/core/objects/view/changes/view.privilege.d.ts +4 -3
- package/dist/core/objects/view/changes/view.privilege.js +3 -3
- package/dist/core/objects/view/changes/view.types.d.ts +1 -0
- package/dist/core/objects/view/view.diff.js +24 -13
- package/dist/core/postgres-config.d.ts +2 -2
- package/dist/core/sort/custom-constraints.js +65 -1
- package/dist/core/sort/logical-sort.js +3 -24
- package/package.json +5 -1
- package/src/cli/commands/declarative-export.ts +19 -27
- package/src/cli/commands/plan.ts +14 -20
- package/src/cli/commands/sync.ts +8 -15
- package/src/cli/utils/integrations.test.ts +210 -3
- package/src/cli/utils/integrations.ts +134 -6
- package/src/core/catalog.snapshot.test.ts +11 -2
- package/src/core/change-utils.test.ts +61 -0
- package/src/core/change-utils.ts +73 -0
- package/src/core/change.types.ts +50 -0
- package/src/core/depend.ts +25 -0
- package/src/core/expand-replace-dependencies.test.ts +126 -1
- package/src/core/expand-replace-dependencies.ts +50 -0
- package/src/core/export/file-mapper.ts +7 -2
- package/src/core/integrations/filter/dsl.test.ts +299 -60
- package/src/core/integrations/filter/dsl.ts +208 -169
- package/src/core/integrations/filter/flatten.test.ts +282 -0
- package/src/core/integrations/filter/flatten.ts +150 -0
- package/src/core/integrations/integration-dsl.ts +17 -1
- package/src/core/integrations/merge.test.ts +128 -0
- package/src/core/integrations/merge.ts +72 -0
- package/src/core/integrations/serialize/dsl.test.ts +26 -7
- package/src/core/integrations/serialize/dsl.ts +8 -14
- package/src/core/integrations/serialize/serialize.types.ts +37 -0
- package/src/core/integrations/supabase.ts +42 -8
- package/src/core/objects/aggregate/changes/aggregate.alter.ts +2 -1
- package/src/core/objects/aggregate/changes/aggregate.comment.ts +3 -2
- package/src/core/objects/aggregate/changes/aggregate.create.ts +2 -1
- package/src/core/objects/aggregate/changes/aggregate.drop.ts +2 -1
- package/src/core/objects/aggregate/changes/aggregate.privilege.ts +4 -3
- package/src/core/objects/aggregate/changes/aggregate.types.ts +1 -0
- package/src/core/objects/base.change.ts +13 -1
- package/src/core/objects/base.model.test.ts +43 -0
- package/src/core/objects/base.model.ts +5 -2
- package/src/core/objects/collation/changes/collation.alter.ts +3 -2
- package/src/core/objects/collation/changes/collation.comment.ts +3 -2
- package/src/core/objects/collation/changes/collation.create.ts +2 -1
- package/src/core/objects/collation/changes/collation.drop.ts +2 -1
- package/src/core/objects/collation/changes/collation.types.ts +1 -0
- package/src/core/objects/domain/changes/domain.alter.ts +9 -8
- package/src/core/objects/domain/changes/domain.comment.ts +3 -2
- package/src/core/objects/domain/changes/domain.create.ts +19 -2
- package/src/core/objects/domain/changes/domain.drop.ts +2 -1
- package/src/core/objects/domain/changes/domain.privilege.ts +4 -3
- package/src/core/objects/domain/changes/domain.types.ts +1 -0
- package/src/core/objects/event-trigger/changes/event-trigger.alter.ts +3 -2
- package/src/core/objects/event-trigger/changes/event-trigger.comment.ts +3 -2
- package/src/core/objects/event-trigger/changes/event-trigger.create.ts +2 -1
- package/src/core/objects/event-trigger/changes/event-trigger.drop.ts +2 -1
- package/src/core/objects/event-trigger/changes/event-trigger.types.ts +1 -0
- package/src/core/objects/extension/changes/extension.alter.ts +3 -2
- package/src/core/objects/extension/changes/extension.comment.ts +3 -2
- package/src/core/objects/extension/changes/extension.create.test.ts +22 -0
- package/src/core/objects/extension/changes/extension.create.ts +5 -2
- package/src/core/objects/extension/changes/extension.drop.ts +2 -1
- package/src/core/objects/extension/changes/extension.types.ts +1 -0
- package/src/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.alter.ts +3 -2
- package/src/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.comment.ts +3 -2
- package/src/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.create.ts +2 -1
- package/src/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.drop.ts +2 -1
- package/src/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.privilege.ts +4 -3
- package/src/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.types.ts +1 -0
- package/src/core/objects/foreign-data-wrapper/foreign-data-wrapper.types.ts +1 -0
- package/src/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.alter.ts +10 -9
- package/src/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.comment.ts +3 -2
- package/src/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.create.ts +2 -1
- package/src/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.drop.ts +2 -1
- package/src/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.privilege.ts +4 -3
- package/src/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.types.ts +1 -0
- package/src/core/objects/foreign-data-wrapper/server/changes/server.alter.ts +4 -3
- package/src/core/objects/foreign-data-wrapper/server/changes/server.comment.ts +3 -2
- package/src/core/objects/foreign-data-wrapper/server/changes/server.create.ts +2 -1
- package/src/core/objects/foreign-data-wrapper/server/changes/server.drop.ts +2 -1
- package/src/core/objects/foreign-data-wrapper/server/changes/server.privilege.ts +4 -3
- package/src/core/objects/foreign-data-wrapper/server/changes/server.types.ts +1 -0
- package/src/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.alter.ts +2 -1
- package/src/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.create.ts +2 -1
- package/src/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.drop.ts +2 -1
- package/src/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.types.ts +1 -0
- package/src/core/objects/index/changes/index.alter.ts +4 -3
- package/src/core/objects/index/changes/index.comment.ts +3 -2
- package/src/core/objects/index/changes/index.create.ts +2 -1
- package/src/core/objects/index/changes/index.drop.ts +2 -1
- package/src/core/objects/index/changes/index.types.ts +1 -0
- package/src/core/objects/language/changes/language.alter.ts +2 -1
- package/src/core/objects/language/changes/language.comment.ts +3 -2
- package/src/core/objects/language/changes/language.create.ts +2 -1
- package/src/core/objects/language/changes/language.drop.ts +2 -1
- package/src/core/objects/language/changes/language.privilege.ts +4 -3
- package/src/core/objects/language/changes/language.types.ts +1 -0
- package/src/core/objects/materialized-view/changes/materialized-view.alter.ts +3 -2
- package/src/core/objects/materialized-view/changes/materialized-view.comment.ts +5 -4
- package/src/core/objects/materialized-view/changes/materialized-view.create.ts +2 -1
- package/src/core/objects/materialized-view/changes/materialized-view.drop.ts +2 -1
- package/src/core/objects/materialized-view/changes/materialized-view.privilege.ts +4 -3
- package/src/core/objects/materialized-view/changes/materialized-view.types.ts +1 -0
- package/src/core/objects/procedure/changes/procedure.alter.ts +8 -7
- package/src/core/objects/procedure/changes/procedure.comment.ts +3 -2
- package/src/core/objects/procedure/changes/procedure.create.ts +2 -1
- package/src/core/objects/procedure/changes/procedure.drop.ts +2 -1
- package/src/core/objects/procedure/changes/procedure.privilege.ts +4 -3
- package/src/core/objects/procedure/changes/procedure.types.ts +1 -0
- package/src/core/objects/publication/changes/publication.alter.test.ts +4 -0
- package/src/core/objects/publication/changes/publication.alter.ts +14 -7
- package/src/core/objects/publication/changes/publication.comment.ts +3 -2
- package/src/core/objects/publication/changes/publication.create.ts +2 -1
- package/src/core/objects/publication/changes/publication.drop.ts +2 -1
- package/src/core/objects/publication/changes/publication.types.ts +1 -0
- package/src/core/objects/rls-policy/changes/rls-policy.alter.ts +4 -3
- package/src/core/objects/rls-policy/changes/rls-policy.comment.ts +3 -2
- package/src/core/objects/rls-policy/changes/rls-policy.create.ts +2 -1
- package/src/core/objects/rls-policy/changes/rls-policy.drop.ts +2 -1
- package/src/core/objects/rls-policy/changes/rls-policy.types.ts +1 -0
- package/src/core/objects/role/changes/role.alter.ts +3 -2
- package/src/core/objects/role/changes/role.comment.ts +3 -2
- package/src/core/objects/role/changes/role.create.ts +2 -1
- package/src/core/objects/role/changes/role.drop.ts +2 -1
- package/src/core/objects/role/changes/role.privilege.ts +6 -5
- package/src/core/objects/role/changes/role.types.ts +1 -0
- package/src/core/objects/rule/changes/rule.alter.ts +3 -2
- package/src/core/objects/rule/changes/rule.comment.ts +3 -2
- package/src/core/objects/rule/changes/rule.create.ts +2 -1
- package/src/core/objects/rule/changes/rule.drop.ts +2 -1
- package/src/core/objects/rule/changes/rule.types.ts +1 -0
- package/src/core/objects/schema/changes/schema.alter.ts +2 -1
- package/src/core/objects/schema/changes/schema.comment.ts +3 -2
- package/src/core/objects/schema/changes/schema.create.ts +3 -3
- package/src/core/objects/schema/changes/schema.drop.ts +2 -1
- package/src/core/objects/schema/changes/schema.privilege.ts +4 -3
- package/src/core/objects/schema/changes/schema.types.ts +1 -0
- package/src/core/objects/sequence/changes/sequence.alter.ts +3 -2
- package/src/core/objects/sequence/changes/sequence.comment.ts +3 -2
- package/src/core/objects/sequence/changes/sequence.create.ts +2 -1
- package/src/core/objects/sequence/changes/sequence.drop.ts +16 -3
- package/src/core/objects/sequence/changes/sequence.privilege.ts +4 -3
- package/src/core/objects/sequence/changes/sequence.types.ts +1 -0
- package/src/core/objects/sequence/sequence.diff.test.ts +73 -1
- package/src/core/objects/sequence/sequence.diff.ts +24 -2
- package/src/core/objects/subscription/changes/subscription.alter.ts +7 -6
- package/src/core/objects/subscription/changes/subscription.comment.ts +3 -2
- package/src/core/objects/subscription/changes/subscription.create.ts +2 -1
- package/src/core/objects/subscription/changes/subscription.drop.ts +2 -1
- package/src/core/objects/subscription/changes/subscription.types.ts +1 -0
- package/src/core/objects/table/changes/table.alter.test.ts +38 -0
- package/src/core/objects/table/changes/table.alter.ts +123 -22
- package/src/core/objects/table/changes/table.comment.ts +7 -6
- package/src/core/objects/table/changes/table.create.ts +2 -1
- package/src/core/objects/table/changes/table.drop.ts +20 -1
- package/src/core/objects/table/changes/table.privilege.ts +4 -3
- package/src/core/objects/table/changes/table.types.ts +1 -0
- package/src/core/objects/table/table.diff.test.ts +121 -0
- package/src/core/objects/table/table.diff.ts +64 -1
- package/src/core/objects/trigger/changes/trigger.alter.ts +2 -1
- package/src/core/objects/trigger/changes/trigger.comment.ts +3 -2
- package/src/core/objects/trigger/changes/trigger.create.ts +2 -1
- package/src/core/objects/trigger/changes/trigger.drop.ts +2 -1
- package/src/core/objects/trigger/changes/trigger.types.ts +1 -0
- package/src/core/objects/type/composite-type/changes/composite-type.alter.ts +5 -4
- package/src/core/objects/type/composite-type/changes/composite-type.comment.ts +5 -4
- package/src/core/objects/type/composite-type/changes/composite-type.create.ts +2 -1
- package/src/core/objects/type/composite-type/changes/composite-type.drop.ts +2 -1
- package/src/core/objects/type/composite-type/changes/composite-type.privilege.ts +4 -3
- package/src/core/objects/type/composite-type/changes/composite-type.types.ts +1 -0
- package/src/core/objects/type/enum/changes/enum.alter.ts +3 -2
- package/src/core/objects/type/enum/changes/enum.comment.ts +3 -2
- package/src/core/objects/type/enum/changes/enum.create.ts +2 -1
- package/src/core/objects/type/enum/changes/enum.drop.ts +2 -1
- package/src/core/objects/type/enum/changes/enum.privilege.ts +4 -3
- package/src/core/objects/type/enum/changes/enum.types.ts +1 -0
- package/src/core/objects/type/range/changes/range.alter.ts +2 -1
- package/src/core/objects/type/range/changes/range.comment.ts +3 -2
- package/src/core/objects/type/range/changes/range.create.ts +2 -1
- package/src/core/objects/type/range/changes/range.drop.ts +2 -1
- package/src/core/objects/type/range/changes/range.privilege.ts +4 -3
- package/src/core/objects/type/range/changes/range.types.ts +1 -0
- package/src/core/objects/type/type.types.ts +1 -0
- package/src/core/objects/view/changes/view.alter.ts +4 -3
- package/src/core/objects/view/changes/view.comment.ts +3 -2
- package/src/core/objects/view/changes/view.create.ts +2 -1
- package/src/core/objects/view/changes/view.drop.ts +2 -1
- package/src/core/objects/view/changes/view.privilege.ts +4 -3
- package/src/core/objects/view/changes/view.types.ts +1 -0
- package/src/core/objects/view/view.diff.test.ts +96 -0
- package/src/core/objects/view/view.diff.ts +30 -15
- package/src/core/plan/sql-format/format-off.test.ts +1 -1
- package/src/core/plan/sql-format/format-pretty-lower-leading.test.ts +1 -1
- package/src/core/plan/sql-format/format-pretty-narrow.test.ts +1 -1
- package/src/core/plan/sql-format/format-pretty-preserve.test.ts +1 -1
- package/src/core/plan/sql-format/format-pretty-upper.test.ts +1 -1
- package/src/core/postgres-config.ts +2 -2
- package/src/core/sort/custom-constraints.ts +75 -1
- package/src/core/sort/logical-sort.ts +3 -27
- package/src/typedoc.ts +253 -0
- package/dist/core/integrations/filter/extractors.d.ts +0 -12
- package/dist/core/integrations/filter/extractors.js +0 -178
- package/src/core/integrations/filter/extractors.test.ts +0 -244
- package/src/core/integrations/filter/extractors.ts +0 -187
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import {
|
|
2
3
|
isUserDefinedTypeSchema,
|
|
3
4
|
parseTypeString,
|
|
@@ -34,7 +35,23 @@ export class CreateDomain extends CreateDomainChange {
|
|
|
34
35
|
}
|
|
35
36
|
|
|
36
37
|
get creates() {
|
|
37
|
-
|
|
38
|
+
const creates: Array<
|
|
39
|
+
`domain:${string}` | `constraint:${string}.${string}.${string}`
|
|
40
|
+
> = [this.domain.stableId];
|
|
41
|
+
|
|
42
|
+
for (const constraint of this.domain.constraints) {
|
|
43
|
+
if (constraint.check_expression && constraint.validated) {
|
|
44
|
+
creates.push(
|
|
45
|
+
stableId.constraint(
|
|
46
|
+
this.domain.schema,
|
|
47
|
+
this.domain.name,
|
|
48
|
+
constraint.name,
|
|
49
|
+
),
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
return creates;
|
|
38
55
|
}
|
|
39
56
|
|
|
40
57
|
get requires() {
|
|
@@ -71,7 +88,7 @@ export class CreateDomain extends CreateDomainChange {
|
|
|
71
88
|
return Array.from(dependencies);
|
|
72
89
|
}
|
|
73
90
|
|
|
74
|
-
serialize(): string {
|
|
91
|
+
serialize(_options?: SerializeOptions): string {
|
|
75
92
|
const parts: string[] = [];
|
|
76
93
|
|
|
77
94
|
// Schema-qualified name
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Domain } from "../domain.model.ts";
|
|
2
3
|
import { DropDomainChange } from "./domain.base.ts";
|
|
3
4
|
|
|
@@ -28,7 +29,7 @@ export class DropDomain extends DropDomainChange {
|
|
|
28
29
|
return [this.domain.stableId];
|
|
29
30
|
}
|
|
30
31
|
|
|
31
|
-
serialize(): string {
|
|
32
|
+
serialize(_options?: SerializeOptions): string {
|
|
32
33
|
return `DROP DOMAIN ${this.domain.schema}.${this.domain.name}`;
|
|
33
34
|
}
|
|
34
35
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import {
|
|
2
3
|
formatObjectPrivilegeList,
|
|
3
4
|
getObjectKindPrefix,
|
|
@@ -52,7 +53,7 @@ export class GrantDomainPrivileges extends AlterDomainChange {
|
|
|
52
53
|
return [this.domain.stableId, stableId.role(this.grantee)];
|
|
53
54
|
}
|
|
54
55
|
|
|
55
|
-
serialize(): string {
|
|
56
|
+
serialize(_options?: SerializeOptions): string {
|
|
56
57
|
const hasGrantable = this.privileges.some((p) => p.grantable);
|
|
57
58
|
const hasBase = this.privileges.some((p) => !p.grantable);
|
|
58
59
|
if (hasGrantable && hasBase) {
|
|
@@ -114,7 +115,7 @@ export class RevokeDomainPrivileges extends AlterDomainChange {
|
|
|
114
115
|
return [this.domain.stableId, stableId.role(this.grantee)];
|
|
115
116
|
}
|
|
116
117
|
|
|
117
|
-
serialize(): string {
|
|
118
|
+
serialize(_options?: SerializeOptions): string {
|
|
118
119
|
const kindPrefix = getObjectKindPrefix("DOMAIN");
|
|
119
120
|
const list = this.privileges.map((p) => p.privilege);
|
|
120
121
|
const privSql = formatObjectPrivilegeList("DOMAIN", list, this.version);
|
|
@@ -158,7 +159,7 @@ export class RevokeGrantOptionDomainPrivileges extends AlterDomainChange {
|
|
|
158
159
|
];
|
|
159
160
|
}
|
|
160
161
|
|
|
161
|
-
serialize(): string {
|
|
162
|
+
serialize(_options?: SerializeOptions): string {
|
|
162
163
|
const kindPrefix = getObjectKindPrefix("DOMAIN");
|
|
163
164
|
const privSql = formatObjectPrivilegeList(
|
|
164
165
|
"DOMAIN",
|
|
@@ -4,6 +4,7 @@ import type { CreateDomain } from "./domain.create.ts";
|
|
|
4
4
|
import type { DropDomain } from "./domain.drop.ts";
|
|
5
5
|
import type { DomainPrivilege } from "./domain.privilege.ts";
|
|
6
6
|
|
|
7
|
+
/** Union of all domain-related change variants (`objectType: "domain"`). @category Change Types */
|
|
7
8
|
export type DomainChange =
|
|
8
9
|
| AlterDomain
|
|
9
10
|
| CommentDomain
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { EventTrigger } from "../event-trigger.model.ts";
|
|
2
3
|
import { AlterEventTriggerChange } from "./event-trigger.base.ts";
|
|
3
4
|
|
|
@@ -37,7 +38,7 @@ export class AlterEventTriggerChangeOwner extends AlterEventTriggerChange {
|
|
|
37
38
|
return [this.eventTrigger.stableId];
|
|
38
39
|
}
|
|
39
40
|
|
|
40
|
-
serialize(): string {
|
|
41
|
+
serialize(_options?: SerializeOptions): string {
|
|
41
42
|
return [
|
|
42
43
|
"ALTER EVENT TRIGGER",
|
|
43
44
|
this.eventTrigger.name,
|
|
@@ -75,7 +76,7 @@ export class AlterEventTriggerSetEnabled extends AlterEventTriggerChange {
|
|
|
75
76
|
return [this.eventTrigger.stableId];
|
|
76
77
|
}
|
|
77
78
|
|
|
78
|
-
serialize(): string {
|
|
79
|
+
serialize(_options?: SerializeOptions): string {
|
|
79
80
|
const clause = ENABLED_SQL[this.enabled];
|
|
80
81
|
return ["ALTER EVENT TRIGGER", this.eventTrigger.name, clause].join(" ");
|
|
81
82
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import { quoteLiteral } from "../../base.change.ts";
|
|
2
3
|
import { stableId } from "../../utils.ts";
|
|
3
4
|
import type { EventTrigger } from "../event-trigger.model.ts";
|
|
@@ -27,7 +28,7 @@ export class CreateCommentOnEventTrigger extends CreateEventTriggerChange {
|
|
|
27
28
|
return [this.eventTrigger.stableId];
|
|
28
29
|
}
|
|
29
30
|
|
|
30
|
-
serialize(): string {
|
|
31
|
+
serialize(_options?: SerializeOptions): string {
|
|
31
32
|
return [
|
|
32
33
|
"COMMENT ON EVENT TRIGGER",
|
|
33
34
|
this.eventTrigger.name,
|
|
@@ -58,7 +59,7 @@ export class DropCommentOnEventTrigger extends DropEventTriggerChange {
|
|
|
58
59
|
];
|
|
59
60
|
}
|
|
60
61
|
|
|
61
|
-
serialize(): string {
|
|
62
|
+
serialize(_options?: SerializeOptions): string {
|
|
62
63
|
return ["COMMENT ON EVENT TRIGGER", this.eventTrigger.name, "IS NULL"].join(
|
|
63
64
|
" ",
|
|
64
65
|
);
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import { quoteLiteral } from "../../base.change.ts";
|
|
2
3
|
import { parseProcedureReference, stableId } from "../../utils.ts";
|
|
3
4
|
import type { EventTrigger } from "../event-trigger.model.ts";
|
|
@@ -48,7 +49,7 @@ export class CreateEventTrigger extends CreateEventTriggerChange {
|
|
|
48
49
|
return Array.from(dependencies);
|
|
49
50
|
}
|
|
50
51
|
|
|
51
|
-
serialize(): string {
|
|
52
|
+
serialize(_options?: SerializeOptions): string {
|
|
52
53
|
const parts: string[] = [
|
|
53
54
|
"CREATE EVENT TRIGGER",
|
|
54
55
|
this.eventTrigger.name,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { EventTrigger } from "../event-trigger.model.ts";
|
|
2
3
|
import { DropEventTriggerChange } from "./event-trigger.base.ts";
|
|
3
4
|
|
|
@@ -28,7 +29,7 @@ export class DropEventTrigger extends DropEventTriggerChange {
|
|
|
28
29
|
return [this.eventTrigger.stableId];
|
|
29
30
|
}
|
|
30
31
|
|
|
31
|
-
serialize(): string {
|
|
32
|
+
serialize(_options?: SerializeOptions): string {
|
|
32
33
|
return ["DROP EVENT TRIGGER", this.eventTrigger.name].join(" ");
|
|
33
34
|
}
|
|
34
35
|
}
|
|
@@ -3,6 +3,7 @@ import type { CommentEventTrigger } from "./event-trigger.comment.ts";
|
|
|
3
3
|
import type { CreateEventTrigger } from "./event-trigger.create.ts";
|
|
4
4
|
import type { DropEventTrigger } from "./event-trigger.drop.ts";
|
|
5
5
|
|
|
6
|
+
/** Union of all event-trigger-related change variants (`objectType: "event_trigger"`). @category Change Types */
|
|
6
7
|
export type EventTriggerChange =
|
|
7
8
|
| AlterEventTrigger
|
|
8
9
|
| CommentEventTrigger
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import { quoteLiteral } from "../../base.change.ts";
|
|
2
3
|
import { stableId } from "../../utils.ts";
|
|
3
4
|
import type { Extension } from "../extension.model.ts";
|
|
@@ -39,7 +40,7 @@ export class AlterExtensionUpdateVersion extends AlterExtensionChange {
|
|
|
39
40
|
return [this.extension.stableId];
|
|
40
41
|
}
|
|
41
42
|
|
|
42
|
-
serialize(): string {
|
|
43
|
+
serialize(_options?: SerializeOptions): string {
|
|
43
44
|
return [
|
|
44
45
|
"ALTER EXTENSION",
|
|
45
46
|
this.extension.name,
|
|
@@ -67,7 +68,7 @@ export class AlterExtensionSetSchema extends AlterExtensionChange {
|
|
|
67
68
|
return [this.extension.stableId, stableId.schema(this.schema)];
|
|
68
69
|
}
|
|
69
70
|
|
|
70
|
-
serialize(): string {
|
|
71
|
+
serialize(_options?: SerializeOptions): string {
|
|
71
72
|
return [
|
|
72
73
|
"ALTER EXTENSION",
|
|
73
74
|
this.extension.name,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import { quoteLiteral } from "../../base.change.ts";
|
|
2
3
|
import { stableId } from "../../utils.ts";
|
|
3
4
|
import type { Extension } from "../extension.model.ts";
|
|
@@ -30,7 +31,7 @@ export class CreateCommentOnExtension extends CreateExtensionChange {
|
|
|
30
31
|
return [this.extension.stableId];
|
|
31
32
|
}
|
|
32
33
|
|
|
33
|
-
serialize(): string {
|
|
34
|
+
serialize(_options?: SerializeOptions): string {
|
|
34
35
|
return [
|
|
35
36
|
"COMMENT ON EXTENSION",
|
|
36
37
|
this.extension.name,
|
|
@@ -58,7 +59,7 @@ export class DropCommentOnExtension extends DropExtensionChange {
|
|
|
58
59
|
return [stableId.comment(this.extension.stableId), this.extension.stableId];
|
|
59
60
|
}
|
|
60
61
|
|
|
61
|
-
serialize(): string {
|
|
62
|
+
serialize(_options?: SerializeOptions): string {
|
|
62
63
|
return ["COMMENT ON EXTENSION", this.extension.name, "IS NULL"].join(" ");
|
|
63
64
|
}
|
|
64
65
|
}
|
|
@@ -25,4 +25,26 @@ describe("extension", () => {
|
|
|
25
25
|
`CREATE EXTENSION test_extension WITH SCHEMA public`,
|
|
26
26
|
);
|
|
27
27
|
});
|
|
28
|
+
|
|
29
|
+
test("create with skipSchema omits WITH SCHEMA", async () => {
|
|
30
|
+
const extension = new Extension({
|
|
31
|
+
name: "test_extension",
|
|
32
|
+
schema: "public",
|
|
33
|
+
relocatable: true,
|
|
34
|
+
version: "1.0",
|
|
35
|
+
owner: "test",
|
|
36
|
+
comment: null,
|
|
37
|
+
members: [],
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
const change = new CreateExtension({
|
|
41
|
+
extension,
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
await assertValidSql(change.serialize({ skipSchema: true }));
|
|
45
|
+
|
|
46
|
+
expect(change.serialize({ skipSchema: true })).toBe(
|
|
47
|
+
`CREATE EXTENSION test_extension`,
|
|
48
|
+
);
|
|
49
|
+
});
|
|
28
50
|
});
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ExtensionSerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import { stableId } from "../../utils.ts";
|
|
2
3
|
import type { Extension } from "../extension.model.ts";
|
|
3
4
|
import { CreateExtensionChange } from "./extension.base.ts";
|
|
@@ -40,14 +41,16 @@ export class CreateExtension extends CreateExtensionChange {
|
|
|
40
41
|
return Array.from(dependencies);
|
|
41
42
|
}
|
|
42
43
|
|
|
43
|
-
serialize(): string {
|
|
44
|
+
serialize(options?: ExtensionSerializeOptions): string {
|
|
44
45
|
const parts: string[] = ["CREATE EXTENSION"];
|
|
45
46
|
|
|
46
47
|
// Add extension name
|
|
47
48
|
parts.push(this.extension.name);
|
|
48
49
|
|
|
49
50
|
// Add schema
|
|
50
|
-
|
|
51
|
+
if (!options?.skipSchema) {
|
|
52
|
+
parts.push("WITH SCHEMA", this.extension.schema);
|
|
53
|
+
}
|
|
51
54
|
|
|
52
55
|
// Add version
|
|
53
56
|
// TODO: Omit version for now as versions can differ between main and branch
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Extension } from "../extension.model.ts";
|
|
2
3
|
import { DropExtensionChange } from "./extension.base.ts";
|
|
3
4
|
|
|
@@ -28,7 +29,7 @@ export class DropExtension extends DropExtensionChange {
|
|
|
28
29
|
return [this.extension.stableId, ...this.extension.members];
|
|
29
30
|
}
|
|
30
31
|
|
|
31
|
-
serialize(): string {
|
|
32
|
+
serialize(_options?: SerializeOptions): string {
|
|
32
33
|
return ["DROP EXTENSION", this.extension.name].join(" ");
|
|
33
34
|
}
|
|
34
35
|
}
|
|
@@ -3,6 +3,7 @@ import type { CommentExtension } from "./extension.comment.ts";
|
|
|
3
3
|
import type { CreateExtension } from "./extension.create.ts";
|
|
4
4
|
import type { DropExtension } from "./extension.drop.ts";
|
|
5
5
|
|
|
6
|
+
/** Union of all extension-related change variants (`objectType: "extension"`). @category Change Types */
|
|
6
7
|
export type ExtensionChange =
|
|
7
8
|
| AlterExtension
|
|
8
9
|
| CommentExtension
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import { quoteLiteral } from "../../../base.change.ts";
|
|
2
3
|
import { stableId } from "../../../utils.ts";
|
|
3
4
|
import type { ForeignDataWrapper } from "../foreign-data-wrapper.model.ts";
|
|
@@ -41,7 +42,7 @@ export class AlterForeignDataWrapperChangeOwner extends AlterForeignDataWrapperC
|
|
|
41
42
|
return [this.foreignDataWrapper.stableId, stableId.role(this.owner)];
|
|
42
43
|
}
|
|
43
44
|
|
|
44
|
-
serialize(): string {
|
|
45
|
+
serialize(_options?: SerializeOptions): string {
|
|
45
46
|
return [
|
|
46
47
|
"ALTER FOREIGN DATA WRAPPER",
|
|
47
48
|
this.foreignDataWrapper.name,
|
|
@@ -80,7 +81,7 @@ export class AlterForeignDataWrapperSetOptions extends AlterForeignDataWrapperCh
|
|
|
80
81
|
return [this.foreignDataWrapper.stableId];
|
|
81
82
|
}
|
|
82
83
|
|
|
83
|
-
serialize(): string {
|
|
84
|
+
serialize(_options?: SerializeOptions): string {
|
|
84
85
|
const optionParts: string[] = [];
|
|
85
86
|
for (const opt of this.options) {
|
|
86
87
|
if (opt.action === "DROP") {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import { quoteLiteral } from "../../../base.change.ts";
|
|
2
3
|
import { stableId } from "../../../utils.ts";
|
|
3
4
|
import type { ForeignDataWrapper } from "../foreign-data-wrapper.model.ts";
|
|
@@ -31,7 +32,7 @@ export class CreateCommentOnForeignDataWrapper extends CreateForeignDataWrapperC
|
|
|
31
32
|
return [this.foreignDataWrapper.stableId];
|
|
32
33
|
}
|
|
33
34
|
|
|
34
|
-
serialize(): string {
|
|
35
|
+
serialize(_options?: SerializeOptions): string {
|
|
35
36
|
return [
|
|
36
37
|
"COMMENT ON FOREIGN DATA WRAPPER",
|
|
37
38
|
this.foreignDataWrapper.name,
|
|
@@ -62,7 +63,7 @@ export class DropCommentOnForeignDataWrapper extends DropForeignDataWrapperChang
|
|
|
62
63
|
];
|
|
63
64
|
}
|
|
64
65
|
|
|
65
|
-
serialize(): string {
|
|
66
|
+
serialize(_options?: SerializeOptions): string {
|
|
66
67
|
return [
|
|
67
68
|
"COMMENT ON FOREIGN DATA WRAPPER",
|
|
68
69
|
this.foreignDataWrapper.name,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import { quoteLiteral } from "../../../base.change.ts";
|
|
2
3
|
import { stableId } from "../../../utils.ts";
|
|
3
4
|
import type { ForeignDataWrapper } from "../foreign-data-wrapper.model.ts";
|
|
@@ -52,7 +53,7 @@ export class CreateForeignDataWrapper extends CreateForeignDataWrapperChange {
|
|
|
52
53
|
return Array.from(dependencies);
|
|
53
54
|
}
|
|
54
55
|
|
|
55
|
-
serialize(): string {
|
|
56
|
+
serialize(_options?: SerializeOptions): string {
|
|
56
57
|
const parts: string[] = ["CREATE FOREIGN DATA WRAPPER"];
|
|
57
58
|
|
|
58
59
|
// Add FDW name
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { ForeignDataWrapper } from "../foreign-data-wrapper.model.ts";
|
|
2
3
|
import { DropForeignDataWrapperChange } from "./foreign-data-wrapper.base.ts";
|
|
3
4
|
|
|
@@ -28,7 +29,7 @@ export class DropForeignDataWrapper extends DropForeignDataWrapperChange {
|
|
|
28
29
|
return [this.foreignDataWrapper.stableId];
|
|
29
30
|
}
|
|
30
31
|
|
|
31
|
-
serialize(): string {
|
|
32
|
+
serialize(_options?: SerializeOptions): string {
|
|
32
33
|
return ["DROP FOREIGN DATA WRAPPER", this.foreignDataWrapper.name].join(
|
|
33
34
|
" ",
|
|
34
35
|
);
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import { formatObjectPrivilegeList } from "../../../base.privilege.ts";
|
|
2
3
|
import { stableId } from "../../../utils.ts";
|
|
3
4
|
import type { ForeignDataWrapper } from "../foreign-data-wrapper.model.ts";
|
|
@@ -49,7 +50,7 @@ export class GrantForeignDataWrapperPrivileges extends AlterForeignDataWrapperCh
|
|
|
49
50
|
return [this.foreignDataWrapper.stableId, stableId.role(this.grantee)];
|
|
50
51
|
}
|
|
51
52
|
|
|
52
|
-
serialize(): string {
|
|
53
|
+
serialize(_options?: SerializeOptions): string {
|
|
53
54
|
const hasGrantable = this.privileges.some((p) => p.grantable);
|
|
54
55
|
const hasBase = this.privileges.some((p) => !p.grantable);
|
|
55
56
|
if (hasGrantable && hasBase) {
|
|
@@ -115,7 +116,7 @@ export class RevokeForeignDataWrapperPrivileges extends AlterForeignDataWrapperC
|
|
|
115
116
|
];
|
|
116
117
|
}
|
|
117
118
|
|
|
118
|
-
serialize(): string {
|
|
119
|
+
serialize(_options?: SerializeOptions): string {
|
|
119
120
|
const list = this.privileges.map((p) => p.privilege);
|
|
120
121
|
const privSql = formatObjectPrivilegeList(
|
|
121
122
|
"FOREIGN DATA WRAPPER",
|
|
@@ -161,7 +162,7 @@ export class RevokeGrantOptionForeignDataWrapperPrivileges extends AlterForeignD
|
|
|
161
162
|
];
|
|
162
163
|
}
|
|
163
164
|
|
|
164
|
-
serialize(): string {
|
|
165
|
+
serialize(_options?: SerializeOptions): string {
|
|
165
166
|
const privSql = formatObjectPrivilegeList(
|
|
166
167
|
"FOREIGN DATA WRAPPER",
|
|
167
168
|
this.privilegeNames,
|
|
@@ -4,6 +4,7 @@ import type { CreateForeignDataWrapper } from "./foreign-data-wrapper.create.ts"
|
|
|
4
4
|
import type { DropForeignDataWrapper } from "./foreign-data-wrapper.drop.ts";
|
|
5
5
|
import type { ForeignDataWrapperPrivilege } from "./foreign-data-wrapper.privilege.ts";
|
|
6
6
|
|
|
7
|
+
/** Union of all FDW wrapper-level change variants (`objectType: "foreign_data_wrapper"`). @category Change Types */
|
|
7
8
|
export type ForeignDataWrapperChange =
|
|
8
9
|
| AlterForeignDataWrapper
|
|
9
10
|
| CommentForeignDataWrapper
|
|
@@ -3,6 +3,7 @@ import type { ForeignTableChange } from "./foreign-table/changes/foreign-table.t
|
|
|
3
3
|
import type { ServerChange } from "./server/changes/server.types.ts";
|
|
4
4
|
import type { UserMappingChange } from "./user-mapping/changes/user-mapping.types.ts";
|
|
5
5
|
|
|
6
|
+
/** Union of all foreign-data-wrapper-related change variants (`objectType: "foreign_data_wrapper" | "server" | "foreign_table" | "user_mapping"`). @category Change Types */
|
|
6
7
|
export type ForeignDataWrapperChange =
|
|
7
8
|
| FDWChange
|
|
8
9
|
| ServerChange
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import { quoteLiteral } from "../../../base.change.ts";
|
|
2
3
|
import type { ColumnProps } from "../../../base.model.ts";
|
|
3
4
|
import { stableId } from "../../../utils.ts";
|
|
@@ -55,7 +56,7 @@ export class AlterForeignTableChangeOwner extends AlterForeignTableChange {
|
|
|
55
56
|
return [this.foreignTable.stableId, stableId.role(this.owner)];
|
|
56
57
|
}
|
|
57
58
|
|
|
58
|
-
serialize(): string {
|
|
59
|
+
serialize(_options?: SerializeOptions): string {
|
|
59
60
|
return [
|
|
60
61
|
"ALTER FOREIGN TABLE",
|
|
61
62
|
`${this.foreignTable.schema}.${this.foreignTable.name}`,
|
|
@@ -83,7 +84,7 @@ export class AlterForeignTableAddColumn extends AlterForeignTableChange {
|
|
|
83
84
|
return [this.foreignTable.stableId];
|
|
84
85
|
}
|
|
85
86
|
|
|
86
|
-
serialize(): string {
|
|
87
|
+
serialize(_options?: SerializeOptions): string {
|
|
87
88
|
const parts = [
|
|
88
89
|
"ALTER FOREIGN TABLE",
|
|
89
90
|
`${this.foreignTable.schema}.${this.foreignTable.name}`,
|
|
@@ -122,7 +123,7 @@ export class AlterForeignTableDropColumn extends AlterForeignTableChange {
|
|
|
122
123
|
return [this.foreignTable.stableId];
|
|
123
124
|
}
|
|
124
125
|
|
|
125
|
-
serialize(): string {
|
|
126
|
+
serialize(_options?: SerializeOptions): string {
|
|
126
127
|
return [
|
|
127
128
|
"ALTER FOREIGN TABLE",
|
|
128
129
|
`${this.foreignTable.schema}.${this.foreignTable.name}`,
|
|
@@ -156,7 +157,7 @@ export class AlterForeignTableAlterColumnType extends AlterForeignTableChange {
|
|
|
156
157
|
return [this.foreignTable.stableId];
|
|
157
158
|
}
|
|
158
159
|
|
|
159
|
-
serialize(): string {
|
|
160
|
+
serialize(_options?: SerializeOptions): string {
|
|
160
161
|
return [
|
|
161
162
|
"ALTER FOREIGN TABLE",
|
|
162
163
|
`${this.foreignTable.schema}.${this.foreignTable.name}`,
|
|
@@ -192,7 +193,7 @@ export class AlterForeignTableAlterColumnSetDefault extends AlterForeignTableCha
|
|
|
192
193
|
return [this.foreignTable.stableId];
|
|
193
194
|
}
|
|
194
195
|
|
|
195
|
-
serialize(): string {
|
|
196
|
+
serialize(_options?: SerializeOptions): string {
|
|
196
197
|
return [
|
|
197
198
|
"ALTER FOREIGN TABLE",
|
|
198
199
|
`${this.foreignTable.schema}.${this.foreignTable.name}`,
|
|
@@ -222,7 +223,7 @@ export class AlterForeignTableAlterColumnDropDefault extends AlterForeignTableCh
|
|
|
222
223
|
return [this.foreignTable.stableId];
|
|
223
224
|
}
|
|
224
225
|
|
|
225
|
-
serialize(): string {
|
|
226
|
+
serialize(_options?: SerializeOptions): string {
|
|
226
227
|
return [
|
|
227
228
|
"ALTER FOREIGN TABLE",
|
|
228
229
|
`${this.foreignTable.schema}.${this.foreignTable.name}`,
|
|
@@ -251,7 +252,7 @@ export class AlterForeignTableAlterColumnSetNotNull extends AlterForeignTableCha
|
|
|
251
252
|
return [this.foreignTable.stableId];
|
|
252
253
|
}
|
|
253
254
|
|
|
254
|
-
serialize(): string {
|
|
255
|
+
serialize(_options?: SerializeOptions): string {
|
|
255
256
|
return [
|
|
256
257
|
"ALTER FOREIGN TABLE",
|
|
257
258
|
`${this.foreignTable.schema}.${this.foreignTable.name}`,
|
|
@@ -280,7 +281,7 @@ export class AlterForeignTableAlterColumnDropNotNull extends AlterForeignTableCh
|
|
|
280
281
|
return [this.foreignTable.stableId];
|
|
281
282
|
}
|
|
282
283
|
|
|
283
|
-
serialize(): string {
|
|
284
|
+
serialize(_options?: SerializeOptions): string {
|
|
284
285
|
return [
|
|
285
286
|
"ALTER FOREIGN TABLE",
|
|
286
287
|
`${this.foreignTable.schema}.${this.foreignTable.name}`,
|
|
@@ -320,7 +321,7 @@ export class AlterForeignTableSetOptions extends AlterForeignTableChange {
|
|
|
320
321
|
return [this.foreignTable.stableId];
|
|
321
322
|
}
|
|
322
323
|
|
|
323
|
-
serialize(): string {
|
|
324
|
+
serialize(_options?: SerializeOptions): string {
|
|
324
325
|
const optionParts: string[] = [];
|
|
325
326
|
for (const opt of this.options) {
|
|
326
327
|
if (opt.action === "DROP") {
|
package/src/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.comment.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import { quoteLiteral } from "../../../base.change.ts";
|
|
2
3
|
import { stableId } from "../../../utils.ts";
|
|
3
4
|
import type { ForeignTable } from "../foreign-table.model.ts";
|
|
@@ -31,7 +32,7 @@ export class CreateCommentOnForeignTable extends CreateForeignTableChange {
|
|
|
31
32
|
return [this.foreignTable.stableId];
|
|
32
33
|
}
|
|
33
34
|
|
|
34
|
-
serialize(): string {
|
|
35
|
+
serialize(_options?: SerializeOptions): string {
|
|
35
36
|
return [
|
|
36
37
|
"COMMENT ON FOREIGN TABLE",
|
|
37
38
|
`${this.foreignTable.schema}.${this.foreignTable.name}`,
|
|
@@ -62,7 +63,7 @@ export class DropCommentOnForeignTable extends DropForeignTableChange {
|
|
|
62
63
|
];
|
|
63
64
|
}
|
|
64
65
|
|
|
65
|
-
serialize(): string {
|
|
66
|
+
serialize(_options?: SerializeOptions): string {
|
|
66
67
|
return [
|
|
67
68
|
"COMMENT ON FOREIGN TABLE",
|
|
68
69
|
`${this.foreignTable.schema}.${this.foreignTable.name}`,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import { quoteLiteral } from "../../../base.change.ts";
|
|
2
3
|
import { stableId } from "../../../utils.ts";
|
|
3
4
|
import type { ForeignTable } from "../foreign-table.model.ts";
|
|
@@ -44,7 +45,7 @@ export class CreateForeignTable extends CreateForeignTableChange {
|
|
|
44
45
|
return Array.from(dependencies);
|
|
45
46
|
}
|
|
46
47
|
|
|
47
|
-
serialize(): string {
|
|
48
|
+
serialize(_options?: SerializeOptions): string {
|
|
48
49
|
const parts: string[] = ["CREATE FOREIGN TABLE"];
|
|
49
50
|
|
|
50
51
|
// Add schema and name
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { ForeignTable } from "../foreign-table.model.ts";
|
|
2
3
|
import { DropForeignTableChange } from "./foreign-table.base.ts";
|
|
3
4
|
|
|
@@ -28,7 +29,7 @@ export class DropForeignTable extends DropForeignTableChange {
|
|
|
28
29
|
return [this.foreignTable.stableId];
|
|
29
30
|
}
|
|
30
31
|
|
|
31
|
-
serialize(): string {
|
|
32
|
+
serialize(_options?: SerializeOptions): string {
|
|
32
33
|
return [
|
|
33
34
|
"DROP FOREIGN TABLE",
|
|
34
35
|
`${this.foreignTable.schema}.${this.foreignTable.name}`,
|
package/src/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.privilege.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import {
|
|
2
3
|
formatObjectPrivilegeList,
|
|
3
4
|
getObjectKindPrefix,
|
|
@@ -52,7 +53,7 @@ export class GrantForeignTablePrivileges extends AlterForeignTableChange {
|
|
|
52
53
|
return [this.foreignTable.stableId, stableId.role(this.grantee)];
|
|
53
54
|
}
|
|
54
55
|
|
|
55
|
-
serialize(): string {
|
|
56
|
+
serialize(_options?: SerializeOptions): string {
|
|
56
57
|
const hasGrantable = this.privileges.some((p) => p.grantable);
|
|
57
58
|
const hasBase = this.privileges.some((p) => !p.grantable);
|
|
58
59
|
if (hasGrantable && hasBase) {
|
|
@@ -120,7 +121,7 @@ export class RevokeForeignTablePrivileges extends AlterForeignTableChange {
|
|
|
120
121
|
];
|
|
121
122
|
}
|
|
122
123
|
|
|
123
|
-
serialize(): string {
|
|
124
|
+
serialize(_options?: SerializeOptions): string {
|
|
124
125
|
const kindPrefix = getObjectKindPrefix("FOREIGN TABLE");
|
|
125
126
|
const list = this.privileges.map((p) => p.privilege);
|
|
126
127
|
const privSql = formatObjectPrivilegeList(
|
|
@@ -168,7 +169,7 @@ export class RevokeGrantOptionForeignTablePrivileges extends AlterForeignTableCh
|
|
|
168
169
|
];
|
|
169
170
|
}
|
|
170
171
|
|
|
171
|
-
serialize(): string {
|
|
172
|
+
serialize(_options?: SerializeOptions): string {
|
|
172
173
|
const kindPrefix = getObjectKindPrefix("FOREIGN TABLE");
|
|
173
174
|
const privSql = formatObjectPrivilegeList(
|
|
174
175
|
"FOREIGN TABLE",
|
|
@@ -4,6 +4,7 @@ import type { CreateForeignTable } from "./foreign-table.create.ts";
|
|
|
4
4
|
import type { DropForeignTable } from "./foreign-table.drop.ts";
|
|
5
5
|
import type { ForeignTablePrivilege } from "./foreign-table.privilege.ts";
|
|
6
6
|
|
|
7
|
+
/** Union of all foreign-table-related change variants (`objectType: "foreign_table"`). @category Change Types */
|
|
7
8
|
export type ForeignTableChange =
|
|
8
9
|
| AlterForeignTable
|
|
9
10
|
| CommentForeignTable
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import { quoteLiteral } from "../../../base.change.ts";
|
|
2
3
|
import { stableId } from "../../../utils.ts";
|
|
3
4
|
import type { Server } from "../server.model.ts";
|
|
@@ -39,7 +40,7 @@ export class AlterServerChangeOwner extends AlterServerChange {
|
|
|
39
40
|
return [this.server.stableId, stableId.role(this.owner)];
|
|
40
41
|
}
|
|
41
42
|
|
|
42
|
-
serialize(): string {
|
|
43
|
+
serialize(_options?: SerializeOptions): string {
|
|
43
44
|
return ["ALTER SERVER", this.server.name, "OWNER TO", this.owner].join(" ");
|
|
44
45
|
}
|
|
45
46
|
}
|
|
@@ -62,7 +63,7 @@ export class AlterServerSetVersion extends AlterServerChange {
|
|
|
62
63
|
return [this.server.stableId];
|
|
63
64
|
}
|
|
64
65
|
|
|
65
|
-
serialize(): string {
|
|
66
|
+
serialize(_options?: SerializeOptions): string {
|
|
66
67
|
if (this.version === null) {
|
|
67
68
|
// PostgreSQL doesn't support removing version, but we'll handle it
|
|
68
69
|
return ["ALTER SERVER", this.server.name, "VERSION", "''"].join(" ");
|
|
@@ -105,7 +106,7 @@ export class AlterServerSetOptions extends AlterServerChange {
|
|
|
105
106
|
return [this.server.stableId];
|
|
106
107
|
}
|
|
107
108
|
|
|
108
|
-
serialize(): string {
|
|
109
|
+
serialize(_options?: SerializeOptions): string {
|
|
109
110
|
const optionParts: string[] = [];
|
|
110
111
|
for (const opt of this.options) {
|
|
111
112
|
if (opt.action === "DROP") {
|