2012-03-10 40 views
0

經過很長時間,當我在我的應用程序中查找失敗時,最終看起來我發現了問題 - 是MySQL查詢如下所示。我知道的Heroku使用PostgreSQL數據庫,但大部分時間都基於MySQL數據庫也正在我的所有的應用程序,但現在我得到這個查詢時出現錯誤:Heroku - 錯誤的MySQL查詢(ActiveRecord)?

Tshirt.joins(:favorites => [:customers]).where(["tshirts.user_id != ?", current_user.id]).order('rand()').limit(3).uniq 

任何人都可以給我任何幫助,如何解決這個問題?

在此先感謝

+0

爲什麼你使用MySQL測試代碼時,它終於在PostgreSQL運行。您應該總是針對您在生產中使用的DBMS開發 – 2012-03-10 16:05:17

回答

1

在Postgres裏,蘭德功能RANDOM()所以你應該chnage訂單條款

+0

是的,一個問題是'random()'(解決),第二個是'.uniq' - 在MySQL中運行良好,在PostgreSQL中不行。當我評論和測試它,所以它的工作,但與PostgreSQL的'.uniq'給我這個查詢錯誤 – user984621 2012-03-10 17:47:30