import asyncio import os import sys # Add backend to path sys.path.append(os.path.join(os.getcwd())) from sqlalchemy import text from sqlalchemy.ext.asyncio import create_async_engine, async_sessionmaker, AsyncSession from app.core.config import settings async def add_column(): engine = create_async_engine(settings.database_url) async_session = async_sessionmaker(engine, expire_on_commit=False) async with async_session() as session: try: print("Adding config_json column to providers table...") await session.execute(text("ALTER TABLE providers ADD COLUMN IF NOT EXISTS config_json JSONB DEFAULT '{}'::jsonb")) await session.commit() print("Successfully added config_json column.") except Exception as e: print(f"Error adding column: {e}") await session.rollback() if __name__ == "__main__": import asyncio if sys.platform == "win32": asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy()) asyncio.run(add_column())