Commit 7d617038d64d41cca34b1c36b4e2f99a3373e97a
1 parent
9c497c0b
Exists in
master
and in
21 other branches
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 "****************************************************" | ... | ... |