class MysqlDumper

Constants

VERSION

Public Class Methods

new(config) click to toggle source
# File lib/mysql_dumper.rb, line 5
def initialize config
  @password = config["password"]
  @username = config["username"]
  @database = config["database"]
  raise InitFailedException, "username is required to init a dumper" unless @username
  raise InitFailedException, "database is required to init a dumper" unless @database
end

Public Instance Methods

dump_schema_to(path, options = {}) click to toggle source
# File lib/mysql_dumper.rb, line 13
def dump_schema_to path, options = {}
  preserved_tables = options[:preserve] || []
  table_string = preserved_tables.join(" ")

  system "mysqldump -u #{@username} -p#{@password} -R -d --skip-comments #{@database} | sed 's/ AUTO_INCREMENT=[0-9]*\\b//' > #{path}"
  if ! table_string.strip.empty?
    system "mysqldump -u #{@username} -p#{@password} --skip-comments #{@database} #{table_string} >> #{path}"
  end
end
dump_to(path) click to toggle source
# File lib/mysql_dumper.rb, line 23
def dump_to path
  system "mysqldump -u #{@username} -p#{@password} -R --skip-comments #{@database} > #{path}"
end
load_from(path) click to toggle source
# File lib/mysql_dumper.rb, line 27
def load_from path
  system "cat #{path} | mysql -u #{@username} -p#{@password} #{@database}"
end