If an incompatible archive version exception occurs while loading an archive, the tool will attempt to migrate the archive with a sequence of pre-defined scripts, which each migrate from one major version to the next.
No migration scripts are currently implemented, but future major releases should do so. Unfortunately, there are few tools available to make this simple, and so it may be necessary to write subpar code to achieve migration, such as by using ad-hoc parsers and so on.
Further thought:
How should the database be migrated? A naive idea is to create new tables under names like _migrate_document, according to the new schema, copy all rows and impute missing values where possible, then delete the old tables and rename the new tables.
If an incompatible archive version exception occurs while loading an archive, the tool will attempt to migrate the archive with a sequence of pre-defined scripts, which each migrate from one major version to the next.
No migration scripts are currently implemented, but future major releases should do so. Unfortunately, there are few tools available to make this simple, and so it may be necessary to write subpar code to achieve migration, such as by using ad-hoc parsers and so on.
Further thought:
_migrate_document
, according to the new schema, copy all rows and impute missing values where possible, then delete the old tables and rename the new tables.Resolves #3