#! /bin/bash
-exit 0
#
# all this part is from mopshop and we will use it to construct the brisk database
#
-DBHOST=127.0.0.1
-DBUSER=mopshop
-DBBASE=mopshop
-DBPASS=sozopoco
-PFX="msh_"
+if [ -f $HOME/.brisk-spu-db.conf ]; then
+ source $HOME/.brisk-spu-db.conf
+elif [ -f $HOME/.db.conf ]; then
+ source $HOME/.db.conf
+else
+ DBHOST=127.0.0.1
+ DBUSER=brisk
+ DBPORT=5432
+ DBBASE=brisk
+ DBPASS=briskpass
+ PFX="bsk_"
+fi
+
+if [ -f $HOME/.brisk_spu_install ]; then
+ source $HOME/.brisk_spu_install
+fi
+pg_args=""
+test "$DBHOST" != "" && pg_args="$pg_args -h $DBHOST"
+test "$DBUSER" != "" && pg_args="$pg_args -U $DBUSER"
+test "$DBPORT" != "" && pg_args="$pg_args -p $DBPORT"
+test "$DBBASE" != "" && pg_args="$pg_args $DBBASE"
+
sqlexe () {
local sht
sht=$1
if [ $sht -eq 1 ]; then
- sed "s/#PFX#/$PFX/g" | psql -a -h $DBHOST -U $DBUSER $DBBASE 2>&1 | egrep 'ERROR|^-- MESG'
+ sed "s/#PFX#/$PFX/g" | psql -a $pg_args 2>&1 | egrep 'ERROR|^-- MESG'
else
- sed "s/#PFX#/$PFX/g" | psql -a -h $DBHOST -U $DBUSER $DBBASE
+ sed "s/#PFX#/$PFX/g" | psql -a $pg_args
fi
return 0
}
+one_or_all() {
+ if [ "$1" = "" ]; then
+ cat sql.d/*.sql
+ else
+ cat "$1"
+ fi
+}
+
#
# MAIN
#
sht=0
-if [ -f $HOME/.db.conf ]; then
- source $HOME/.db.conf
-fi
if [ "$1" = "-s" ]; then
shift
echo "su root"
su root -c "su postgres -c \"dropdb $DBBASE && dropuser $DBUSER\""
elif [ "$1" = "clean" ]; then
- ( echo "-- MESG: clean start" ; cat sql.d/*.sql | grep -i '^drop' | tac ; echo "-- MESG: clean end" ; ) | sqlexe $sht
+ ( echo "-- MESG: clean start" ; one_or_all $2 | grep -i '^drop' | tac ; echo "-- MESG: clean end" ; ) | sqlexe $sht
elif [ "$1" = "build" ]; then
- ( echo "-- MESG: build start" ; cat sql.d/*.sql | grep -iv '^drop' ; echo "-- MESG: build end" ; ) | sqlexe $sht
+ ( echo "-- MESG: build start" ; one_or_all $2 | grep -iv '^drop' ; echo "-- MESG: build end" ; ) | sqlexe $sht
elif [ "$1" = "rebuild" ]; then
- ( echo "-- MESG: clean start" ; cat sql.d/*.sql | grep -i '^drop' | tac ; echo "-- MESG: clean end" ; \
- echo "-- MESG: build start" ; cat sql.d/*.sql | grep -iv '^drop' ; echo "-- MESG: build end" ; ) \
+ ( echo "-- MESG: clean start" ; one_or_all $2 | grep -i '^drop' | tac ; echo "-- MESG: clean end" ; \
+ echo "-- MESG: build start" ; one_or_all $2 | grep -iv '^drop' ; echo "-- MESG: build end" ; ) \
| sqlexe $sht
elif [ "$1" = "psql" ]; then
- psql -h $DBHOST -U $DBUSER $DBBASE
+ shift
+ psql $pg_args $@
+elif [ "$1" = "piped" ]; then
+ shift
+ psql $pg_args -t -q -A -F '|' $@
elif [ "$1" = "dump" ]; then
- if [ $# -eq 1 ]; then
- pg_dump -a --inserts -h $DBHOST -U $DBUSER $DBBASE
- else
- pg_dump -a --inserts -h $DBHOST -U $DBUSER $DBBASE > $2
- fi
+ if [ $# -eq 1 ]; then
+ pg_dump -a --inserts -h $DBHOST -U $DBUSER $DBBASE
+ else
+ pg_dump -a --inserts -h $DBHOST -U $DBUSER $DBBASE > $2
+ fi
elif [ "$1" = "dumpall" ]; then
- if [ $# -eq 1 ]; then
- pg_dump -h $DBHOST -U $DBUSER $DBBASE
- else
- pg_dump -h $DBHOST -U $DBUSER $DBBASE > $2
- fi
+ if [ $# -eq 1 ]; then
+ pg_dump -h $DBHOST -U $DBUSER $DBBASE
+ else
+ pg_dump -h $DBHOST -U $DBUSER $DBBASE > $2
+ fi
elif [ "$1" = "add" ]; then
- cat "$2" | psql -h $DBHOST -U $DBUSER $DBBASE
+ cat "$2" | psql $pg_args
else
echo " USAGE"
echo " ./builder create"
echo " ./builder build"
echo " ./builder rebuild"
echo " ./builder psql"
+ echo " ./builder piped"
echo " ./builder add <filesql>"
echo " ./builder dump [dumpfile]"
echo " ./builder dumpall [dumpfile]"