From 7b8b62ef9d08fc3c7b618bb9b8c46440f815812d Mon Sep 17 00:00:00 2001 From: Daniel Alves + Diego Araújo + Guilherme Rojas Date: Tue, 19 Mar 2013 18:24:32 -0300 Subject: [PATCH] [Mezuro] Improved database scripts. --- features/support/hooks.rb | 8 ++++++++ plugins/mezuro/script/delete_all_kalibro_entries.sh | 4 ++-- plugins/mezuro/script/kalibro_scripts.conf | 6 ++++++ plugins/mezuro/script/prepare_kalibro_query_file.sh | 9 +++++++++ 4 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 plugins/mezuro/script/kalibro_scripts.conf create mode 100755 plugins/mezuro/script/prepare_kalibro_query_file.sh diff --git a/features/support/hooks.rb b/features/support/hooks.rb index 817de4e..7d5f10e 100644 --- a/features/support/hooks.rb +++ b/features/support/hooks.rb @@ -1,3 +1,11 @@ +Before do + if !$dunit + command = "#{RAILS_ROOT}/plugins/mezuro/script/prepare_kalibro_query_file.sh" + system command + $dunit = true + end +end + After ('@kalibro_restart') do command = "#{RAILS_ROOT}/plugins/mezuro/script/delete_all_kalibro_entries.sh" system command diff --git a/plugins/mezuro/script/delete_all_kalibro_entries.sh b/plugins/mezuro/script/delete_all_kalibro_entries.sh index bc89db2..6c01663 100755 --- a/plugins/mezuro/script/delete_all_kalibro_entries.sh +++ b/plugins/mezuro/script/delete_all_kalibro_entries.sh @@ -1,5 +1,5 @@ #!/bin/bash -DATABASE="kalibro_test" +source plugins/mezuro/script/kalibro_scripts.conf -sudo su postgres -c "export PGPASSWORD=\"kalibro\" && 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 '/sequences/d' > /tmp/query && psql -q -d $DATABASE -f /tmp/query && rm /tmp/query" +sudo su postgres -c "export PGPASSWORD=$PASSWORD && psql -q -d $DATABASE -f $QUERYFILE" diff --git a/plugins/mezuro/script/kalibro_scripts.conf b/plugins/mezuro/script/kalibro_scripts.conf new file mode 100644 index 0000000..cd5e78d --- /dev/null +++ b/plugins/mezuro/script/kalibro_scripts.conf @@ -0,0 +1,6 @@ +# Definition of constants used in kalibro scripts. + +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 new file mode 100755 index 0000000..9feb817 --- /dev/null +++ b/plugins/mezuro/script/prepare_kalibro_query_file.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +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' > $QUERYFILE" -- libgit2 0.21.2