2014-04-11 43 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 

到連接器的設置解決了這個問題。