yore/scripts/with-db
2025-09-19 08:55:56 +02:00

30 lines
678 B
Bash
Executable File

#!/usr/bin/env bash
if [ -z "$BASE_DIR" ]; then
BASE_DIR=$(mktemp -d)
fi
export PGDATA="$BASE_DIR/pgdata"
export DB_USER=yore-test
export DB_DBNAME=yore-test
export DB_PORT=5433
# On error or exit: Stop the DB server
stop_db_server() {
pg_ctl stop -o "-p ${DB_PORT}" --wait
}
trap stop_db_server EXIT
if [ ! -s "$PGDATA/PG_VERSION" ]; then
initdb --username="${DB_USER}" --auth=trust || true
DO_CREATE_DB=1
fi
pg_ctl start -o "-p 5433" --wait
if [ -n "$DO_CREATE_DB" ]; then
createdb -p "${DB_PORT}" "${DB_DBNAME}" --username="${DB_USER}" || true
fi
DATABASE_URL="postgres://${DB_USER}@localhost:${DB_PORT}/${DB_DBNAME}?sslmode=disable" dbmate up
"$@"