The store migrates forward
- Context: a user’s store holds work that cannot be recreated.
- Decision: every schema change is a new version with a migration, run after a backup, and a store newer than the binary is refused.
- Consequence:
wloop store restoretakes a store back to a backup; a migration in a release is never edited. - Enforced by:
TestSchemaSQLIsFrozenAtSchemaVersion,TestMigrationsAreOneVersionEachUpToSchemaVersion,TestEveryReleasedSchemaMigratesToSchemaSQL,TestNewerStores, which fail on a schema change without a migration. See Changing the store’s schema.