graphql-schema-registry
graphql-schema-registry copied to clipboard
Break down feature
Problem
We want to add the possibility to break down the schemas and break it into graphQL entities (operations, types, fields, arguments...). For each schema that arrives on the /push POST endpoint. We will check if there is any breaking change for the current service that the clients wants to insert.
Changes
- Checking Breaking Change: In case we encounter a breaking change on the new schema which wants to be updated/created, we avoid the new schema to be created/updated. Except if we find a header called
Force-Push: true
. - Breaking Schema: For each schema that arrives to the /push POST endpoint, we break it into small pieces and we store it in the mysql database.
Testing
Will be added in another PR
would recommend writing more tests too
would recommend writing more tests too
We added integration tests, we will share the PRs in the future
pls open up-to-date PR with DB migration, code and view changes all in one. If you're afraid of making it too big, try to add bare minimum first (agile approach) and add more and more features on top of it (ex. only schema types first.. and add others later)