32 lines
764 B
Bash
Executable File
32 lines
764 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
|
|
|
|
export YORE_DB="host=localhost port=${DB_PORT} user=${DB_USER} dbname=${DB_DBNAME}"
|
|
|
|
"$@"
|