在database.yml
中,Rails 3和4上reconnect
的默认设置为false
。什么是常见环境,在什么情况下我们应该将其设置为true
?谢谢。
您可以将其设置为真。此选项在Rails 2.3
中引入mySQL支持其连接中的重新连接标志 - 如果设置为true,则客户端将在放弃丢失的连接之前尝试重新连接到服务器。现在,您可以在数据库中的mySQL连接设置reconnect = true.yml中的MySQL连接,以从Rails应用程序中获取此行为。
Rails Team将此选项默认设置为" false",因为,他们不想更改现有应用程序的行为。
,如果我们设置reconnect = true
,则会有一些副作用。MySQL文档实际上明确指出自动连接功能会影响交易。
任何主动交易都会向后滚动,并重置自动通信模式。
未编写来处理此问题的应用程序很容易破裂。该文档还列出了由自动连接功能引起的许多其他副作用,所有这些功能都可能导致应用程序未写的应用程序预测行为的功能不正确或失败。
检查:
Rails 2.3发行笔记
mysql-reconnect-value-doesnt-stick
请参阅此stackoverflow问题