使用Rails进行Postgres不区分大小写的搜索

ant*_*paw 11 postgresql ruby-on-rails case-insensitive sql-like

我的开发数据库是SQLite,但我将我的应用程序部署到Heroku,他们正在使用PostgreSQL.

现在,如果我执行搜索,有时会出现两个不同的结果,因为PostgreSQL区分大小写,但SQLite不是.

Rails不应该标准化这些东西吗?我应该用什么方法来解决这个问题?

以下是如何使用原始SQL修复它

atr*_*ain 41

Postgres中不区分大小写的搜索:

  • 使用ilike而不是like(不区分大小写)
  • 如果你想使用=,使两边都是UPPER或LOWER

  • 谢谢!`like`的问题是我不知道如何用`OR`运算符链接它们.是否可以通过rails在每个受支持的数据库中使用它?`"LOWER(title)LIKE LOWER('%#{search_term}%')"` (4认同)