We have a requirement to delete specific data from the historic database backups, how can we do this in Aptible?
Database backups on Aptible Deploy are taken as incremental volume snapshots, not a logical data dump. This means you cannot edit or delete data within the backup itself. You can however purge any backups if you need to dispose of the data they contain.
You can use the command
aptible backup:list $DB_HANDLE --max-age 10y to list all backups for a database (
10y means 10 years) and use the date/time of the backup to determine if you need to purge it. You can then use
aptible backup:purge $BACKUP_ID to permanently remove any backup you need delete.
Because database backups are taken as encrypted incremental volume snapshots, there is unfortunately not a simple way to target specific data to be removed from a backup. For each and every backup, you would need to:
- Restore the backup as a new database
- Delete the pertinent data from the new database
- Make a backup of the edited database
- Deprovision the edited database
- Purge the original backup
If you need to delete specific data frequently, we recommend you to perform a similar process but create a logical backup (e.g.
mysqldump ) that you maintain outside of Aptible. This way you can edit data freely for future data deletion requests.