import sys, os
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..'))

from sqlalchemy import create_engine, text
from app.config import get_settings

settings = get_settings()
engine = create_engine(settings.database_url)

with engine.connect() as conn:
    cols = conn.execute(text("""
        SELECT column_name FROM information_schema.columns 
        WHERE table_name = 'plant_passports' ORDER BY ordinal_position
    """)).fetchall()
    existing = {c[0] for c in cols}
    print(f"Existing columns: {len(existing)}")

    migrations = [
        ("owner_id", "ALTER TABLE plant_passports ADD COLUMN owner_id VARCHAR(36)"),
        ("activation_status", "ALTER TABLE plant_passports ADD COLUMN activation_status VARCHAR(20) DEFAULT 'unactivated'"),
    ]

    for col_name, sql in migrations:
        if col_name not in existing:
            conn.execute(text(sql))
            print(f"  Added: {col_name}")
        else:
            print(f"  Already exists: {col_name}")

    conn.commit()
    print("Done!")
