diff --git a/plugins/mezuro/script/kalibro_scripts.conf b/plugins/mezuro/script/kalibro_scripts.conf index cd5e78d..7896a5c 100644 --- a/plugins/mezuro/script/kalibro_scripts.conf +++ b/plugins/mezuro/script/kalibro_scripts.conf @@ -1,6 +1,8 @@ # Definition of constants used in kalibro scripts. +KALIBRO_DIR=~/kalibro +PSQLFILE=$KALIBRO_DIR/KalibroCore/src/META-INF/PostgreSQL.sql DATABASE="kalibro_test" PASSWORD="kalibro" QUERYFILE=/tmp/query -EXCEPTION="sequences" + diff --git a/plugins/mezuro/script/prepare_kalibro_query_file.sh b/plugins/mezuro/script/prepare_kalibro_query_file.sh index 0740286..cb205a3 100755 --- a/plugins/mezuro/script/prepare_kalibro_query_file.sh +++ b/plugins/mezuro/script/prepare_kalibro_query_file.sh @@ -2,8 +2,16 @@ source plugins/mezuro/script/kalibro_scripts.conf -sudo su postgres -c "export PGPASSWORD=$PASSWORD && - if [ -f $QUERYFILE ] - then rm $QUERYFILE - fi && - psql -q -t -d $DATABASE -c \"SELECT 'DELETE FROM ' || n.nspname || '.' || c.relname || ' CASCADE;' FROM pg_catalog.pg_class AS c LEFT JOIN pg_catalog.pg_namespace AS n ON n.oid = c.relnamespace WHERE relkind = 'r' AND n.nspname NOT IN ('pg_catalog', 'pg_toast') AND pg_catalog.pg_table_is_visible(c.oid)\" | sed '/$EXCEPTION/d' | sort > $QUERYFILE" +DROPLIMIT="END OF DROP TABLES" +RANGE=$(grep -n "$DROPLIMIT" $PSQLFILE | cut -d":" -f1) +START=1 +END=$(($RANGE - 1)) +CUT=$START,$END\!d +REPLACE="s/DROP TABLE IF EXISTS sequences,/TRUNCATE/" + +if [ -f $QUERYFILE ] + then sudo rm $QUERYFILE +fi + +sed -e "$CUT" -e "$REPLACE" $PSQLFILE > $QUERYFILE +sudo chown postgres.postgres $QUERYFILE -- libgit2 0.21.2