Report abuse
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
namespace :elvino do
namespace :db do
desc "Clone the production database to the local database."
task :download, :roles => :db do
require 'yaml'
dbcfg = YAML::load_file('config/database.yml')
pipe = IO.popen("gzcat | mysql5 -uroot #{dbcfg['development']['database']}", 'w')
run "mysqldump -u#{dbcfg['production']['username']} -p --skip-lock-tables #{dbcfg['production']['database']} | gzip" do |channel, stream, data|
if data =~ /^Enter password:/
channel.send_data "#{dbcfg['production']['password']}\n"
next
end
pipe.write data
break if stream == :err
end
pipe.close
end
end
end
|