سؤال

Is there any chance to make Rails application connect to old MySQL v4.1.20 server?

rails db 

command works fine, but I cannot run the application.

When I generate new app with

rails new app_name -d mysql

I see the following in database.yml file:

MySQL. Versions 4.1 and 5.0 are recommended.

Which should mean I am able to use it. However Rails Active Record uses MySQL v.5.0.2+ feature (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

Unfortunately I have nothing to do with old MySQL server version. I have to use it.

هل كانت مفيدة؟

المحلول

Adding

strict: false

to the connector settings in database.yml solved the problem.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top