diff options
author | Aaron Patterson <tenderlove@github.com> | 2018-10-16 13:34:41 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-16 13:34:41 -0700 |
commit | e53acfde0ff233fb1d281119856595043bbf207e (patch) | |
tree | 997e87010c37a6ddac4d78db4b182314d54d685d /activerecord/lib/active_record | |
parent | 45b6ee6aa21945974361ab703ebf731a8ca75c24 (diff) | |
parent | e1f6821105a23fe4dc6e37903fb642a253e89e81 (diff) | |
download | rails-e53acfde0ff233fb1d281119856595043bbf207e.tar.gz rails-e53acfde0ff233fb1d281119856595043bbf207e.tar.bz2 rails-e53acfde0ff233fb1d281119856595043bbf207e.zip |
Merge pull request #34227 from bkuhlmann/master-lazy_mysql_version_check_support
Refactored abstract MySQL adapter to support lazy version check.
Diffstat (limited to 'activerecord/lib/active_record')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb b/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb index d40f38fb77..5ad3fdbb88 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb @@ -26,6 +26,7 @@ module ActiveRecord # ActiveRecord::ConnectionAdapters::Mysql2Adapter.emulate_booleans = false class_attribute :emulate_booleans, default: true + SUPPORTED_VERSION = "5.5.8" NATIVE_DATABASE_TYPES = { primary_key: "bigint auto_increment PRIMARY KEY", string: { name: "varchar", limit: 255 }, @@ -54,10 +55,7 @@ module ActiveRecord super(connection, logger, config) @statements = StatementPool.new(self.class.type_cast_config_to_integer(config[:statement_limit])) - - if version < "5.5.8" - raise "Your version of MySQL (#{version_string}) is too old. Active Record supports MySQL >= 5.5.8." - end + check_version end def version #:nodoc: @@ -534,6 +532,15 @@ module ActiveRecord end end + protected + + def check_version + if version < SUPPORTED_VERSION + raise "Your version of MySQL (#{version_string}) is too old. Active Record supports " \ + "MySQL >= #{SUPPORTED_VERSION}." + end + end + private def combine_multi_statements(total_sql) total_sql.each_with_object([]) do |sql, total_sql_chunks| |