Commit 474a42cfbd939f644eb5d900e447dae48142508a

Authored by Ariejan de Vroom
1 parent 4b96907e

Only load MySQL2Adapter connection fix is MySQL2 is available.

Useful for Sqlite or Postgres installations.
Showing 1 changed file with 14 additions and 12 deletions   Show diff stats
config/initializers/connection_fix.rb
1   -module ActiveRecord::ConnectionAdapters
2   - class Mysql2Adapter
3   - alias_method :execute_without_retry, :execute
  1 +if defined?(ActiveRecord::ConnectionAdapters::Mysql2Adapter)
  2 + module ActiveRecord::ConnectionAdapters
  3 + class Mysql2Adapter
  4 + alias_method :execute_without_retry, :execute
4 5  
5   - def execute(*args)
6   - execute_without_retry(*args)
7   - rescue Mysql2::Error => e
8   - if e.message =~ /server has gone away/i
9   - warn "Server timed out, retrying"
10   - reconnect!
11   - retry
12   - else
13   - raise e
  6 + def execute(*args)
  7 + execute_without_retry(*args)
  8 + rescue Mysql2::Error => e
  9 + if e.message =~ /server has gone away/i
  10 + warn "Server timed out, retrying"
  11 + reconnect!
  12 + retry
  13 + else
  14 + raise e
  15 + end
14 16 end
15 17 end
16 18 end
... ...