#!/usr/bin/env python
"""
Fix missing database columns in production
"""
import os
import sys
from sqlalchemy import create_engine, text

def fix_columns():
    # Get database URL from environment
    DATABASE_URL = os.environ.get('DATABASE_URL')
    if not DATABASE_URL:
        print("ERROR: DATABASE_URL not set")
        return 1
    
    # Create engine
    engine = create_engine(DATABASE_URL)
    
    # Add missing columns
    columns_to_add = [
        "ALTER TABLE users ADD COLUMN IF NOT EXISTS calendar_sync_enabled BOOLEAN DEFAULT FALSE",
        "ALTER TABLE users ADD COLUMN IF NOT EXISTS calendar_sync_data_encrypted TEXT",
        "ALTER TABLE users ADD COLUMN IF NOT EXISTS calendar_last_sync TIMESTAMP"
    ]
    
    with engine.begin() as conn:
        for sql in columns_to_add:
            try:
                conn.execute(text(sql))
                print(f"✓ Executed: {sql}")
            except Exception as e:
                print(f"✗ Error executing {sql}: {e}")
    
    print("Database columns fixed successfully")
    return 0

if __name__ == "__main__":
    sys.exit(fix_columns())
