原因これでは?ていうかこれだと思う!絶対これだと思う!
仮に原因これだとしても修正後のコードはあれで問題ない
https://github.com/rails/rails/blob/v7.0.6/activerecord/CHANGELOG.md
@askyq これってRails7.0とそれ以前で、mergeメソッドの振る舞いが変わっていて、以前は矛盾するような条件をmerge前とmerge後で指定してたら、双方が=またはINの場合は、前者を無視して後者を採用して、BETWEENの場合は前者も後者を採用するため空集合となっていたのが、バージョンアップでそのふるまいが統一され、前者を常に無視するようになって、後者を採用するようになったってことですか?