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