feature: Version upgrade marker and verifier system #2716
pandinocoder
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Description
Intersect
DbContext
s and configuration files need to have version markers built into them, where the most recently saved version is marked into them.To prevent data loss, all version-marked data sources (database and configuration) should refuse to load if the version marker is not a version that the current version is able to migrate, and instructions should be given to the end-user to download a specific version of the engine to use to migrate data before continuing.
Intended Use-Case
0.9-beta will remove
Obsolete
code, and this will erase data that has not been migrated.For some code, like drop quantities, this code is "migrated on load" but this migration is not stored until it's re-saved. We currently do not automatically re-save everything with drops, so the final version of 0.8-beta needs to load any game objects with "migrate-on-load" data and re-save them.
0.9-beta needs to know that the data it's loading matches the expected format, which may not be the case for old data (e.g. migrate from 0.7-beta, or earlier versions of 0.8-beta), and to prevent data loss it needs to refuse to migrate anything older than from the final version of 0.8-beta.
Duplicate Check
Beta Was this translation helpful? Give feedback.
All reactions