2ad9032b19
Fix: Strip file extensions from target database names to prevent double extensions
...
- Created stripFileExtensions() helper that loops until all extensions removed
- Applied to both --target flag values and extracted archive names
- Handles cases like .sql.gz.sql.gz by repeatedly stripping until clean
- Updated both cmd/restore.go and internal/tui/archive_browser.go
- Ensures database names never contain .sql, .dump, .tar.gz etc extensions
2025-11-12 10:26:15 +00:00
97be6564ef
feat: implement full restore functionality with TUI integration
...
- Add complete restore engine (internal/restore/)
- RestoreSingle() for single database restore
- RestoreCluster() for full cluster restore
- Archive format detection (7 formats supported)
- Safety validation (integrity, disk space, tools)
- Streaming decompression with pigz support
- Add CLI restore commands (cmd/restore.go)
- restore single: restore single database backup
- restore cluster: restore full cluster backup
- restore list: list available backup archives
- Safety-first design: dry-run by default, --confirm required
- Add TUI restore integration (internal/tui/)
- Archive browser: browse and select backups
- Restore preview: safety checks and confirmation
- Restore execution: real-time progress tracking
- Backup manager: comprehensive archive management
- Features:
- Format auto-detection (.dump, .dump.gz, .sql, .sql.gz, .tar.gz)
- Archive validation before restore
- Disk space verification
- Tool availability checks
- Target database configuration
- Clean-first and create-if-missing options
- Parallel decompression support
- Progress tracking with phases
Phase 1 (Core Functionality) complete and tested
2025-11-07 09:41:44 +00:00