This PR implements backup capabilities for PostgreSQL databases using pgBackRest, addressing the limitations of the current pg_dump-based backup system, particularly for large databases.
app/Services/PgBackRestService.php)app/Jobs/PgBackRestBackupJob.php)database/migrations/_add_pgbackrest_support.php)backup_engine field to scheduled_database_backups (pg_dump/pgbackrest)use_pgbackrest boolean flagpgbackrest_config JSON field for configurationbackup_type to scheduled_database_backup_executions (full/diff/incr)database_size to track original database sizepgbackrest_configurations table for detailed status trackingLivewire Component (app/Livewire/Project/Database/Backup/BackupConfiguration.php)
Blade View (resources/views/livewire/project/database/backup/configuration.blade.php)
app/Http/Controllers/Api/BackupController.php)GET /api/databases/{uuid}/backups - List all backupsPOST /api/databases/{uuid}/backups - Create backup configurationPOST /api/backups/{id}/execute - Trigger manual backup (with optional type)GET /api/backups/executions/{id} - Get execution detailsPOST /api/backups/executions/{id}/restore - Restore from backup (with optional PITR)GET /api/databases/{uuid}/pgbackrest/status - Get pgBackRest statusCloses #7172
/claim #7172
Joshua Kelechi
@jaykayudo
Zach Latta
@zachlatta