3.6 KiB
3.6 KiB
09 · Migrations & Legacy Components
1. Migrations
Migrations are standalone Python scripts (run via docker compose exec ... python, not Alembic revisions — there is no migrations/versions/).
| Script | Table(s) | What it does |
|---|---|---|
add_https_config_table.py |
https_config |
Creates table via db.create_all() |
add_player_user_table.py |
player_user |
Creates table via db.create_all() |
add_email_to_https_config.py |
https_config |
ALTER TABLE ... ADD COLUMN email VARCHAR(255) (idempotent) |
add_deployment_fields_to_player.py |
player |
Adds deployment_status, last_deployment_at, last_deployment_status, last_deployment_message (idempotent) |
add_url_to_content.py |
content |
ALTER TABLE ... ADD COLUMN url VARCHAR(2048) (weblink support) |
add_original_filename_to_content.py |
content |
Adds original_filename then backfills: from first (v1) PlayerEdit.original_name for edited content, else filename |
migrate_player_user_global.py |
player_user |
Drop & recreate: removes old player_id FK, makes user_code globally unique, user_name nullable |
Order (from deploy.sh):
add_https_config_table.py
add_player_user_table.py
add_email_to_https_config.py
migrate_player_user_global.py
add_original_filename_to_content.py
⚠
deploy.shalso calls/app/https_manager.py— that file is not present in this repo, so that deployment step needs attention.
2. Legacy / Archived Components
| Component | Status | Notes |
|---|---|---|
app/blueprints/content_old.py |
Dead code | Legacy per-player content routes (/, /upload, /<id>/edit, /bulk/delete, /upload-progress, /preview, /statistics, /check-duplicates, /<id>/groups). Not imported by create_app. |
app/blueprints/playlist.py |
Active but legacy | Per-player playlist routes kept as redirects to the modern content workflow. |
Group model + group routes |
Archived | Player no longer has group_id; group routes commented out; group_player_management.py and group_content association remain for reference. |
nginx stack |
Replaced by Caddy | data/nginx.conf, data/nginx-custom-domains.conf, data/nginx-logs/, data/nginx-ssl/ retained. utils/nginx_config_reader.py still parses it. |
https_manager.py |
Missing | Referenced by deploy.sh but not in repo — likely merged into CaddyConfigGenerator. |
old_code_documentation/ |
Archive | Full legacy docs, old scripts (blueprint_groups.py, add_muted_column.py, fix_player_user_schema.py, test_edit_media_*.py, check_fix_player.py, migrate_add_edit_enabled.py), deployment guides, HTTPS analysis, player analysis. |
QUICK_DEPLOYMENT.md, deployment-commands-reference.sh |
Active reference | Manual deployment notes. |
3. Recommended Cleanup (optional)
- Remove
content_old.pyandold_code_documentation/*.pyscripts that are no longer needed (keep the.mddocs). - Resolve the missing
https_manager.pyindeploy.sh(useCaddyConfigGeneratorequivalents). - Update
verify-deployment.shto reference Compose v2 and Caddy instead ofdocker-compose/nginx.