#!/usr/bin/env python3
"""
Add slm_ftp_port column to roster table for FTP data retrieval port
"""

from sqlalchemy import create_engine, text
import os

# Determine database based on environment
ENVIRONMENT = os.getenv("ENVIRONMENT", "production")
if ENVIRONMENT == "development":
    DB_URL = "sqlite:///./data-dev/seismo_fleet.db"
else:
    DB_URL = "sqlite:///./data/seismo_fleet.db"

def add_ftp_port_column():
    print(f"Adding slm_ftp_port column to {DB_URL}...")
    print("=" * 60)

    engine = create_engine(DB_URL, connect_args={"check_same_thread": False})

    with engine.connect() as conn:
        try:
            # Try to add the column
            conn.execute(text("ALTER TABLE roster ADD COLUMN slm_ftp_port INTEGER"))
            conn.commit()
            print("✓ Added column: slm_ftp_port (INTEGER)")
        except Exception as e:
            if "duplicate column name" in str(e).lower():
                print("  Column slm_ftp_port already exists, skipping")
            else:
                print(f"✗ Error adding slm_ftp_port: {e}")
                raise

    print("=" * 60)
    print("Migration completed!")

if __name__ == "__main__":
    add_ftp_port_column()
