rubocop-railsのRails/FindByで結果が不定になる
rubocop-rails のRails/FindBy ruleが以下を変換するが、実行されるSQLは同義ではない code:ruby
User.where(name: 'butcher').first
code:sql
SELECT * FROM users WHERE name = 'butcher' ORDER BY ID LIMIT 1
code:ruby
User.find_by(name: 'butcher')
code:sql
SELECT * FROM users WHERE name = 'butcher' LIMIT 1
実行されるSQLが変わってしまって順序が保証されないので安全じゃない すでに ignore するための flag が追加されている
version 2.11.0でリリースされた