init_db.py 859 B

12345678910111213141516171819202122232425
  1. #!/usr/bin/env python3
  2. """Initialise (ou migre) la base de données SQLite. Appelé par les scripts install et upgrade."""
  3. import os
  4. import sys
  5. if len(sys.argv) > 1:
  6. os.environ["BACKUPMANAGER_CONFIG"] = sys.argv[1]
  7. from app import app, db
  8. from sqlalchemy import text
  9. with app.app_context():
  10. db.create_all()
  11. # Migrations manuelles pour les colonnes ajoutées après la création initiale
  12. with db.engine.connect() as conn:
  13. existing = [row[1] for row in conn.execute(text("PRAGMA table_info(jobs)"))]
  14. if "destination_id" not in existing:
  15. conn.execute(text(
  16. "ALTER TABLE jobs ADD COLUMN destination_id INTEGER REFERENCES destinations(id)"
  17. ))
  18. conn.commit()
  19. print("Migration : colonne destination_id ajoutée à jobs.")
  20. print("Base de données initialisée.")