10

如何在 Rails 应用程序中强制 MySQL 重新连接?我想定期或在“MySQL 服务器已消失”之类的数据库异常上执行此操作。

我发现ActiveRecord::Base.remove_connection,但正如它所写的那样,它应该被一些模型调用,而不是整个应用程序。

4

2 回答 2

19

当我通过 Heroku 使用变量中的一堆对象运行 Rails 控制台然后失去我的数据库连接时,重新启动 Rails 控制台是一个巨大的痛苦。

Mysql2::Error: closed MySQL connection以下是我认为不适合放入您的实际应用程序的代码,但它暂时克服了在控制台中经常遇到的问题:

 ActiveRecord::Base.connection.reconnect!
于 2015-10-19T16:41:47.057 回答
3

如此处所述,如何在您的 database.yml 中使用reconnect = true

于 2014-10-15T19:09:19.830 回答