如何在Rails应用程序中强制MySQL重新连接?我想定期或在数据库异常中执行此操作,例如“MySQL服务器已经消失”。
我发现ActiveRecord::Base.remove_connection
但是在编写时,应该为某些模型调用它,而不是整个应用程序。
答案 0 :(得分:12)
当我通过Heroku运行它并在变量中使用一堆对象然后丢失我的数据库连接时,重新启动Rails控制台是一件非常痛苦的事。
以下是我不会考虑的代码" good"放入你的实际应用程序,但它暂时克服了在控制台中遇到Mysql2::Error: closed MySQL connection
的问题:
ActiveRecord::Base.connection.reconnect!
答案 1 :(得分:1)
如所述here所述,在database.yml中使用 reconnect = true 怎么样?