Module: RailsMysqldump

Defined in:
lib/rails_mysqldump.rb,
lib/rails_mysqldump/version.rb

Constant Summary collapse

VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.run(path = 'tmp/mysqldump') ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
# File 'lib/rails_mysqldump.rb', line 4

def self.run(path = 'tmp/mysqldump')
  dump_dir = Rails.root.join(path)
  FileUtils.mkdir_p(dump_dir)
  Dir.chdir(dump_dir)

  db_conf = Rails.application.config.database_configuration[Rails.env]
  password_option = db_conf['password'].nil? ? "" : "-p'#{db_conf['password']}'"
  output_file = "#{Rails.env}_#{Time.current.to_s(:number)}.dump"

  system "mysqldump -u #{db_conf['username']} #{password_option} -h localhost #{db_conf['database']} --single-transaction > #{output_file}"
end