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