2014-04-11 25 views
0

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

rails db 

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

当我产生新的应用程序与

rails new app_name -d mysql 

我看到database.yml文件如下:

的MySQL。推荐版本4.1和5.0。

这意味着我可以使用它。 不过Rails的活动记录使用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服务器版本。我必须使用它。

+0

简单地更新MySQL可能会更有成效。无论如何,“无法运行应用程序”是一种几乎没有用处的陈述,并不能说明问题。 – user2864740

+0

@ user2864740我无法更新它。这是我必须使用的第三方应用程序。 –

+0

@MikhailChuprynski你确定它是4.1.2吗?这甚至不是测试版本,请参阅[版本历史记录](https://dev.mysql.com/doc/refman/4.1/en/news-4-1-x.html)。更可能是4.1.20。但即使那样也很危险。 – VMai

回答

0

在database.yml中添加

strict: false 

到连接器的设置解决了这个问题。