aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/validations/uniqueness.rb
diff options
context:
space:
mode:
authorSean Griffin <sean@thoughtbot.com>2014-12-26 13:03:31 -0700
committerSean Griffin <sean@thoughtbot.com>2014-12-26 13:04:29 -0700
commita983e1e89c6f55cd08feb394db33ca0620fadfd1 (patch)
treea24fed0cf84a37df77b82c3e6e36dce951c29f5d /activerecord/lib/active_record/validations/uniqueness.rb
parentaff03e71b4a9d5b0d9190c52ecded79f44e937ce (diff)
downloadrails-a983e1e89c6f55cd08feb394db33ca0620fadfd1.tar.gz
rails-a983e1e89c6f55cd08feb394db33ca0620fadfd1.tar.bz2
rails-a983e1e89c6f55cd08feb394db33ca0620fadfd1.zip
Correctly ignore `case_sensitive` for UUID uniqueness validation
I think we should deprecate this behavior and just error if you tell us to do a case insensitive comparison for types which are not case sensitive. Partially reverts 35592307 Fixes #18195
Diffstat (limited to 'activerecord/lib/active_record/validations/uniqueness.rb')
-rw-r--r--activerecord/lib/active_record/validations/uniqueness.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/validations/uniqueness.rb b/activerecord/lib/active_record/validations/uniqueness.rb
index 3e8afe37a8..4dbe475331 100644
--- a/activerecord/lib/active_record/validations/uniqueness.rb
+++ b/activerecord/lib/active_record/validations/uniqueness.rb
@@ -65,7 +65,7 @@ module ActiveRecord
value = value.to_s[0, column.limit]
end
- if !options[:case_sensitive] && value.is_a?(String)
+ if !options[:case_sensitive] && value && column.text?
# will use SQL LOWER function before comparison, unless it detects a case insensitive collation
klass.connection.case_insensitive_comparison(table, attribute, column, value)
else