X-Git-Url: http://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=sql%2Fbuilder.sh;h=387af9a8ecd851380e4921c78be98f5210ad4175;hb=5d823712fb300643950dba20667fb9a277145ab9;hp=74e009c07125b22aa9c34e2e2b6226ab23905b9c;hpb=3ad317381216c7fb25345ecdd10fb87c05d4e73d;p=brisk.git diff --git a/sql/builder.sh b/sql/builder.sh index 74e009c..387af9a 100755 --- a/sql/builder.sh +++ b/sql/builder.sh @@ -3,24 +3,36 @@ # # all this part is from mopshop and we will use it to construct the brisk database # -DBHOST=127.0.0.1 -DBUSER=brisk -DBBASE=brisk -DBPASS=briskpass -PFX="bsk_" + +if [ -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 - . $HOME/.brisk_install + 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 @@ -38,9 +50,6 @@ one_or_all() { # MAIN # sht=0 -if [ -f $HOME/.db.conf ]; then - source $HOME/.db.conf -fi if [ "$1" = "-s" ]; then shift @@ -59,26 +68,28 @@ elif [ "$1" = "build" ]; then ( 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" ; 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" ; ) \ + 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 - psql -h $DBHOST -U $DBUSER $DBBASE -t -q -A -F '|' $@ + 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"