You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
0.9.0 added some schema upgrades, and that might cause issues on a downgrade. Actually, the schemas are compatible, but 0.9.0 leaves sync'd operations in the operations table, using a new boolean column to distinguish synced and un-synced. 0.8.0 doesn't know to look for that column.
For the moment, the 0.9.0 release warns about this, but going forward let's store the TC version in the DB, and just refuse to run with a DB that's newer than the current version of TC. That should both make upgrades easier to handle (if db_version < latest { .. }) and prevent issues with downgrades.
If users do need to downgrade, then deleting the DB and re-syncing should do the job for them.
The text was updated successfully, but these errors were encountered:
This should probably be in some kind of major/minor mode, where two DBs with different majors are not compatible, but minor versions are inter-compatible.
That is, a TaskChampion that uses DB version 8.1 would not be able to interact with a DB at version 9.0, but could still use a DB at version 8.2..
This is important because there are schema changes that are backward-compatible, such as adding indices. We want to use the version number to know if such changes have been applied (rather than dynamically probing at startup, which adds latency), but those should not prevent inter-operation of multiple versions. The changes made in #373 are an example.
0.9.0 added some schema upgrades, and that might cause issues on a downgrade. Actually, the schemas are compatible, but 0.9.0 leaves sync'd operations in the operations table, using a new boolean column to distinguish synced and un-synced. 0.8.0 doesn't know to look for that column.
For the moment, the 0.9.0 release warns about this, but going forward let's store the TC version in the DB, and just refuse to run with a DB that's newer than the current version of TC. That should both make upgrades easier to handle (
if db_version < latest { .. }
) and prevent issues with downgrades.If users do need to downgrade, then deleting the DB and re-syncing should do the job for them.
The text was updated successfully, but these errors were encountered: