Commit 474a42cfbd939f644eb5d900e447dae48142508a
1 parent
4b96907e
Exists in
master
and in
4 other branches
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 | ... | ... |