1

我最近从 Heroku 的 Bamboo 堆栈切换到 Cedar 堆栈(Rails 3.1.4、Ruby 1.9.2、Web 服务器的 Thin gem)。从那时起,我不断收到 500 个这样的错误,其中查询似乎不正确:

207 <13>1 2012-05-06T16:10:51+00:00 d. app web.1 - - ActiveRecord::StatementInvalid (Mysql::Error: : SELECT  `foos`.* FROM `foos`  WHERE `foos`.`id` = ? LIMIT 1)

这不是代码中的错误,因为当我刷新页面时页面最终会成功呈现(即状态 200)。有时它是 1 次刷新,但在我获得 200 之前最多可以刷新 4 次。

我以为是数据库,因为我在 ClearDB 的免费计划中,但我升级到 ClearDB 的下一个计划,具有更好的 I/O 性能,它仍然发生

  1. 当我在 Bamboo 时,这从未发生过
  2. 它几乎发生在对数据库进行查询的每个页面上
  3. 它并不总是发生,但我会说它发生在至少五分之一的页面视图中
  4. 模型/查询无关紧要,会发生相同的错误(只是表示与上面的示例不同的模型/字段)
4

1 回答 1

0

如果你在控制台中,你会得到同样的错误heroku run console吗?我以前从未见过这种情况。尝试升级您的 Mysql gem,您使用的是哪一个http://api.rubyonrails.org/classes/ActiveRecord/StatementInvalid.html我认为正确的是 mysql2 https://rubygems.org/gems/mysql2

于 2012-05-09T18:29:07.437 回答