# scripts/migration (superseded) The direct-SQL migrators that used to live here (`migrate_assets.py`, `migrate_communications.py`, `migrate_notifications.py`, `migrate_usb.py`, `run_migration.py`, `verify_migration.py`) and `scripts/import_from_mysql.py` were **removed** - they had drifted badly out of sync with the current schema (they targeted a nonexistent `equipment` table, the retired `Machine` model, and columns that no longer exist) and were actively misleading. ## Use the import API + a site loader instead Legacy data is imported through the maintained, schema-agnostic contract in [`docs/IMPORT-API.md`](../../docs/IMPORT-API.md) (create through real endpoints with an admin PAT + `X-Import-Mode`). Each adopting site writes a thin loader that reads its own source database and drives that API. - Reference implementation: [`scripts/site_imports/wjf/`](../site_imports/wjf/) (West Jefferson classic-ASP -> flask). - Adoption playbook: [`docs/IMPORT-ADOPTION.md`](../../docs/IMPORT-ADOPTION.md). ## What's kept here - `fix_legacy_schema.sql` - one-time SQL fixups against a legacy source DB. - `one-offs/` - individual one-shot SQL snippets (see its README).