2012年8月7日 星期二

PostgreSql的LIKE, ILIKE


前陣子在把ROR專案放到Heroku上,所以DB環境由SQLite3改為PostgreSql
實進運行網站後,發現用jQuery做的autocomplete無效了!
後來才發現我用autocomplete時,sql是like 使用者輸入的文字字段。
但在PostgreSql有較嚴格的文字大小寫判斷。
所以如果使用者輸入的大小寫和DB儲存的不同,則用LIKE是找不到的!
這邊把程式由LIKE改為ILIKE就可以了。
不過這樣一來,如果之後DB環境變更,要記得把ILKE再改回來,有點麻煩!
不曉得有沒有更好的解法?

2012/08/07修改
1. 在原本的網誌上,有網友(Ilake Lake)回復。
    使用ActiveRecord::Base.connection.instance_values["config"][:adapter]區分DB。
     來執行不同的sql語法。

沒有留言:

張貼留言