Merge branch 'sac-a-push' of mop.mine.nu:brisk into sac-a-push
[brisk.git] / sql / builder.sh
index 3bf9eca..7cdcdf2 100755 (executable)
@@ -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-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
@@ -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" | psql $pg_args
 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 <filesql>"
     echo "   ./builder dump [dumpfile]"
     echo "   ./builder dumpall [dumpfile]"