Refactor schema evolution detection #844
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
BEGINRELEASENOTES
ENDRELEASENOTES
Partial lift of the changes from #828. The changes here do not yet include the change of grammar / format for the evolution files.
The main changes here are the splitting of the
DatamodelComparator
into two bits, theDatamodelComparator
that detects differences between two datamodels and theSchemaEvolutionJudge
that then determines whether these changes need manual intervention or not. It's a better split of responsibilities and should make it easier to adapt this whole functionality in the future. Additionally, it removes enough internal state from the whole machinery to make it possible, to re-use it for multiple schema versions.