Commit 7d617038d64d41cca34b1c36b4e2f99a3373e97a

Authored by Rodrigo Souto
1 parent 9c497c0b

backup: make tasks rails_env aware

Showing 1 changed file with 8 additions and 6 deletions   Show diff stats
lib/tasks/backup.rake
@@ -18,14 +18,15 @@ backup_dirs = [ @@ -18,14 +18,15 @@ backup_dirs = [
18 desc "Creates a backup of the database and uploaded files" 18 desc "Creates a backup of the database and uploaded files"
19 task :backup => :check_backup_support do 19 task :backup => :check_backup_support do
20 dirs = backup_dirs.select { |d| File.exists?(d) } 20 dirs = backup_dirs.select { |d| File.exists?(d) }
  21 + rails_env = ENV["RAILS_ENV"] || 'production'
21 22
22 backup_name = Time.now.strftime('%Y-%m-%d-%R') 23 backup_name = Time.now.strftime('%Y-%m-%d-%R')
23 backup_file = File.join('tmp/backup', backup_name) + '.tar.gz' 24 backup_file = File.join('tmp/backup', backup_name) + '.tar.gz'
24 mkdir_p 'tmp/backup' 25 mkdir_p 'tmp/backup'
25 dump = File.join('tmp/backup', backup_name) + '.sql' 26 dump = File.join('tmp/backup', backup_name) + '.sql'
26 27
27 - database = $config['production']['database']  
28 - host = $config['production']['host'] 28 + database = $config[rails_env]['database']
  29 + host = $config[rails_env]['host']
29 host = host && "-h #{host}" || "" 30 host = host && "-h #{host}" || ""
30 sh "pg_dump #{host} #{database} > #{dump}" 31 sh "pg_dump #{host} #{database} > #{dump}"
31 32
@@ -52,6 +53,7 @@ end @@ -52,6 +53,7 @@ end
52 desc "Restores a backup created previousy with \`rake backup\`" 53 desc "Restores a backup created previousy with \`rake backup\`"
53 task :restore => :check_backup_support do 54 task :restore => :check_backup_support do
54 backup = ENV["BACKUP"] 55 backup = ENV["BACKUP"]
  56 + rails_env = ENV["RAILS_ENV"] || 'production'
55 unless backup 57 unless backup
56 puts "usage: rake restore BACKUP=/path/to/backup" 58 puts "usage: rake restore BACKUP=/path/to/backup"
57 exit 1 59 exit 1
@@ -81,9 +83,9 @@ task :restore => :check_backup_support do @@ -81,9 +83,9 @@ task :restore => :check_backup_support do
81 end 83 end
82 dump = dumps.first 84 dump = dumps.first
83 85
84 - database = $config['production']['database']  
85 - username = $config['production']['username']  
86 - host = $config['production']['host'] 86 + database = $config[rails_env]['database']
  87 + username = $config[rails_env]['username']
  88 + host = $config[rails_env]['host']
87 host = host && "-h #{host}" || "" 89 host = host && "-h #{host}" || ""
88 90
89 puts "WARNING: backups should be restored to an empty database, otherwise" 91 puts "WARNING: backups should be restored to an empty database, otherwise"
@@ -102,7 +104,7 @@ task :restore => :check_backup_support do @@ -102,7 +104,7 @@ task :restore => :check_backup_support do
102 end 104 end
103 105
104 sh 'tar', 'xaf', backup 106 sh 'tar', 'xaf', backup
105 - sh "rails dbconsole production < #{dump}" 107 + sh "rails dbconsole #{rails_env} < #{dump}"
106 rm_f dump 108 rm_f dump
107 109
108 puts "****************************************************" 110 puts "****************************************************"