diff options
author | Akira Matsuda <ronnie@dio.jp> | 2012-04-19 22:04:13 +0900 |
---|---|---|
committer | Akira Matsuda <ronnie@dio.jp> | 2012-04-19 22:04:13 +0900 |
commit | 851b816f56f6c918d88cbed56f50bffede4ed55a (patch) | |
tree | 39c181921887b6940ad60057784e5ad96cdbd977 /activerecord/lib | |
parent | 66ea296bfd03412f0e605cada9825e8d80707221 (diff) | |
download | rails-851b816f56f6c918d88cbed56f50bffede4ed55a.tar.gz rails-851b816f56f6c918d88cbed56f50bffede4ed55a.tar.bz2 rails-851b816f56f6c918d88cbed56f50bffede4ed55a.zip |
be sure to currectly fetch PK name from MySQL even if the PK has some custom option
Diffstat (limited to 'activerecord/lib')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb | 2 |
1 files changed, 1 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 d0ea468430..a848838a4e 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb @@ -516,7 +516,7 @@ module ActiveRecord def pk_and_sequence_for(table) execute_and_free("SHOW CREATE TABLE #{quote_table_name(table)}", 'SCHEMA') do |result| create_table = each_hash(result).first[:"Create Table"] - if create_table.to_s =~ /PRIMARY KEY\s+\((.+)\)/ + if create_table.to_s =~ /PRIMARY KEY\s+(?:USING\s+\w+\s+)?\((.+)\)/ keys = $1.split(",").map { |key| key.delete('`"') } keys.length == 1 ? [keys.first, nil] : nil else |