fix(dev): make clear_db.sh actual bash and drop the inline password

This commit is contained in:
Alexandre Possebom
2026-07-28 18:45:42 -03:00
parent a7284e3af0
commit 3188de76c5
+24 -4
View File
@@ -1,7 +1,27 @@
#!/bin/bash
# Dropa e recria o banco do zero.
#
# As credenciais vem do DATABASE_URL: do ambiente, se ja exportado, senao do
# .env. Nada de senha em texto no script (a versao antiga tinha, e usava
# `set -Ux`, que e fish, num arquivo que declara bash: a variavel nunca era
# exportada).
set -e
cd "$(dirname "$0")"
echo "drop database agenda;" | psql postgres -U agenda
echo "create database agenda;"| psql postgres -U agenda
if [ -z "$DATABASE_URL" ]; then
set -a
source .env
set +a
fi
set -Ux DATABASE_URL postgres://agenda:!agenda123@localhost:5432/agenda
sqlx migrate run
DB="${DATABASE_URL##*/}"
ADMIN_URL="${DATABASE_URL%/*}/postgres"
psql "$ADMIN_URL" -c "DROP DATABASE IF EXISTS $DB;"
psql "$ADMIN_URL" -c "CREATE DATABASE $DB;"
if command -v sqlx > /dev/null; then
sqlx migrate run
else
echo "sqlx-cli nao instalado; as migrations rodam no proximo 'cargo run'."
fi