module ActiveRecord::ConnectionHandling

def mysql2_connection(config)

Establishes a connection to the database that's used by all Active Record objects.
:nodoc:
def mysql2_connection(config)
  config = config.symbolize_keys
  config[:username] = 'root' if config[:username].nil?
  if Mysql2::Client.const_defined? :FOUND_ROWS
    config[:flags] = Mysql2::Client::FOUND_ROWS
  end
  client = Mysql2::Client.new(config)
  options = [config[:host], config[:username], config[:password], config[:database], config[:port], config[:socket], 0]
  ConnectionAdapters::Mysql2Adapter.new(client, logger, options, config)
rescue Mysql2::Error => error
  if error.message.include?("Unknown database")
    raise ActiveRecord::NoDatabaseError.new(error.message, error)
  else
    raise
  end
end