diff options
author | Jeff Browning <jeff@jkbrowning.com> | 2014-06-27 10:04:18 -0400 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2014-07-15 12:41:14 -0300 |
commit | 11338183265f759b07c8dffd526b92fb550ba79d (patch) | |
tree | a36920e0a291383730e4a154342de9a61619b526 /activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb | |
parent | 473b09f6160a4663ded59d529d47be219eb18d9a (diff) | |
download | rails-11338183265f759b07c8dffd526b92fb550ba79d.tar.gz rails-11338183265f759b07c8dffd526b92fb550ba79d.tar.bz2 rails-11338183265f759b07c8dffd526b92fb550ba79d.zip |
Fix version detection for RENAME INDEX support. Fixes #15931.
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb | 14 |
1 files changed, 13 insertions, 1 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 ccb957d2c8..db8c16914e 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb @@ -473,7 +473,7 @@ module ActiveRecord end def rename_index(table_name, old_name, new_name) - if (version[0] == 5 && version[1] >= 7) || version[0] >= 6 + if supports_rename_index? execute "ALTER TABLE #{quote_table_name(table_name)} RENAME INDEX #{quote_table_name(old_name)} TO #{quote_table_name(new_name)}" else super @@ -774,10 +774,22 @@ module ActiveRecord private + def version + @version ||= full_version.scan(/^(\d+)\.(\d+)\.(\d+)/).flatten.map { |v| v.to_i } + end + + def mariadb? + !!(full_version =~ /mariadb/i) + end + def supports_views? version[0] >= 5 end + def supports_rename_index? + mariadb? ? false : (version[0] == 5 && version[1] >= 7) || version[0] >= 6 + end + def configure_connection variables = @config.fetch(:variables, {}).stringify_keys |