Automatic database backup before performing an update [Implemented in 1.3]

Would it be possible to automatically create a backup (maybe compressed in a zip file) before an update of the database is performed?
I know there is a recommendation to backup your database in the release notes, but I doubt everyone will it. If a database backup fails, the old database would still be there…

Or does is Roon already do this, and the backup advice in the release note is just an additional security step?

The advice about backups is mostly so users can roll themselves back to an old version with minimal assistance–since the old version will not read the new database. If we felt that there was a more substantial risk of data loss, we would have left a clean copy of the database around, like we did during 1.0->1.1. By comparison, this was a minor migration.

Why? The risky aspect of yesterday’s change was limited to a small handful of users who experienced a couple of specific bugs in the past. For everyone else, the changes made in this migration were safe/reversible.

Ultimately, we judged that wasting hundreds of megabytes to a couple of gigabytes on everyone’s machine to keep a backup around just in case wasn’t justified when the “scary” part of this migration was likely to only impact a dozen or so users.

This migration process went through >100hrs of QA. We were pretty confident that it wouldn’t destroy data, and that seems to be the case. The few problems that have cropped up since the update went out have not resulted in any permanent data loss.

A more comprehensive solution for backups is still in the works. Turning this on will not only protect against bad software updates, but also a wider range of more traditional failures. Having “roll back to yesterday” and “roll back to last week” as available options all of the time is a much more complete solution than having “roll back to before the update”.

2 Likes

Thank you, brian for the comprehensive explanation!