Files
schdlr/clear_db.sh

28 lines
689 B
Bash
Executable File

#!/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")"
if [ -z "$DATABASE_URL" ]; then
set -a
source .env
set +a
fi
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