强制在Rails中重新连接MySQL

时间:2014-10-15 18:58:17

标签: mysql ruby-on-rails activerecord reconnect

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

我发现ActiveRecord::Base.remove_connection但是在编写时,应该为某些模型调用它,而不是整个应用程序。

2 个答案:

答案 0 :(得分:12)

当我通过Heroku运行它并在变量中使用一堆对象然后丢失我的数据库连接时,重新启动Rails控制台是一件非常痛苦的事。

以下是我不会考虑的代码" good"放入你的实际应用程序,但它暂时克服了在控制台中遇到Mysql2::Error: closed MySQL connection的问题:

 ActiveRecord::Base.connection.reconnect!

答案 1 :(得分:1)

如所述here所述,在database.yml中使用 reconnect = true 怎么样?