Skip to content

docs(plan): GraphQL-based pgpm export feature plan#745

Open
pyramation wants to merge 1 commit intomainfrom
devin/1772104368-graphql-export-plan
Open

docs(plan): GraphQL-based pgpm export feature plan#745
pyramation wants to merge 1 commit intomainfrom
devin/1772104368-graphql-export-plan

Conversation

@pyramation
Copy link
Contributor

docs(plan): add GraphQL-based pgpm export feature plan

Summary

Adds a planning document at docs/plan/graphql-export.md that describes how to make pgpm export work over GraphQL instead of direct SQL, so customers without database access can export their schema metadata via their GraphQL API endpoint.

The plan covers:

  • Full inventory of every SQL query in the current export flow (~55+ queries across CLI, core orchestrator, and meta exporter)
  • Analysis of which queries have GraphQL equivalents (most do) and which don't (pg_catalog, db_migrate.sql_actions, information_schema)
  • Proposed ExportDataSource abstraction pattern with SQL and GraphQL implementations
  • 4-phase implementation roadmap
  • Identification of the db_migrate.sql_actions blocker (not exposed via GraphQL) with mitigation options

No code changes — this is a planning document only.

Review & Testing Checklist for Human

  • Validate the db_migrate.sql_actions blocker assessment. The plan recommends metadata-only export as Phase 1 and defers migration SQL export. Confirm this scoping is acceptable or if sql_actions must be exposed via GraphQL from the start.
  • Verify the SQL query inventory is complete. Cross-check against the actual export flow to ensure no queries were missed — particularly in helper functions or conditional branches.
  • Confirm the ExportDataSource abstraction is the right pattern. The plan proposes an interface with SQL/GraphQL implementations. Validate this aligns with the team's preferred architecture.
  • Check GraphQL naming convention examples. The plan assumes standard PostGraphile inflection, but InflektPreset customizes naming. Verify the example mappings (e.g. allSchemas, allFields) match the actual server schema.

Notes

@devin-ai-integration
Copy link
Contributor

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant