|
|
|
|
@ -2,6 +2,8 @@ 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")
|
|
|
|
|
|
|
|
|
|
@ -12,17 +14,18 @@ app.include_router(tool_router)
|
|
|
|
|
@app.on_event("startup")
|
|
|
|
|
def startup_event():
|
|
|
|
|
"""
|
|
|
|
|
Inicializa o banco de dados na primeira execução:
|
|
|
|
|
- Cria todas as tabelas
|
|
|
|
|
- Faz seed das tools iniciais
|
|
|
|
|
Inicializa o banco de dados e executa seeds se necessário.
|
|
|
|
|
"""
|
|
|
|
|
try:
|
|
|
|
|
# Cria as tabelas se não existirem
|
|
|
|
|
print("🚀 Inicializando banco de dados...")
|
|
|
|
|
|
|
|
|
|
Base.metadata.create_all(bind=engine)
|
|
|
|
|
|
|
|
|
|
# Seed das tools
|
|
|
|
|
|
|
|
|
|
from app.db.tool_seed import seed_tools
|
|
|
|
|
seed_tools()
|
|
|
|
|
|
|
|
|
|
print("✅ Banco inicializado com sucesso.")
|
|
|
|
|
|
|
|
|
|
except Exception as e:
|
|
|
|
|
print(f"⚠️ Erro ao inicializar banco de dados: {e}")
|
|
|
|
|
# Não falha a aplicação, apenas registra o erro
|
|
|
|
|
print(f"❌ Erro ao inicializar banco: {e}")
|
|
|
|
|
raise e
|