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

def migrate():
    engine = create_engine(settings.DATABASE_URL)
    with engine.connect() as conn:
        # 1. Product available_sizes
        try:
            conn.execute(text("ALTER TABLE products ADD COLUMN available_sizes VARCHAR"))
            print("Added available_sizes to products")
        except Exception as e:
            print(f"Products available_sizes migration: {e}")
        
        # 2. CartItem size
        try:
            conn.execute(text("ALTER TABLE cart_items ADD COLUMN size VARCHAR"))
            print("Added size to cart_items")
        except Exception as e:
            print(f"CartItems size migration: {e}")

        # 3. OrderItem size
        try:
            conn.execute(text("ALTER TABLE order_items ADD COLUMN size VARCHAR"))
            print("Added size to order_items")
        except Exception as e:
            print(f"OrderItems size migration: {e}")

        # Seed some default sizes for existing products
        try:
            conn.execute(text("UPDATE products SET available_sizes = 'S,M,L,XL,XXL' WHERE available_sizes IS NULL"))
            print("Seeded default sizes for existing products")
        except Exception as e:
            print(f"Seeding migration: {e}")

        conn.commit()

if __name__ == "__main__":
    migrate()
