|
|
|
|
@ -12,20 +12,25 @@ app.include_router(tool_router)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@app.on_event("startup")
|
|
|
|
|
def startup_event():
|
|
|
|
|
async def startup_event():
|
|
|
|
|
"""
|
|
|
|
|
Inicializa o banco de dados e executa seeds se necessário.
|
|
|
|
|
Inicializa o banco de dados e executa seeds automaticamente.
|
|
|
|
|
"""
|
|
|
|
|
try:
|
|
|
|
|
print("🚀 Inicializando banco de dados...")
|
|
|
|
|
|
|
|
|
|
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("✅ Banco inicializado com sucesso.")
|
|
|
|
|
print("✅ [Auto-Seed] Tabelas e ferramentas configuradas com sucesso.")
|
|
|
|
|
|
|
|
|
|
except Exception as e:
|
|
|
|
|
print(f"❌ Erro ao inicializar banco: {e}")
|
|
|
|
|
raise 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.")
|