class MysqlAdapter

Public Class Methods

new(db_credentials) click to toggle source
# File lib/db_adapters/mysql_adapter.rb, line 5
def initialize(db_credentials)
  @db_credentials = db_credentials
end

Public Instance Methods

backup_extension() click to toggle source
# File lib/db_adapters/mysql_adapter.rb, line 26
def backup_extension
  return ".sql"
end
db_dump() click to toggle source

Creates and runs mysqldump and throws into .tar.gz file. Returns .tar.gz file

# File lib/db_adapters/mysql_adapter.rb, line 11
def db_dump
  dump_file = Tempfile.new("dump")
  cmd = "mysqldump --quick --single-transaction --create-options #{db_options}"
  cmd += " > #{dump_file.path}"
  System.run(cmd)
  return dump_file
end
load_db_dump(dump_file) click to toggle source
# File lib/db_adapters/mysql_adapter.rb, line 19
def load_db_dump(dump_file)
  cmd = "mysql #{db_options}"
  cmd += " < #{dump_file.path}"
  System.run(cmd)
  true
end

Private Instance Methods

db_options() click to toggle source
# File lib/db_adapters/mysql_adapter.rb, line 32
def db_options
  cmd = ''
  cmd += " -u #{@db_credentials['username']} " unless @db_credentials['username'].nil?
  cmd += " -p'#{@db_credentials['password']}'" unless @db_credentials['password'].nil?
  cmd += " -h '#{@db_credentials['host']}'"    unless @db_credentials['host'].nil?
  cmd += " #{@db_credentials['database']}"
end