【发布时间】:2014-12-10 23:21:28
【问题描述】:
如何在 Rails 应用程序中强制 MySQL 重新连接?我想定期或在“MySQL 服务器已消失”等数据库异常情况下执行此操作。
我找到了ActiveRecord::Base.remove_connection,但正如它所写的那样,应该为某些模型而不是整个应用程序调用它。
【问题讨论】:
标签: mysql ruby-on-rails activerecord reconnect
如何在 Rails 应用程序中强制 MySQL 重新连接?我想定期或在“MySQL 服务器已消失”等数据库异常情况下执行此操作。
我找到了ActiveRecord::Base.remove_connection,但正如它所写的那样,应该为某些模型而不是整个应用程序调用它。
【问题讨论】:
标签: mysql ruby-on-rails activerecord reconnect
当我通过 Heroku 使用变量中的一堆对象运行 Rails 控制台然后失去我的数据库连接时,重新启动 Rails 控制台是一个巨大的痛苦。
以下是我认为不适合放入您的实际应用程序的代码,但它暂时克服了在控制台中经常遇到的Mysql2::Error: closed MySQL connection:
ActiveRecord::Base.connection.reconnect!
【讨论】:
如here 所述,在您的 database.yml 中使用 reconnect = true 怎么样?
【讨论】: