--- /dev/null
+# This script is meant to be run with `source` so it can set environment variables.
+
+export PGDATA="$PWD/dev_pgdata"
+export PGHOST=$PWD
+export LEMMY_DATABASE_URL="postgresql://lemmy:password@/lemmy?host=$PWD"
+
+# If cluster exists, stop the server and delete the cluster
+if [ -d $PGDATA ]
+then
+ # Prevent `stop` from failing if server already stopped
+ pg_ctl restart > /dev/null
+ pg_ctl stop
+ rm -rf $PGDATA
+fi
+
+# Create cluster
+initdb --username=postgres --auth=trust --no-instructions
+
+# Start server that only listens to socket in current directory
+pg_ctl start --options="-c listen_addresses= -c unix_socket_directories=$PWD" > /dev/null
+
+# Setup database
+psql -c "CREATE USER lemmy WITH PASSWORD 'password' SUPERUSER;" -U postgres
+psql -c "CREATE DATABASE lemmy WITH OWNER lemmy;" -U postgres
#!/usr/bin/env bash
set -e
+CWD="$(cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)"
+
+cd $CWD/../
+
PACKAGE="$1"
echo "$PACKAGE"
-psql -U lemmy -d postgres -c "DROP DATABASE lemmy;"
-psql -U lemmy -d postgres -c "CREATE DATABASE lemmy;"
+source scripts/start_dev_db.sh
-export LEMMY_DATABASE_URL=postgres://lemmy:password@localhost:5432/lemmy
# tests are executed in working directory crates/api (or similar),
# so to load the config we need to traverse to the repo root
export LEMMY_CONFIG_LOCATION=../../config/config.hjson
fi
# Add this to do printlns: -- --nocapture
+
+pg_ctl stop
+rm -rf $PGDATA