X-Git-Url: http://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=sql%2Fbuilder.sh;h=2a02633a708a5d97e0ffb9b26dad9b7c15e42f8e;hb=f86c5a3da4db71469a15dea60bc9d817b61873e3;hp=3bf9ecafacf3075f2ff1ccf100d0ac7699b9c8db;hpb=87a58bbb56440dc5e51e8dde854ed2b14e27098b;p=brisk.git diff --git a/sql/builder.sh b/sql/builder.sh index 3bf9eca..2a02633 100755 --- a/sql/builder.sh +++ b/sql/builder.sh @@ -1,35 +1,56 @@ #! /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-db.conf ]; then + source $HOME/.brisk-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_install ]; then + source $HOME/.brisk_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 @@ -43,29 +64,33 @@ elif [ "$1" = "destroy" ]; then 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" | sqlexe $sht else echo " USAGE" echo " ./builder create" @@ -74,6 +99,7 @@ else echo " ./builder build" echo " ./builder rebuild" echo " ./builder psql" + echo " ./builder piped" echo " ./builder add " echo " ./builder dump [dumpfile]" echo " ./builder dumpall [dumpfile]"