script
This commit is contained in:
66
backend/apply_migration_002.py
Normal file
66
backend/apply_migration_002.py
Normal file
@@ -0,0 +1,66 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Apply SQL migration 002 to existing database
|
||||
Migration 002: Add network_results_json column to benchmarks table
|
||||
Usage: python apply_migration_002.py
|
||||
"""
|
||||
|
||||
import sqlite3
|
||||
import os
|
||||
|
||||
# Database path
|
||||
DB_PATH = os.path.join(os.path.dirname(__file__), "data", "data.db")
|
||||
MIGRATION_PATH = os.path.join(os.path.dirname(__file__), "migrations", "002_add_network_results.sql")
|
||||
|
||||
def apply_migration():
|
||||
"""Apply the SQL migration 002"""
|
||||
|
||||
if not os.path.exists(DB_PATH):
|
||||
print(f"❌ Database not found at {DB_PATH}")
|
||||
print(" The database will be created automatically on first run.")
|
||||
return
|
||||
|
||||
if not os.path.exists(MIGRATION_PATH):
|
||||
print(f"❌ Migration file not found at {MIGRATION_PATH}")
|
||||
return
|
||||
|
||||
print(f"📂 Database: {DB_PATH}")
|
||||
print(f"📄 Migration: {MIGRATION_PATH}")
|
||||
print()
|
||||
|
||||
# Read migration SQL
|
||||
with open(MIGRATION_PATH, 'r') as f:
|
||||
migration_sql = f.read()
|
||||
|
||||
# Connect to database
|
||||
conn = sqlite3.connect(DB_PATH)
|
||||
cursor = conn.cursor()
|
||||
|
||||
try:
|
||||
# Check if column already exists
|
||||
cursor.execute("PRAGMA table_info(benchmarks)")
|
||||
columns = [row[1] for row in cursor.fetchall()]
|
||||
|
||||
if 'network_results_json' in columns:
|
||||
print("⚠️ Migration 002 already applied (network_results_json column exists)")
|
||||
print("✅ Database is up to date")
|
||||
return
|
||||
|
||||
# Apply migration
|
||||
print("🔄 Applying migration 002...")
|
||||
cursor.executescript(migration_sql)
|
||||
conn.commit()
|
||||
|
||||
print("✅ Migration 002 applied successfully!")
|
||||
print()
|
||||
print("New column added to benchmarks:")
|
||||
print(" - network_results_json")
|
||||
|
||||
except sqlite3.Error as e:
|
||||
print(f"❌ Error applying migration: {e}")
|
||||
conn.rollback()
|
||||
finally:
|
||||
conn.close()
|
||||
|
||||
if __name__ == "__main__":
|
||||
apply_migration()
|
||||
Reference in New Issue
Block a user