#!/usr/bin/env python3
"""Migration: Add missing columns to api_key table."""

from sqlalchemy import text
from app.database import engine

migrations = [
    "ALTER TABLE api_key ADD COLUMN IF NOT EXISTS allow_source_scan BOOLEAN DEFAULT FALSE",
    "ALTER TABLE api_key ADD COLUMN IF NOT EXISTS max_source_files INTEGER DEFAULT 0",
    "ALTER TABLE api_key ADD COLUMN IF NOT EXISTS max_source_size_mb INTEGER DEFAULT 0",
    "ALTER TABLE api_key ADD COLUMN IF NOT EXISTS advanced_rules BOOLEAN DEFAULT FALSE",
    "ALTER TABLE api_key ADD COLUMN IF NOT EXISTS events JSON DEFAULT '[]'::json",
]

print("🔧 Running database migrations...")
with engine.connect() as conn:
    for i, sql in enumerate(migrations, 1):
        try:
            print(f"  [{i}/{len(migrations)}] {sql[:60]}...")
            conn.execute(text(sql))
            conn.commit()
            print(f"  ✅ Migration {i} completed")
        except Exception as e:
            print(f"  ⚠️  Migration {i} error (may already exist): {e}")

print("✅ All migrations completed!")
