sass-imobiliaria/backend/entrypoint.sh
MatheusAlves96 d99978cd7a
All checks were successful
CI/CD → Deploy via SSH / Build & Push Docker Images (push) Successful in 38s
CI/CD → Deploy via SSH / Deploy via SSH (push) Successful in 3m12s
CI/CD → Deploy via SSH / Validate HTTPS & Endpoints (push) Successful in 1m8s
fix(backend): never run seed.py in production
entrypoint.sh now requires RUN_SEED=true to execute the seed script.
Without it, only 'flask db upgrade heads' runs on container start.

docker-compose.yml (dev) sets RUN_SEED=true and RUN_CSV_IMPORT=true
so local development behaviour is unchanged.

Production (docker-compose.prod.yml) does not set these variables,
so the database is no longer wiped on every deploy.
2026-04-23 00:03:56 -03:00

32 lines
839 B
Bash

#!/bin/sh
set -e
echo "==> Aguardando banco de dados ficar disponível..."
# Flask-Migrate requer o banco para criar tabelas
until uv run python -c "
import os, psycopg2
conn = psycopg2.connect(os.environ['DATABASE_URL'])
conn.close()
print('Banco disponível.')
" 2>/dev/null; do
echo " Banco ainda não disponível, aguardando 2s..."
sleep 2
done
echo "==> Rodando migrações..."
uv run flask db upgrade heads
if [ "${RUN_SEED:-false}" = "true" ]; then
echo "==> Executando seeder (RUN_SEED=true)..."
uv run python seeds/seed.py
else
echo "==> Seeder ignorado em produção (RUN_SEED não definido)."
fi
if [ "${RUN_CSV_IMPORT:-false}" = "true" ]; then
echo "==> Importando imóveis do CSV (idempotente)..."
uv run python seeds/import_from_csv.py
fi
echo "==> Iniciando servidor Flask..."
exec uv run python run.py