2014-10-15 2 views
4

Как заставить MySQL повторно подключиться к моей воле в приложении Rails? Я хотел бы сделать это либо периодически, либо на исключениях БД, таких как «сервер MySQL ушел».Заставить повторно подключаться к MySQL в Rails

Я нашел ActiveRecord::Base.remove_connection, но, как написано, его нужно вызвать для некоторой модели, а не для всего приложения.

ответ

1

Как насчет использования reconnect = true в вашей базе данных.yml как описано here?

+0

не работает. Я получаю разъединения, а затем «из памяти» в клиенте MySQL2. Затем WEBrick/Puma останавливается. – Paul

5

Это огромная боль, чтобы перезапустить консоль Rails, когда я запускаю ее через Heroku с кучей объектов в переменных, а затем теряю соединение с базой данных.

Ниже код я не считаю «хорошо», чтобы положить в реальном приложении, но это временно получает над часто встречается Mysql2::Error: closed MySQL connection в консоли:

ActiveRecord::Base.connection.reconnect! 
Смежные вопросы