最もよく使用される3つのRailsデータベースバックエンドと互換性のある構文をカバーしているため、upperへの変換が最適です。PostgreSQL、MySQL、SQLiteはすべてこの構文をサポートしています。アプリケーションまたは条件文字列で検索文字列を大文字にする必要があるという(マイナーな)欠点があり、少し見苦しくなりますが、互換性が得られると価値があると思います。
MySQLとSQLite3の両方に、大文字と小文字を区別しないLIKE演算子があります。大文字と小文字を区別しない検索用に、大文字と小文字を区別するLIKE演算子とPostgreSQL固有の(マニュアルによる)ILIKE演算子を備えているのはPostgreSQLだけです。Railsアプリケーションの条件でLIKEの内側にILIKEを指定することもできますが、アプリケーションがMySQLまたはSQLiteで動作しなくなることに注意してください。
3番目のオプションは、使用しているデータベースエンジンを確認し、それに応じて検索文字列を変更することです。これは、ActiveRecordの接続アダプターをハッキング/モンキーパッチし、PostgreSQLアダプターにクエリ文字列を変更させて、クエリを実行する前に「ILIKE」を「LIKE」に置き換えることで改善できる可能性があります。ただし、このソリューションは最も複雑で、両方の用語を大文字にするなどの簡単な方法に照らして、これは努力に値しないと思います(ただし、この方法で行うとブラウニーポイントがたくさん得られます)。