diff --git a/frontend/start.sh b/frontend/start.sh index adc9a17..9fe8f5d 100644 --- a/frontend/start.sh +++ b/frontend/start.sh @@ -1,38 +1,38 @@ #!/bin/sh -# REMOVIDO set -e para o script não morrer antes de nos mostrar o erro +# Script de inicialização otimizado -echo "🔎 --- SUPER DIAGNÓSTICO DE CONEXÃO (v3) ---" +echo "🔎 --- CONFIGURAÇÃO DE AMBIENTE ---" -# Extrai os dados da URL usando Node +# Extrai os dados da URL usando Node para o diagnóstico export DB_HOST=$(node -e "try { const u = new URL(process.env.DATABASE_URL); console.log(u.hostname); } catch(e) { console.log('error'); }") export DB_PORT=$(node -e "try { const u = new URL(process.env.DATABASE_URL); console.log(u.port || '5432'); } catch(e) { console.log('5432'); }") echo "📡 Host: $DB_HOST | Porta: $DB_PORT" -# Função de espera com exibição de erro real wait_for_db() { - echo "⏳ Validando login no banco..." - max_retries=10 + echo "⏳ Sincronizando com o banco de dados..." + max_retries=15 count=0 while [ $count -lt $max_retries ]; do count=$((count + 1)) echo "🔄 Tentativa $count/$max_retries..." - # Roda o Prisma e captura TUDO o que ele disser - PRISMA_OUTPUT=$(./node_modules/.bin/prisma db push --dry-run 2>&1) + # Tenta rodar o push diretamente (o comando correto é sem --dry-run) + PRISMA_OUTPUT=$(./node_modules/.bin/prisma db push --accept-data-loss 2>&1) EXIT_CODE=$? if [ $EXIT_CODE -eq 0 ]; then - echo "✅ SUCESSO: Autenticado com sucesso!" + echo "✅ SUCESSO: Tabelas sincronizadas e banco conectado!" + echo "$PRISMA_OUTPUT" return 0 fi - echo "❌ ERRO DETECTADO PELO PRISMA:" + echo "❌ FALHA NO PRISMA:" echo "----------------------------------------------------------------" - echo "$PRISMA_OUTPUT" + echo "$PRISMA_OUTPUT" | head -n 20 echo "----------------------------------------------------------------" - echo "😴 Aguardando 5s..." + echo "😴 Aguardando 5s para nova tentativa..." sleep 5 done return 1 @@ -40,14 +40,15 @@ wait_for_db() { if [ -n "$DATABASE_URL" ]; then if wait_for_db; then - echo "🔄 Sincronizando tabelas..." - ./node_modules/.bin/prisma db push --accept-data-loss - ./node_modules/.bin/prisma db seed || echo "⚠️ Seed ja existia." + echo "🌱 Executando seed..." + ./node_modules/.bin/prisma db seed || echo "⚠️ Seed já configurado ou falhou." else - echo "❌ FALHA CRÍTICA: Não foi possível conectar após várias tentativas." + echo "❌ FALHA CRÍTICA: Não foi possível sincronizar com o banco." exit 1 fi +else + echo "⚠️ DATABASE_URL não encontrada. O site pode falhar." fi -echo "🚀 Iniciando aplicação..." +echo "🚀 Iniciando Octto Engenharia..." exec node server.js