From a577f09fb09c8de3850420aeb098fc3dcf6e52a2 Mon Sep 17 00:00:00 2001 From: Brian Lopez Date: Wed, 12 May 2010 22:34:53 -0700 Subject: [PATCH] make sure we override index creation for mysql --- .../connection_adapters/mysql2_adapter.rb | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lib/active_record/connection_adapters/mysql2_adapter.rb b/lib/active_record/connection_adapters/mysql2_adapter.rb index a47756f..779f807 100644 --- a/lib/active_record/connection_adapters/mysql2_adapter.rb +++ b/lib/active_record/connection_adapters/mysql2_adapter.rb @@ -534,6 +534,19 @@ module ActiveRecord end protected + def quoted_columns_for_index(column_names, options = {}) + length = options[:length] if options.is_a?(Hash) + + quoted_column_names = case length + when Hash + column_names.map {|name| length[name] ? "#{quote_column_name(name)}(#{length[name]})" : quote_column_name(name) } + when Fixnum + column_names.map {|name| "#{quote_column_name(name)}(#{length})"} + else + column_names.map {|name| quote_column_name(name) } + end + end + # TODO: implement error_number method on Mysql2::Exception def translate_exception(exception, message) return super unless exception.respond_to?(:error_number)