- 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
1.6 KiB
1.6 KiB
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 byinit_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:
- No references found in any Docker files, scripts, or code
- Functionality replaced by modern Alembic-based approach
- Hardcoded connection strings that don't match current Docker setup
- 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 creationserver/init_academic_periods.py- Academic periods setupalembic/- Schema migrations (version control)
Development Scripts (Kept):
server/dummy_clients.py- Test client data generationserver/dummy_events.py- Test event data generationserver/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.