mysql - 如何在 Rails 中关闭 MySQL 严格模式

标签 mysql ruby-on-rails ruby-on-rails-4 database-connection strict

升级到 Rails 4,似乎 MySQL 严格模式现在默认为 Rails 连接打开。我这样说是因为我的 Rails 应用程序在保存超过 255 个字符的字符串值时出现“Mysql2::Error:列数据太长”。然而,我将相同的查询粘贴到 MySQL 控制台(据报告全局严格模式已关闭)并且它工作正常,只是有截断警告。作为进一步的证据,it says here “Rails 4 默认都使用严格模式”。

我的问题是如何从 Rails 应用程序中关闭严格模式?我宁愿避免立即升级所有内容来支持它。

最佳答案

您可以使用 strict: false 在 database.yml 中设置严格模式,如下所示:

production:
  host: ...
  username: ...
  strict: false

https://api.rubyonrails.org/v4.2.8/classes/ActiveRecord/ConnectionAdapters/MysqlAdapter.html

关于mysql - 如何在 Rails 中关闭 MySQL 严格模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21420122/

相关文章:

MySQL:向现有表(包含数据)添加分区?

ruby-on-rails - restful api (rails), mvc javascript app (ember or backbone) and token based authentication

ruby-on-rails - 在 Ruby on Rails 中如何通过键访问对象的 (ActiveRecord::Relation) 值?

运行 rake db :migrate in Windows 时出现 mysql 错误

mysql - 有条件地将字段添加到查询的输出

mysql - 我如何知道 solr 索引中有什么?

mysql - 如果一个表中的行数等于另一表中的行数,则获取 1

ruby-on-rails - 避免 `save!` on Has Many Through Association

php - 将许多(2000 多张)图像上传到服务器的最佳实践

paperclip - Rails with Paperclip 忽略空附件