Files
serv_benchmark/backend/apply_migration_016.py
2026-01-11 23:41:30 +01:00

60 lines
1.6 KiB
Python
Executable File

#!/usr/bin/env python3
"""
Migration 016: Ajout du champ ram_max_capacity_mb
"""
import sqlite3
import sys
from pathlib import Path
# Configuration
DB_PATH = Path(__file__).parent / "data" / "data.db"
MIGRATION_FILE = Path(__file__).parent / "migrations" / "016_add_ram_max_capacity.sql"
def main():
if not DB_PATH.exists():
print(f"❌ Base de données non trouvée: {DB_PATH}")
sys.exit(1)
# Lire le fichier SQL
with open(MIGRATION_FILE, 'r') as f:
sql = f.read()
# Connexion à la BDD
conn = sqlite3.connect(DB_PATH)
cursor = conn.cursor()
try:
# Vérifier si la colonne existe déjà
cursor.execute("PRAGMA table_info(hardware_snapshots)")
columns = [col[1] for col in cursor.fetchall()]
if 'ram_max_capacity_mb' in columns:
print("✅ La colonne ram_max_capacity_mb existe déjà")
return
# Appliquer la migration
print("🔧 Application de la migration 016...")
cursor.executescript(sql)
conn.commit()
print("✅ Migration 016 appliquée avec succès")
# Vérifier
cursor.execute("PRAGMA table_info(hardware_snapshots)")
columns_after = [col[1] for col in cursor.fetchall()]
if 'ram_max_capacity_mb' in columns_after:
print("✅ Colonne ram_max_capacity_mb ajoutée")
else:
print("❌ Erreur: colonne non ajoutée")
sys.exit(1)
except Exception as e:
print(f"❌ Erreur lors de la migration: {e}")
conn.rollback()
sys.exit(1)
finally:
conn.close()
if __name__ == "__main__":
main()