addon
This commit is contained in:
55
backend/apply_migration_007.py
Executable file
55
backend/apply_migration_007.py
Executable file
@@ -0,0 +1,55 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Apply migration 007: Add cli_yaml and cli_raw fields
|
||||
"""
|
||||
import sqlite3
|
||||
from pathlib import Path
|
||||
|
||||
# Database paths
|
||||
PERIPHERALS_DB = Path(__file__).parent / "data" / "peripherals.db"
|
||||
MIGRATION_FILE = Path(__file__).parent / "migrations" / "007_add_cli_split_fields.sql"
|
||||
|
||||
def apply_migration():
|
||||
"""Apply the migration"""
|
||||
if not PERIPHERALS_DB.exists():
|
||||
print(f"Error: Database not found at {PERIPHERALS_DB}")
|
||||
return False
|
||||
|
||||
if not MIGRATION_FILE.exists():
|
||||
print(f"Error: Migration file not found at {MIGRATION_FILE}")
|
||||
return False
|
||||
|
||||
# Read migration SQL
|
||||
with open(MIGRATION_FILE, 'r') as f:
|
||||
migration_sql = f.read()
|
||||
|
||||
# Apply migration
|
||||
conn = sqlite3.connect(str(PERIPHERALS_DB))
|
||||
try:
|
||||
# Check if columns already exist
|
||||
cursor = conn.cursor()
|
||||
cursor.execute("PRAGMA table_info(peripherals)")
|
||||
columns = [row[1] for row in cursor.fetchall()]
|
||||
|
||||
if 'cli_yaml' in columns and 'cli_raw' in columns:
|
||||
print("✓ Migration already applied (cli_yaml and cli_raw columns exist)")
|
||||
return True
|
||||
|
||||
# Execute migration
|
||||
cursor.executescript(migration_sql)
|
||||
conn.commit()
|
||||
print("✓ Migration 007 applied successfully")
|
||||
print(" - Added cli_yaml column")
|
||||
print(" - Added cli_raw column")
|
||||
print(" - Migrated existing cli data to cli_raw")
|
||||
return True
|
||||
|
||||
except Exception as e:
|
||||
print(f"✗ Migration failed: {e}")
|
||||
conn.rollback()
|
||||
return False
|
||||
finally:
|
||||
conn.close()
|
||||
|
||||
if __name__ == "__main__":
|
||||
apply_migration()
|
||||
Reference in New Issue
Block a user