2020-02-06 12:23:47 -05:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
readonly scratch=$(mktemp -d -t tmp.XXXXXXXXXX)
|
|
|
|
|
|
|
|
readonly socket=$scratch/socket
|
|
|
|
readonly data=$scratch/data
|
|
|
|
readonly dbname=hydra-update-dbix
|
|
|
|
|
|
|
|
function finish {
|
|
|
|
set +e
|
|
|
|
pg_ctl -D "$data" \
|
|
|
|
-o "-F -h '' -k \"$socket\"" \
|
|
|
|
-w stop -m immediate
|
|
|
|
|
|
|
|
if [ -f "$data/postmaster.pid" ]; then
|
|
|
|
pg_ctl -D "$data" \
|
|
|
|
-o "-F -h '' -k \"$socket\"" \
|
|
|
|
-w kill TERM "$(cat "$data/postmaster.pid")"
|
|
|
|
fi
|
|
|
|
|
|
|
|
rm -rf "$scratch"
|
|
|
|
}
|
|
|
|
trap finish EXIT
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
mkdir -p "$socket"
|
|
|
|
initdb -D "$data"
|
|
|
|
|
|
|
|
pg_ctl -D "$data" \
|
|
|
|
-o "-F -h '' -k \"${socket}\"" \
|
|
|
|
-w start
|
|
|
|
|
|
|
|
createdb -h "$socket" "$dbname"
|
|
|
|
|
2020-06-05 13:42:55 +02:00
|
|
|
psql -h "$socket" "$dbname" -f ./hydra.sql
|
2020-02-06 12:23:47 -05:00
|
|
|
|
|
|
|
perl -I ../lib \
|
|
|
|
-MDBIx::Class::Schema::Loader=make_schema_at,dump_to_dir:../lib \
|
|
|
|
update-dbix.pl "dbi:Pg:dbname=$dbname;host=$socket"
|