Class: Database::Remote
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
- #download(local_file = "#{output_file}") ⇒ Object
- #dump ⇒ Object
-
#initialize(cap_instance) ⇒ Remote
constructor
A new instance of Remote.
-
#load(file, cleanup) ⇒ Object
cleanup = true removes the mysqldump file after loading, false leaves it in db/.
Methods inherited from Base
#credentials, #database, #mysql?
Constructor Details
#initialize(cap_instance) ⇒ Remote
Returns a new instance of Remote.
35 36 37 38 |
# File 'lib/mysql.rb', line 35 def initialize(cap_instance) super(cap_instance) @cap.run("cat #{@cap.current_path}/config/database.yml") { |c, s, d| @config = YAML.load(d)[(@cap.rails_env || 'production').to_s] } end |
Instance Method Details
#download(local_file = "#{output_file}") ⇒ Object
45 46 47 48 |
# File 'lib/mysql.rb', line 45 def download(local_file = "#{output_file}") remote_file = "#{@cap.current_path}/#{output_file}" @cap.get remote_file, local_file end |
#dump ⇒ Object
40 41 42 43 |
# File 'lib/mysql.rb', line 40 def dump @cap.run "cd #{@cap.current_path}; #{dump_cmd} | bzip2 - - > #{output_file}" self end |
#load(file, cleanup) ⇒ Object
cleanup = true removes the mysqldump file after loading, false leaves it in db/
51 52 53 54 55 |
# File 'lib/mysql.rb', line 51 def load(file, cleanup) unzip_file = File.join(File.dirname(file), File.basename(file, '.bz2')) @cap.run "cd #{@cap.current_path}; bunzip2 -f #{file} && RAILS_ENV=#{@cap.rails_env} #{rake} db:drop db:create && #{import_cmd(unzip_file)}" File.unlink(unzip_file) if cleanup end |