From 62c40358a208518abde95aa28e9540f041d3e2d2 Mon Sep 17 00:00:00 2001 From: Nikos Papadakis Date: Thu, 14 Dec 2023 14:45:22 +0200 Subject: [PATCH] nix: improve prymn_db script, adding a 'shell' command --- nix/scripts.nix | 36 +++++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/nix/scripts.nix b/nix/scripts.nix index b2a4ea6..d83d63f 100644 --- a/nix/scripts.nix +++ b/nix/scripts.nix @@ -15,19 +15,33 @@ export PGHOST=/tmp export DB_LOG=$PROJECT_ROOT_DIR/.db/log - if [ ! -d "$PGDATA" ]; then - initdb "$PGDATA" --auth=trust - fi + start_db() { + if [ ! -d "$PGDATA" ]; then + initdb "$PGDATA" --auth=trust + fi - if ! pg_ctl status >/dev/null; then - pg_ctl start -l "$DB_LOG" -o "-c unix_socket_directories=$PGHOST" - echo "starting your dev database..." - fi + if ! pg_ctl status >/dev/null; then + pg_ctl start -l "$DB_LOG" -o "-c unix_socket_directories=$PGHOST" + echo "starting your dev database..." + fi - user_exists=$(psql --csv -t -d postgres -c "SELECT count(*) FROM pg_user WHERE usename='postgres'") - if [ "$user_exists" != "1" ]; then - createuser -s -h "$PGHOST" postgres - fi + user_exists=$(psql --csv -t -d postgres -c "SELECT count(*) FROM pg_user WHERE usename='postgres'") + if [ "$user_exists" != "1" ]; then + createuser -s -h "$PGHOST" postgres + fi + } + + command="''${1-default}" + case $command in + shell) + psql -U postgres + exit 0 + ;; + start | default | *) + start_db + exit 0 + ;; + esac ''; }; }