aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb
diff options
context:
space:
mode:
authorGrey Baker <greysteil@gmail.com>2015-03-22 11:14:51 +0000
committerGrey Baker <greysteil@gmail.com>2015-12-15 17:36:09 +0000
commit9771f5e178ebc1b8c5a61f813373ca3b7bd983c8 (patch)
tree8b2c4d02f657c269b3935d6d764c6117f009b234 /activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb
parente73fe1dd8c2740ae29e7a7f48d71a62b46e6b49d (diff)
downloadrails-9771f5e178ebc1b8c5a61f813373ca3b7bd983c8.tar.gz
rails-9771f5e178ebc1b8c5a61f813373ca3b7bd983c8.tar.bz2
rails-9771f5e178ebc1b8c5a61f813373ca3b7bd983c8.zip
Ignore index name in `index_exists?` when not passed a name to check for
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb')
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb3
1 files changed, 1 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb b/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb
index b50d28862c..93f0d9d0e7 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb
@@ -82,11 +82,10 @@ module ActiveRecord
#
def index_exists?(table_name, column_name, options = {})
column_names = Array(column_name).map(&:to_s)
- index_name = options.key?(:name) ? options[:name].to_s : index_name(table_name, column: column_names)
checks = []
- checks << lambda { |i| i.name == index_name }
checks << lambda { |i| i.columns == column_names }
checks << lambda { |i| i.unique } if options[:unique]
+ checks << lambda { |i| i.name == options[:name].to_s } if options[:name]
indexes(table_name).any? { |i| checks.all? { |check| check[i] } }
end