fix: correct prisma command in start-up script

This commit is contained in:
Erik
2026-03-07 22:36:04 -03:00
parent 84697f5ecb
commit febe5437ff

View File

@@ -1,38 +1,38 @@
#!/bin/sh #!/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_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'); }") 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" echo "📡 Host: $DB_HOST | Porta: $DB_PORT"
# Função de espera com exibição de erro real
wait_for_db() { wait_for_db() {
echo "⏳ Validando login no banco..." echo "⏳ Sincronizando com o banco de dados..."
max_retries=10 max_retries=15
count=0 count=0
while [ $count -lt $max_retries ]; do while [ $count -lt $max_retries ]; do
count=$((count + 1)) count=$((count + 1))
echo "🔄 Tentativa $count/$max_retries..." echo "🔄 Tentativa $count/$max_retries..."
# Roda o Prisma e captura TUDO o que ele disser # Tenta rodar o push diretamente (o comando correto é sem --dry-run)
PRISMA_OUTPUT=$(./node_modules/.bin/prisma db push --dry-run 2>&1) PRISMA_OUTPUT=$(./node_modules/.bin/prisma db push --accept-data-loss 2>&1)
EXIT_CODE=$? EXIT_CODE=$?
if [ $EXIT_CODE -eq 0 ]; then if [ $EXIT_CODE -eq 0 ]; then
echo "✅ SUCESSO: Autenticado com sucesso!" echo "✅ SUCESSO: Tabelas sincronizadas e banco conectado!"
echo "$PRISMA_OUTPUT"
return 0 return 0
fi fi
echo "❌ ERRO DETECTADO PELO PRISMA:" echo "❌ FALHA NO PRISMA:"
echo "----------------------------------------------------------------" echo "----------------------------------------------------------------"
echo "$PRISMA_OUTPUT" echo "$PRISMA_OUTPUT" | head -n 20
echo "----------------------------------------------------------------" echo "----------------------------------------------------------------"
echo "😴 Aguardando 5s..." echo "😴 Aguardando 5s para nova tentativa..."
sleep 5 sleep 5
done done
return 1 return 1
@@ -40,14 +40,15 @@ wait_for_db() {
if [ -n "$DATABASE_URL" ]; then if [ -n "$DATABASE_URL" ]; then
if wait_for_db; then if wait_for_db; then
echo "🔄 Sincronizando tabelas..." echo "🌱 Executando seed..."
./node_modules/.bin/prisma db push --accept-data-loss ./node_modules/.bin/prisma db seed || echo "⚠️ Seed já configurado ou falhou."
./node_modules/.bin/prisma db seed || echo "⚠️ Seed ja existia."
else 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 exit 1
fi fi
else
echo "⚠️ DATABASE_URL não encontrada. O site pode falhar."
fi fi
echo "🚀 Iniciando aplicação..." echo "🚀 Iniciando Octto Engenharia..."
exec node server.js exec node server.js