class SequelRails::Storage::Mysql

Public Instance Methods

_create() click to toggle source
# File lib/sequel_rails/storage/mysql.rb, line 4
def _create
  execute "CREATE DATABASE IF NOT EXISTS `#{database}` DEFAULT CHARACTER SET #{charset} DEFAULT COLLATE #{collation}"
end
_drop() click to toggle source
# File lib/sequel_rails/storage/mysql.rb, line 8
def _drop
  execute "DROP DATABASE IF EXISTS `#{database}`"
end
_dump(filename) click to toggle source
# File lib/sequel_rails/storage/mysql.rb, line 12
def _dump(filename)
  commands = ['mysqldump']
  add_connection_settings commands
  add_flag commands, '--no-data'
  add_flag commands, '--skip-dump-date'
  add_option commands, '--result-file', filename
  commands << database
  safe_exec commands
end
_load(filename) click to toggle source
# File lib/sequel_rails/storage/mysql.rb, line 22
def _load(filename)
  commands = ['mysql']
  add_connection_settings commands
  add_option commands, '--database', database
  add_option commands, '--execute', %(SET FOREIGN_KEY_CHECKS = 0; SOURCE #{filename}; SET FOREIGN_KEY_CHECKS = 1)
  safe_exec commands
end
collation() click to toggle source
# File lib/sequel_rails/storage/mysql.rb, line 30
def collation
  @collation ||= super || 'utf8_unicode_ci'
end

Private Instance Methods

add_connection_settings(commands) click to toggle source
# File lib/sequel_rails/storage/mysql.rb, line 36
def add_connection_settings(commands)
  add_option commands, '--user', username
  add_option commands, '--password', password
  add_option commands, '--host', host
  add_option commands, '--port', port.to_s
end
execute(statement) click to toggle source
# File lib/sequel_rails/storage/mysql.rb, line 43
def execute(statement)
  commands = ['mysql']
  add_connection_settings commands
  add_option commands, '--execute', statement
  safe_exec commands
end