ruby-on-rails – Rails中的database.yml重新连接设置为true或false

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails中的database.yml重新连接设置为true或false前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
database.yml中,Rails 3和4上重新连接的默认设置为false.什么是共同的设置,在什么情况下我们应该将其设置为真?谢谢.

解决方法

你可以设置为true.此选项在Rails 2.3中引入

MySQL在其连接中支持重新连接标志 – 如果设置为true,则客户端将尝试重新连接到服务器,然后在连接丢失的情况下放弃.您现在可以为database.yml中的MysqL连接设置reconnect = true,以从Rails应用程序中获取此行为.

Rails团队将此选项默认设置为“false”,因为他们不想更改现有应用程序的行为.

但是如果我们设置reconnect = true会有一些副作用.它不是事务安全的.事实上,MysqL documentation明确声明自动重新连接功能会影响事务.

回滚任何活动事务并重置自动提交模式.

未写入处理此问题的应用程序可能很容易破解.该文档还列出了由自动重新连接功能引起的许多其他副作用,所有这些都可能导致未写入的应用程序预期行为无法正常运行或失败.

校验:

rails 2.3 release notes

mysql-reconnect-value-doesnt-stick

see this StackOverflow question

原文链接:https://www.f2er.com/ruby/268540.html

猜你在找的Ruby相关文章