b0439e39c4
Replace the JSON-based import/export with a proper backup system that copies the SQLite database file directly. Supports manual on-demand backups, periodic scheduled backups via node-cron, configurable retention, file download, and full database restore. - Add backupService with VACUUM INTO for safe DB copies - Add backupScheduler following healthcheckScheduler pattern - Add 6 admin API endpoints (create, list, download, restore, delete, schedule) - Add BackupPanel UI with backup table, confirmation dialogs, schedule config - Add backup fields to SystemSettings schema - Remove old ImportExportPanel, exportService, importService, and related code
1.5 KiB
1.5 KiB
Feature: Database Backup & Restore
Branch: feature/database-backup
Base branch: master
Created: 2026-04-02
Status: 🟡 In Progress
Strategy: Big Bang
Mode: Automated
Execution: Direct
Summary
Replace JSON import/export with SQLite file-copy backup system. Support manual on-demand backups, optional periodic scheduling via node-cron, configurable retention (max backup count), download capability, and full database restore.
Build & Test Commands
- Build:
npm run build - Test:
npm run test - Lint:
npm run lint
Phases
- Phase 1: Backup Service & API Endpoints [domain: backend] → subplan
- Phase 2: Periodic Backup Scheduler [domain: backend] → subplan
- Phase 3: Frontend BackupPanel [domain: frontend] → subplan
- Phase 4: Cleanup Import/Export [domain: fullstack] → subplan
Phase Progress Log
| Phase | Domain | Status | Review | Build | Committed |
|---|---|---|---|---|---|
| Phase 1: Backup Service & API | backend | ⬜ Not Started | ⬜ | ⬜ | ⬜ |
| Phase 2: Backup Scheduler | backend | ⬜ Not Started | ⬜ | ⬜ | ⬜ |
| Phase 3: BackupPanel UI | frontend | ⬜ Not Started | ⬜ | ⬜ | ⬜ |
| Phase 4: Cleanup | fullstack | ⬜ Not Started | ⬜ | ⬜ | ⬜ |
Final Review
- Comprehensive code review
- Full build passes
- Full test suite passes
- Merged to
master