Heroku-错误的MySQL查询(ActiveRecord)?

Heroku-错误的MySQL查询(ActiveRecord)?,mysql,ruby-on-rails-3,postgresql,activerecord,heroku,Mysql,Ruby On Rails 3,Postgresql,Activerecord,Heroku,过了很长一段时间,当我在我的应用程序中寻找一个失败时,我终于发现了问题——下面显示的是MySQL查询。我知道Heroku使用PostgreSQL数据库,但大多数时候我的应用程序都是基于MySQL数据库的,但现在我在这个查询中遇到了一个错误: Tshirt.joins(:favorites => [:customers]).where(["tshirts.user_id != ?", current_user.id]).order('rand()').limit(3).uniq 有谁能帮我

过了很长一段时间,当我在我的应用程序中寻找一个失败时,我终于发现了问题——下面显示的是MySQL查询。我知道Heroku使用PostgreSQL数据库,但大多数时候我的应用程序都是基于MySQL数据库的,但现在我在这个查询中遇到了一个错误:

Tshirt.joins(:favorites => [:customers]).where(["tshirts.user_id != ?", current_user.id]).order('rand()').limit(3).uniq
有谁能帮我解决这个问题吗


提前感谢

在Postgres中,rand函数是RANDOM()所以你应该修改你的order子句

当MySQL最终运行在PostgreSQL中时,你为什么要用MySQL测试你的代码。您应该始终针对在生产中使用的DBMS进行开发是的,一个问题是
random()
(已解决),第二个问题是
。uniq
-在MySQL中运行良好,在PostgreSQL中则不然。当我对它进行注释和测试时,它就工作了,但是PostgreSQL中的
.uniq
给了我这个查询错误