【问题标题】:Heroku - bad MySQL query (ActiveRecord)?Heroku - 错误的 MySQL 查询(ActiveRecord)?
【发布时间】:2012-03-27 16:43:42
【问题描述】:

经过很长时间,当我在我的应用程序中寻找故障时,我终于找到了问题 - 是下面显示的 MySQL 查询。我知道 Heroku 使用 PostgreSQL 数据库,但大多数时候我的所有应用程序都基于 MySQL DB 运行,但现在我收到关于此查询的错误:

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

谁能给我任何帮助,如何解决这个问题?

提前致谢

【问题讨论】:

  • 当你的代码最终在 PostgreSQL 上运行时,你为什么还要用 MySQL 来测试它。您应该始终针对您在生产中使用的 DBMS 进行开发

标签: mysql ruby-on-rails-3 postgresql activerecord heroku


【解决方案1】:

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

【讨论】:

  • 是的,第一个问题是random()(已解决),第二个问题是.uniq - 在 MySQL 中运行良好,在 PostgreSQL 中不行。当我评论它并对其进行测试时,它可以工作,但是在 PostgreSQL 中使用 .uniq 会给我这个查询错误
猜你喜欢
  • 1970-01-01
  • 2013-06-07
  • 1970-01-01
  • 2011-10-28
  • 1970-01-01
  • 1970-01-01
  • 2011-11-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多