So during migration both schemas are valid if I understood correctly?!
It would be awesome if "during migration" could be lifted to a point where it is possible to keep both schemas (old and new) for as long as I want and do migrations/transformation of incoming request (like queries) on the fly.
Then I could map my different api version to different schemas and these on the fly transformation would be able to take care of the rest in many scenarios :-)
This is actually the case, old and new schemas are available and working until you complete the migration, and you can run this step whenever you want.
The aim is not to deal with conditional logic in the app dealing with both schemas, but having an old version of the app linked to the old schema and the new one using the other.
so if I want to sunset my api version X in 1 year for whatever reason and I am able to support an old schema X, which api X maps to, for that time period without any hassle (and not only during migration), this would be a much bigger feature / USP for me then everything else mentioned. I am really curious to look deeper into this :-)