0

有没有机会让 Rails 应用程序连接到旧的 MySQL v4.1.20 服务器?

rails db 

命令工作正常,但我无法运行该应用程序。

当我生成新应用程序时

rails new app_name -d mysql

我在 database.yml 文件中看到以下内容:

mysql。建议使用 4.1 和 5.0 版本。

这应该意味着我可以使用它。但是 Rails Active Record 使用 MySQL v.5.0.2+ 功能(https://github.com/rails/rails/blob/4-0-stable/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb):

# Make MySQL reject illegal values rather than truncating or blanking them, see
# http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html#sqlmode_strict_all_tables
# If the user has provided another value for sql_mode, don't replace it.

    if strict_mode? && !variables.has_key?(:sql_mode)
      variables[:sql_mode] = 'STRICT_ALL_TABLES'
    end

不幸的是,我与旧的 MySQL 服务器版本无关。我必须使用它。

4

1 回答 1

0

添加

strict: false

到 database.yml 中的连接器设置解决了这个问题。

于 2014-04-11T20:55:56.773 回答