fix(dev): make clear_db.sh actual bash and drop the inline password
This commit is contained in:
+24
-4
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user