fix(superset): corrigir health check do init.sh e criar banco superset
init.sh tentava conectar ao banco 'superset' (inexistente) para o health check, causando loop infinito. Agora usa banco 'postgres' para verificar se o PostgreSQL está disponível, depois cria o banco 'superset' antes de rodar as migrações. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
953567fa47
commit
6e8a3261bb
|
|
@ -10,10 +10,12 @@ ARCADIA_DB_URL="${ARCADIA_DATABASE_URL:-postgresql://arcadia:arcadia123@db:5432/
|
||||||
|
|
||||||
echo "[Superset Init] Aguardando PostgreSQL..."
|
echo "[Superset Init] Aguardando PostgreSQL..."
|
||||||
until python -c "
|
until python -c "
|
||||||
import psycopg2, os, sys
|
import psycopg2, os, sys, re
|
||||||
try:
|
try:
|
||||||
url = os.environ.get('DATABASE_URL', 'postgresql://arcadia:arcadia123@db:5432/arcadia_superset')
|
# Health check no banco 'postgres' (sempre existe), não no 'superset' que ainda não existe
|
||||||
psycopg2.connect(url)
|
url = os.environ.get('DATABASE_URL', 'postgresql://arcadia:SuaSenhaSegura@db:5432/superset')
|
||||||
|
check_url = re.sub(r'/[^/?]+(\?.*)?$', '/postgres', url)
|
||||||
|
psycopg2.connect(check_url)
|
||||||
except Exception:
|
except Exception:
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
" 2>/dev/null; do
|
" 2>/dev/null; do
|
||||||
|
|
@ -21,6 +23,23 @@ except Exception:
|
||||||
done
|
done
|
||||||
echo "[Superset Init] PostgreSQL disponível!"
|
echo "[Superset Init] PostgreSQL disponível!"
|
||||||
|
|
||||||
|
echo "[Superset Init] Criando banco superset se necessário..."
|
||||||
|
python - <<'DBEOF'
|
||||||
|
import psycopg2, os, re
|
||||||
|
url = os.environ.get('DATABASE_URL', 'postgresql://arcadia:SuaSenhaSegura@db:5432/superset')
|
||||||
|
conn_url = re.sub(r'/[^/?]+(\?.*)?$', '/postgres', url)
|
||||||
|
conn = psycopg2.connect(conn_url)
|
||||||
|
conn.autocommit = True
|
||||||
|
cur = conn.cursor()
|
||||||
|
cur.execute("SELECT 1 FROM pg_database WHERE datname = 'superset'")
|
||||||
|
if not cur.fetchone():
|
||||||
|
cur.execute("CREATE DATABASE superset")
|
||||||
|
print("[Superset Init] Banco 'superset' criado.")
|
||||||
|
else:
|
||||||
|
print("[Superset Init] Banco 'superset' já existe.")
|
||||||
|
conn.close()
|
||||||
|
DBEOF
|
||||||
|
|
||||||
echo "[Superset Init] Rodando migrações do banco..."
|
echo "[Superset Init] Rodando migrações do banco..."
|
||||||
superset db upgrade
|
superset db upgrade
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue