#!/usr/bin/env python3 """ Migrate DEV database to add SLM-specific columns """ from sqlalchemy import create_engine, text # DEV database DEV_DB_URL = "sqlite:///./data-dev/seismo_fleet.db" def migrate_dev_database(): print("Migrating DEV database to add SLM columns...") print("=" * 60) engine = create_engine(DEV_DB_URL, connect_args={"check_same_thread": False}) # SLM columns to add slm_columns = [ ("slm_host", "VARCHAR"), ("slm_tcp_port", "INTEGER"), ("slm_model", "VARCHAR"), ("slm_serial_number", "VARCHAR"), ("slm_frequency_weighting", "VARCHAR"), ("slm_time_weighting", "VARCHAR"), ("slm_measurement_range", "VARCHAR"), ("slm_last_check", "DATETIME"), ] with engine.connect() as conn: for column_name, column_type in slm_columns: try: # Try to add the column conn.execute(text(f"ALTER TABLE roster ADD COLUMN {column_name} {column_type}")) conn.commit() print(f"✓ Added column: {column_name}") except Exception as e: if "duplicate column name" in str(e).lower(): print(f" Column {column_name} already exists, skipping") else: print(f"✗ Error adding {column_name}: {e}") print("=" * 60) print("DEV database migration completed!") if __name__ == "__main__": migrate_dev_database()