fix: correct prisma command in start-up script
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user