Files
infoscreen/docs/archive/CLEANUP_SUMMARY.md
Olaf b5f5f30005 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
2026-03-31 12:25:55 +00:00

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 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.