Improve migration framework and add migration 101#3548
Draft
hjanott wants to merge 2 commits into
Draft
Conversation
6b1d60f to
8f28568
Compare
…creation, error handling, and introduction of a respective migration with tests.
8f28568 to
dd54338
Compare
Member
? |
Member
What part of this is a description of current state, what part is a "should happen" statement? |
Member
migration helper has no ln 619. Did you mean "migration handler"? |
Member
Can you give an example of how this could happen? |
20 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This draft PR aims at improving our migration framework so that it's usable for small migrations which entail single or few collections. The migration is for testing and should be added in a separate PR.
Important for #3476
Related to #3323
I'm introducing the terms adjacent views and tables. These are the non intermediate tables and their views which have a relation to a table that needs to be migrated. Adjacent tables need a migration view also. In the code they are referred to as
additional_views.This already does:
additional_viewsinformation to replace tables during setupORIGIN_COLLECTIONSto classmigratable_modelscalculationWhat it is still lacking:
CASCADEto keep it explicit and specific to understand exactly what is being done.additional_viewsinformation (for instance creation ofreal_replace_tables). There is a possibility to store that information analogously in its own column.assert_content_not_none.get_replace_tablesinmigration_helperrelies on that information, we may need specific alterations defined by each migration. One approach could be to set the information in the data definition function or create a function like this analogously to write the information lost into the version table either directly into thereplace_tablescolumn or its own. Another one would be to write such information into a data structure of the migration class. There was also the discussion about creating diffs from yml files.