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