前陣子在把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語法。
1. 在原本的網誌上,有網友(Ilake Lake)回復。
使用ActiveRecord::Base.connection.instance_values["config"][:adapter]區分DB。
來執行不同的sql語法。
沒有留言:
張貼留言