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 end 16 end
15 end 17 end
16 end 18 end