Files
octto-engenharia/frontend/start.sh

35 lines
1.0 KiB
Bash

#!/bin/sh
set -e
# Função para esperar o banco de dados ficar pronto
wait_for_db() {
echo "⏳ Aguardando banco de dados em $DATABASE_URL..."
max_retries=30
count=0
while ! ./node_modules/.bin/prisma db push --dry-run > /dev/null 2>&1; do
count=$((count + 1))
if [ $count -gt $max_retries ]; then
echo "❌ Erro: Banco de dados não responde após $max_retries tentativas."
exit 1
fi
echo "🔄 Tentativa $count/$max_retries: Banco ainda não disponível, aguardando 2s..."
sleep 2
done
echo "✅ Banco de dados detectado!"
}
# Só executa se DATABASE_URL estiver definida
if [ -n "$DATABASE_URL" ]; then
wait_for_db
echo "🔄 Sincronizando tabelas do Prisma (db push)..."
./node_modules/.bin/prisma db push --accept-data-loss
echo "🌱 Executando seed..."
./node_modules/.bin/prisma db seed || echo "⚠️ Seed falhou ou já foi executado"
else
echo "⚠️ DATABASE_URL não configurada, pulando migrations."
fi
echo "🚀 Iniciando aplicação..."
exec node server.js