import asyncio import os import sys sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) from app.db.database import async_engine from sqlalchemy import text async def upgrade_db(): print("🚀 Checking database schema...") async with async_engine.begin() as conn: # Check if column exists result = await conn.execute(text( "SELECT column_name FROM information_schema.columns WHERE table_name='providers' AND column_name='config_json';" )) if result.scalar(): print("✅ Column 'config_json' already exists.") else: print("⚠️ Column 'config_json' missing. Adding it now...") await conn.execute(text("ALTER TABLE providers ADD COLUMN config_json JSON;")) print("✅ Column 'config_json' added successfully.") if __name__ == "__main__": if sys.platform == 'win32': asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy()) asyncio.run(upgrade_db())