Part-DB-server/src/Services/System
Sebastian Almberg 1637fd63f4 Add backup restore feature
- Add restoreBackup() method to UpdateExecutor with full restore workflow
- Add getBackupDetails() to retrieve backup metadata and contents info
- Add restore controller routes (backup details API, restore action)
- Add restore button to backups table in UI
- Create backup_restore_controller.js Stimulus controller for confirmation
- Add translation strings for restore feature

The restore process:
1. Acquires lock and enables maintenance mode
2. Extracts backup to temp directory
3. Restores database (MySQL/PostgreSQL SQL or SQLite file)
4. Optionally restores config files and attachments
5. Clears and warms cache
6. Disables maintenance mode

Fix backup restore database import

The restore feature was using a non-existent doctrine:database:import
command. Now properly uses mysql/psql commands directly to import
database dumps.

Changes:
- Add EntityManagerInterface dependency to UpdateExecutor
- Use mysql command with shell input redirection for MySQL restore
- Use psql -f command for PostgreSQL restore
- Properly handle database connection parameters
- Add error handling for failed imports
2026-01-30 23:24:48 +01:00
..
BannerHelper.php Allow to override the banner with its existing env variable 2025-08-24 17:37:16 +02:00
InstallationTypeDetector.php Add manage_updates permission schema migration 2026-01-30 21:46:27 +01:00
UpdateAvailableManager.php Moved gravatar and update checking settings to the settings-bundle system 2024-07-16 21:58:41 +02:00
UpdateChecker.php Add Update Manager for automated Part-DB updates 2026-01-30 21:36:33 +01:00
UpdateExecutor.php Add backup restore feature 2026-01-30 23:24:48 +01:00