class Backhoe::Mysql2

Public Instance Methods

dump(skip_tables: []) click to toggle source
# File lib/backhoe/mysql.rb, line 5
def dump skip_tables: []
  mysqldump = `which mysqldump`.strip
  raise RuntimeError, "Cannot find mysqldump." if mysqldump.blank?
  sh "#{mysqldump} --no-create-db --single-transaction --quick -e #{skip_table_options(skip_tables)} #{mysql_options} > #{file_path}"
end
load() click to toggle source
# File lib/backhoe/mysql.rb, line 11
def load
  mysql = `which mysql`.strip
  raise RuntimeError, "Cannot find mysql." if mysql.blank?
  sh "#{mysql} #{mysql_options} < #{file_path}"
end

Private Instance Methods

mysql_options() click to toggle source
# File lib/backhoe/mysql.rb, line 25
def mysql_options
  options =  " -u #{config["username"]}"
  options += " -p'#{config["password"]}'" if config["password"]
  options += " -h #{config["host"]}"      if config["host"]
  options += " -S #{config["socket"]}"    if config["socket"]
  options += " '#{config["database"]}'"
end
skip_table_options(skip_tables) click to toggle source
# File lib/backhoe/mysql.rb, line 19
def skip_table_options skip_tables
  skip_tables.map do |table|
    "--ignore-table=#{config["database"]}.#{table}"
  end.join(" ")
end