如何关闭Rails中的MySQL严格模式 [英] How to turn off MySQL strict mode in Rails

查看:200
本文介绍了如何关闭Rails中的MySQL严格模式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

升级到Rails 4,似乎MySQL的严格模式现在是默认为Rails连接。我说这是因为我的Rails应用程序得到Mysql2 ::错误:数据太长的列时,保存一个字符串值超过255个字符。然而,我粘贴相同的查询到MySQL控制台(其中全局严格模式被报告为关闭),它工作正常,只是与截断警告。作为进一步的证据,它在这里说Rails 4都默认使用严格模式。

Upgrading to Rails 4, it seems MySQL strict mode is now on by default for Rails connections. I say this because my Rails app is getting "Mysql2::Error: Data too long for column" when saving a string value longer than 255 characters. Yet, I paste the same query into MySQL console (where global strict mode is reported to be off) and it works fine, just with truncation warnings. As further evidence, it says here "Rails 4 both use strict mode by default".

我的问题是如何从Rails应用程序关闭严格模式?

My question is how can I turn strict mode off from the Rails app? I'd rather avoid upgrading everything to support it right now.

推荐答案

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

You can set strict mode in your database.yml using strict: false as follows:

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

http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/MysqlAdapter.html

这篇关于如何关闭Rails中的MySQL严格模式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆