Since launching Forge's Database Backup feature back in February, our customers have created thousands of backup configurations, which have made hundreds of thousands of backups and counting. In June, we extended the backup providers to support any S3-compatible host, which means you can bring your favorite provider such as MinIO, Linode Objects, Backblaze, and more.
Today, we're pleased to announce a big improvement to database backups including streaming backups directly to your backup provider. By streaming your database backups to your backup provider, the backup files themselves never consume disk space on your server.
Database streaming will only affect newly created backup configurations, and existing configurations will continue to work as they have in the past. If you would like to take advantage of this feature, you may delete and recreate your database backup configuration within the Forge dashboard.
Forge is also now able to report on "Partial" backups. A partial backup may occur when you've configured your backup to run on two or more databases, but not all databases were able to be backed up successfully. Partial backups will halt the remainder of the backup process.
To provide these improvements, we had to make some key changes to how backups run, including:
- Each database is backed up into its own
.sql.gzarchive, rather than all databases being archived into one file. This results in faster restores as we no longer need to extract the selected database dump first.
- We now include the
USEstatements for each database that is backed up.
The Forge database backup code is open-source at: https://github.com/laravel/forge-database-backups
If you don’t have a Forge account, now is a great time to sign up! Forge allows you to painlessly create and manage PHP servers which include MySQL, Redis, Memcached, database backups, and everything else you need to run robust, modern Laravel applications.