feat: period-scoped holiday management, archive lifecycle, and docs/release sync
- add period-scoped holiday architecture end-to-end - model: scope `SchoolHoliday` to `academic_period_id` - migrations: add holiday-period scoping, academic-period archive lifecycle, and merge migration head - API: extend holidays with manual CRUD, period validation, duplicate prevention, and overlap merge/conflict handling - recurrence: regenerate holiday exceptions using period-scoped holiday sets - improve frontend settings and holiday workflows - bind holiday import/list/manual CRUD to selected academic period - show detailed import outcomes (inserted/updated/merged/skipped/conflicts) - fix file-picker UX (visible selected filename) - align settings controls/dialogs with defined frontend design rules - scope appointments/dashboard holiday loading to active period - add shared date formatting utility - strengthen academic period lifecycle handling - add archive/restore/delete flow and backend validations/blocker checks - extend API client support for lifecycle operations - release/docs updates and cleanup - bump user-facing version to `2026.1.0-alpha.15` with new changelog entry - add tech changelog entry for alpha.15 backend changes - refactor README to concise index and archive historical implementation docs - fix Copilot instruction link diagnostics via local `.github` design-rules reference
This commit is contained in:
39
docs/archive/CLEANUP_SUMMARY.md
Normal file
39
docs/archive/CLEANUP_SUMMARY.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# Database Cleanup Summary
|
||||
|
||||
## Files Removed ✅
|
||||
|
||||
The following obsolete database initialization files have been removed:
|
||||
|
||||
### Removed Files:
|
||||
- **`server/init_database.py`** - Manual table creation (superseded by Alembic migrations)
|
||||
- **`server/init_db.py`** - Alternative initialization (superseded by `init_defaults.py`)
|
||||
- **`server/init_mariadb.py`** - Database/user creation (handled by Docker Compose)
|
||||
- **`server/test_sql.py`** - Outdated connection test (used localhost instead of container)
|
||||
|
||||
### Why These Were Safe to Remove:
|
||||
1. **No references found** in any Docker files, scripts, or code
|
||||
2. **Functionality replaced** by modern Alembic-based approach
|
||||
3. **Hardcoded connection strings** that don't match current Docker setup
|
||||
4. **Manual processes** now automated in production deployment
|
||||
|
||||
## Current Database Management ✅
|
||||
|
||||
### Active Scripts:
|
||||
- **`server/initialize_database.py`** - Complete initialization (NEW)
|
||||
- **`server/init_defaults.py`** - Default data creation
|
||||
- **`server/init_academic_periods.py`** - Academic periods setup
|
||||
- **`alembic/`** - Schema migrations (version control)
|
||||
|
||||
### Development Scripts (Kept):
|
||||
- **`server/dummy_clients.py`** - Test client data generation
|
||||
- **`server/dummy_events.py`** - Test event data generation
|
||||
- **`server/sync_existing_clients.py`** - MQTT synchronization utility
|
||||
|
||||
## Result
|
||||
|
||||
- **4 obsolete files removed**
|
||||
- **Documentation updated** to reflect current state
|
||||
- **No breaking changes** - all functionality preserved
|
||||
- **Cleaner codebase** with single initialization path
|
||||
|
||||
The database initialization process is now streamlined and uses only modern, maintained approaches.
|
||||
Reference in New Issue
Block a user