Implantação da criação de romaneios

This commit is contained in:
2026-08-27 19:51:38 -03:00
parent b3464e3acd
commit e2b74068d5
13 changed files with 497 additions and 39 deletions

View File

@@ -40,6 +40,30 @@ if ! bundle check >/dev/null 2>&1; then
fi
# ── 4. Migrations ────────────────────────────────────────────────────────────
# ANTES de tentar, confere o DATABASE_URL. Este projeto NÃO tem
# config/database.yml: a conexão inteira sai dessa única variável (as DB_HOST,
# DB_USER etc. do .env não são lidas por ninguém — são só documentação).
#
# POR QUE ESTA CHECAGEM EXISTE: em 27/08/2026 o .env foi recriado a partir do
# .env.example e o DATABASE_URL ficou com o valor de exemplo. O resultado foram
# 10 tentativas cuspindo 40 linhas de backtrace até uma
# `URI::InvalidURIError: ... SEU_IP` no fim — ilegível no log do Container
# Manager. Placeholder e URL vazia não são "banco fora do ar": nenhuma espera
# resolve, então falha na hora e diz o que fazer.
if [ -z "${DATABASE_URL:-}" ]; then
log "ERRO: DATABASE_URL vazia. Sem config/database.yml, é ela que define o banco."
log " Formato: postgresql://USUARIO:SENHA@HOST:5432/NOME_DO_BANCO"
exit 1
fi
case "$DATABASE_URL" in
*SEU_IP*|*senha_segura*|*SEU_HOST*)
log "ERRO: DATABASE_URL ainda está com o valor de EXEMPLO do .env.example:"
log " $(printf '%s' "$DATABASE_URL" | sed 's|://[^@]*@|://***:***@|')"
log " Preencha com o IP, o usuário e a senha reais do PostgreSQL."
exit 1
;;
esac
# O PostgreSQL é EXTERNO ao compose: num reboot do servidor o Rails pode subir
# antes do banco aceitar conexão. Sem a espera abaixo o container sairia com
# erro e o `restart: unless-stopped` ficaria reiniciando em loop — parecendo