Update release history compatibility using migration #2940
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.
PR #2911 fixed the calculation of coding system release compatibility for codelist versions.
It did not correct the incorrectly calculated historical compatibility - this PR fixes #2913 .
This commit introduces a way of fixing that history via a Django migration.
In order to achieve this, the dynamically-set coding system database connections must be in place.
The function that does this-
update_coding_system_database_connectionschecks to see if any migrations are pending and does not update the connections if so - meaning it is unusable in a migration. Therefore, this commit also adds an override mode to this function such that it can be used in a migration.The migration then iterates through all releases of all coding systems (in release date order) and calls the
update_codelist_version_compatibilityfunction that would normally be used in a coding system release import.