Repository navigation
v0.4.17
Breaking
- A restore now leaves the database exactly as the backup is. Restoring a whole backup removes every database on the server first (not branches, not the engine's own), then brings back the backup's databases and tables under their own names. Restore only some databases by unticking the others.
New
- A backup of everything is taken before every restore, and put back at once when the restore fails, for the databases it had changed. Tick Keep a backup of the current database to keep it afterwards.
- Backups have their own pages: Backups, Import backup and Auto backup.
- Import backup brings a file in first and opens the restore window with the upload's progress. Cancel deletes the file. A dump made for another engine is refused before anything changes.
- Backups can be encrypted with your own passphrase, in a format openssl opens without Serve.
- Backups can include the server's users and passwords (PostgreSQL, MySQL, MariaDB).
- Backup tests restore a backup into a throwaway database, by hand or every day, and tell you when one fails.
- Backups can go to several buckets; when one is down the next one is used.
- Apps can back up their databases before each deploy.
- Back up now can store a backup elsewhere, with users or without encryption, for that backup only.
- MySQL, MariaDB and ClickHouse backups are compressed, and every backup has a checksum that is checked before it is restored.
- ClickHouse in compose stacks, and compose stacks can import backups into their databases, volumes and folders.
- The connection URL can name any database of the server, from the Connect card or Settings → Credentials. A restore whose backup lacks the main database makes its first database the main one.
- The Connect card shows the pooled and read replica connection URLs while they are on.
- The API and CLI cover all of it: restore choices, backup tests, downloads, uploads and backup settings.
Fixed
- MySQL row counts in the data explorer were 0 after a restore.
- A PostgreSQL dump made without --clean failed on tables that already existed.
- A dump with one database went into the main database whatever its name; it keeps its name now.
- Compose database passwords were visible on the server's process list during backups.
- Instance backup downloads failed after an S3 change.
Polished
- Auto backup is one card with its settings side by side, and only shows them while it is on.
- Imported files keep their own name, and their safety backup is listed under them.
- From bucket says where to add S3 storage when there is none.
- Restore errors show the database's own reason.
Commits
1e3605f0Data explorer: MySQL row counts and sizes are always currentc382446cRestores keep the dump's database names, empty databases tooceb0f7ffRestore the dump's users and passwords on request (Postgres, MySQL, MariaDB)9252fc39Backups: compose database passwords stay off the command line; instance downloads use the backup's own S3 destinationee2286a7Notifications for restores and imports58acff14Restore window: choose databases, new names, single tables, or another servicede8cd8acMySQL, MariaDB and ClickHouse backups are compressed (.sql.gz)0ed23e73Backup checksums: SHA-256 recorded when made, verified before every restored44b9fb1Encrypted backups with a passphrase (openssl-compatible)bdce6b39Backup proof: test-restore a backup into a throwaway database7ce51eb1Backup security: 600,000 PBKDF2 rounds, checksum before listing, no passphrase to the browserd21ae7c2Backups to several buckets, and keeping by age, day, week, month and year81a49ce2Back up databases before each deploy2bf5add2ClickHouse in compose stacks and several ClickHouse databases; users of multi-database MongoDB and compose backupsde79b3fdClickHouse backups of several databases: escape backslashes in database names3cac3f93Import into compose stack backups: database containers, volumes and foldersf4926989Backup API: restore choices, contents, test, download, upload import, settings, compose backups, instance backup delete43e08142CLI: restore choices, backup tests, downloads, backup settings, file imports13dc228bMySQL and MariaDB restores recount table rows6531f2ecBackup review fixes: single-table restores, Mongo database choices, honest test resultsf2ee5044Backups can include users and passwords; the backup settings fold away while the schedule is off73a7dc9dBackup settings summary reads as a sentencec1eef873Backup settings show only while automatic backups are on7ee02e90Keep longer rules: one row each, so they fit the card5444bebaRemove the keep longer rules from backups964de211Database backups: Backups, Import backup and Auto backup pages with a sidebar, like settingsc9388617Auto backup page: settings-style cards for the schedule, databases, storage, options and encryption52cccbddAuto backup: one card with labeled sections across the width; compact schedule editor6799914dImport from bucket: the tab opens without S3 storage and says where to add one932a7965Back up now: choose where it is stored, whether it holds users and whether it is encrypted, for that backup onlyfe8c6b7bBack up now: only admins can ask for an unencrypted backup, whatever the passphrase is when asked5990d63aBackup review fixes: Back up now choices need permission to change settings; restored MySQL proxy rights never name protected accounts42373722Format the Back up now button3e5efc48Backup fixes: dumps of another engine are refused, Serve's pooler and replica logins are never restored, environment copies skip the users formcc2567e6Imports: keep their own file name, show on the backups list right away, and sit above their safety backup3adee19cImports show Restoring while their safety backup runs564e8cabChoose the main database: the connection URL can name another database on the server15af9699Main database: plain names only, and connection URLs encode the database name2231a5dfChoose where restored data goes, and which database a connection URL names656bfb68Import in two steps for databases: the file comes in, then the restore window sets what goes where02aa046dRestore: two databases of a backup never go into the same database0aab7beaRestoring MySQL users with a database under another name: their rights follow the new name71fbd5ccRestore window: another database service only behind Restore into another database…, and not for imports28021eb0Import backup: the restore window opens on the Import page once the file is inb5b92a80Import: the restore window opens at once with the upload's progress; listing a Postgres .dump no longer failsedaa2af3Restore and import fixes from review; the safety backup is a full backup of the database service8dd511d0Postgres dumps made without --clean replace existing tables, sequences and views18b3fdf8A restore empties what it writes into: the server ends up holding exactly the backup16f4372dRestore window: the backup's databases as a plain list; choosing databases, names or tables behind a link9d9d8781Restore window: tick the databases to restore (All databases ticks or clears them); no names or tables to choose1a964f6fRestore leaves exactly the backup on every engine; its first database becomes the main one when the main one is not in it5b107adcEvery restore is undone when it fails; review fixes for the whole-server restore57a45d78Rollback puts back only what a failed restore changed, and nothing when it changed nothinged191619Overview: the pooled and read replica connection URLs, while the pooler and replicas are on
Compare: v0.4.16 → v0.4.17