我最近从 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 性能,它仍然发生
- 当我在 Bamboo 时,这从未发生过
- 它几乎发生在对数据库进行查询的每个页面上
- 它并不总是发生,但我会说它发生在至少五分之一的页面视图中
- 模型/查询无关紧要,会发生相同的错误(只是表示与上面的示例不同的模型/字段)