diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2019-02-21 17:30:27 +0900 |
---|---|---|
committer | Ryuta Kamizono <kamipo@gmail.com> | 2019-03-04 21:00:03 +0900 |
commit | 9def05385f1cfa41924bb93daa187615e88c95b9 (patch) | |
tree | 32ff637ba806db7bb15b32abf99b685fb2bae525 /railties | |
parent | cbedbdef0708e00968d66feab89c86a40f2292e0 (diff) | |
download | rails-9def05385f1cfa41924bb93daa187615e88c95b9.tar.gz rails-9def05385f1cfa41924bb93daa187615e88c95b9.tar.bz2 rails-9def05385f1cfa41924bb93daa187615e88c95b9.zip |
Deprecate mismatched collation comparison for uniquness validator
In MySQL, the default collation is case insensitive. Since the
uniqueness validator enforces case sensitive comparison by default, it
frequently causes mismatched collation issues (performance, weird
behavior, etc) to MySQL users.
https://grosser.it/2009/12/11/validates_uniqness_of-mysql-slow/
https://github.com/rails/rails/issues/1399
https://github.com/rails/rails/pull/13465
https://github.com/gitlabhq/gitlabhq/commit/c1dddf8c7d947691729f6d64a8ea768b5c915855
https://github.com/huginn/huginn/pull/1330#discussion_r55152573
I'd like to deprecate the implicit default enforcing since I frequently
experienced the problems in code reviews.
Note that this change has no effect to sqlite3, postgresql, and
oracle-enhanced adapters which are implemented as case sensitive by
default, only affect to mysql2 adapter (I can take a work if sqlserver
adapter will support Rails 6.0).
Diffstat (limited to 'railties')
0 files changed, 0 insertions, 0 deletions