summaryrefslogtreecommitdiff
path: root/src/db
Commit message (Collapse)AuthorAge
* Automatically delete database backups if automatic restore is successful.Owen Jacobson2024-10-10
| | | | Operational experience with the server has shown that leaving the backup in place is not helpful. The near-automatic choice is to immediately delete it, and the server won't start until it has been deleted. If the backup restore succeeded, then we know the user has a copy of their database, since the sqlite3 online backups API promises to make the target database bitwise-identical to the source database, so there's little chance the user will need a duplicate.
* Replace `unsafe` impl of backups with `rusqlite`.Owen Jacobson2024-10-05
| | | | The unsafe code still exists, but I have more faith in the rusqlite authors than in myself to ensure that the code is correct.
* Implement `sqlite3_backup_step`'s multi-step protocol.Owen Jacobson2024-10-05
|
* Use the right functions for determining error messages.Owen Jacobson2024-10-05
|
* Improve ergonomics of `Backup`Owen Jacobson2024-10-05
|
* Limit unsafe{} blocks even more tightly.Owen Jacobson2024-10-05
|
* Remove an unchecked operation in favour of a panicOwen Jacobson2024-10-05
|
* Tighten up `unsafe{}` blocks in backup logic.Owen Jacobson2024-10-05
|
* Use sqlx's API, not SQL groveling, to find unwanted migrations.Owen Jacobson2024-10-05
|
* Make a backup of the `.hi` database before applying migrations.Owen Jacobson2024-10-05
This was motivated by Kit and I both independently discovering that sqlite3 will happily partially apply migrations, leaving the DB in a broken state.