Commit 7b8b62ef9d08fc3c7b618bb9b8c46440f815812d

Authored by Daniel Alves + Diego Araújo + Guilherme Rojas
Committed by Paulo Meireles
1 parent df21659e

[Mezuro] Improved database scripts.

features/support/hooks.rb
  1 +Before do
  2 + if !$dunit
  3 + command = "#{RAILS_ROOT}/plugins/mezuro/script/prepare_kalibro_query_file.sh"
  4 + system command
  5 + $dunit = true
  6 + end
  7 +end
  8 +
1 9 After ('@kalibro_restart') do
2 10 command = "#{RAILS_ROOT}/plugins/mezuro/script/delete_all_kalibro_entries.sh"
3 11 system command
... ...
plugins/mezuro/script/delete_all_kalibro_entries.sh
1 1 #!/bin/bash
2 2  
3   -DATABASE="kalibro_test"
  3 +source plugins/mezuro/script/kalibro_scripts.conf
4 4  
5   -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"
  5 +sudo su postgres -c "export PGPASSWORD=$PASSWORD && psql -q -d $DATABASE -f $QUERYFILE"
... ...
plugins/mezuro/script/kalibro_scripts.conf 0 → 100644
... ... @@ -0,0 +1,6 @@
  1 +# Definition of constants used in kalibro scripts.
  2 +
  3 +DATABASE="kalibro_test"
  4 +PASSWORD="kalibro"
  5 +QUERYFILE=/tmp/query
  6 +EXCEPTION="sequences"
... ...
plugins/mezuro/script/prepare_kalibro_query_file.sh 0 → 100755
... ... @@ -0,0 +1,9 @@
  1 +#!/bin/bash
  2 +
  3 +source plugins/mezuro/script/kalibro_scripts.conf
  4 +
  5 +sudo su postgres -c "export PGPASSWORD=$PASSWORD &&
  6 + if [ -f $QUERYFILE ]
  7 + then rm $QUERYFILE
  8 + fi &&
  9 + 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"
... ...