Module: ActiveRecord::ConnectionHandling

Defined in:
lib/active_record/connection_adapters/async_mysql_adapter.rb

Instance Method Summary collapse

Instance Method Details

#async_mysql_connection(config) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/active_record/connection_adapters/async_mysql_adapter.rb', line 7

def async_mysql_connection(config)
  config = config.symbolize_keys
  
  if config[:flags].kind_of? Array
    config[:flags].push "FOUND_ROWS".freeze
  else
    config[:flags] ||= 0
    config[:flags] |= Mysql2::Client::FOUND_ROWS
  end
  
  client = Async::MySQL::Client.new(config)
  ConnectionAdapters::Mysql2Adapter.new(client, logger, nil, config)
rescue Mysql2::Error => error
  if error.message.include?("Unknown database")
    raise ActiveRecord::NoDatabaseError
  else
    raise
  end
end