from fastapi import FastAPI from app.api.routes import router from app.api.tool_routes import router as tool_router from app.db.database import Base, engine # 👇 IMPORTANTE: registrar models no metadata from app.db.models import Tool app = FastAPI(title="AI Orquestrador") app.include_router(router) app.include_router(tool_router) @app.on_event("startup") async def startup_event(): """ Inicializa o banco de dados e executa seeds automaticamente. """ try: print("🚀 [Auto-Seed] Iniciando configuração do banco...") # 1. Cria as tabelas se não existirem # O engine deve estar configurado para usar o Unix Socket no Cloud Run Base.metadata.create_all(bind=engine) # 2. Executa a seed das ferramentas from app.db.tool_seed import seed_tools seed_tools() print("✅ [Auto-Seed] Tabelas e ferramentas configuradas com sucesso.") except Exception as e: # IMPORTANTE: Logamos o erro mas NÃO damos 'raise e' # Isso permite que o Uvicorn abra a porta 8080 e o deploy complete print(f"⚠️ [Auto-Seed] Aviso: Falha na inicialização automática: {e}") print("A aplicação tentará operar, verifique a conexão com o Cloud SQL.")