Commit 9e6fc8b5269f8583e88c67c7cdc356f76a8237ed

Authored by Jacob Vosmaer
1 parent 68590fdd

Report failure of DB backup commands

Showing 1 changed file with 16 additions and 2 deletions   Show diff stats
lib/backup/database.rb
@@ -11,23 +11,29 @@ module Backup @@ -11,23 +11,29 @@ module Backup
11 end 11 end
12 12
13 def dump 13 def dump
14 - case config["adapter"] 14 + success = case config["adapter"]
15 when /^mysql/ then 15 when /^mysql/ then
  16 + print "Dumping MySQL database #{config['database']} ... "
16 system('mysqldump', *mysql_args, config['database'], out: db_file_name) 17 system('mysqldump', *mysql_args, config['database'], out: db_file_name)
17 when "postgresql" then 18 when "postgresql" then
  19 + print "Dumping PostgreSQL database #{config['database']} ... "
18 pg_env 20 pg_env
19 system('pg_dump', config['database'], out: db_file_name) 21 system('pg_dump', config['database'], out: db_file_name)
20 end 22 end
  23 + report_success(success)
21 end 24 end
22 25
23 def restore 26 def restore
24 - case config["adapter"] 27 + success = case config["adapter"]
25 when /^mysql/ then 28 when /^mysql/ then
  29 + print "Restoring MySQL database #{config['database']} ... "
26 system('mysql', *mysql_args, config['database'], in: db_file_name) 30 system('mysql', *mysql_args, config['database'], in: db_file_name)
27 when "postgresql" then 31 when "postgresql" then
  32 + print "Restoring PostgreSQL database #{config['database']} ... "
28 pg_env 33 pg_env
29 system('psql', config['database'], '-f', db_file_name) 34 system('psql', config['database'], '-f', db_file_name)
30 end 35 end
  36 + report_success(success)
31 end 37 end
32 38
33 protected 39 protected
@@ -54,5 +60,13 @@ module Backup @@ -54,5 +60,13 @@ module Backup
54 ENV['PGPORT'] = config["port"].to_s if config["port"] 60 ENV['PGPORT'] = config["port"].to_s if config["port"]
55 ENV['PGPASSWORD'] = config["password"].to_s if config["password"] 61 ENV['PGPASSWORD'] = config["password"].to_s if config["password"]
56 end 62 end
  63 +
  64 + def report_success(success)
  65 + if success
  66 + puts '[DONE]'.green
  67 + else
  68 + puts '[FAILED]'.red
  69 + end
  70 + end
57 end 71 end
58 end 72 end