0

我在 Heroku 的 Bamboo 堆栈上运行 Rails 3.09 Ruby 1.92 应用程序。该应用程序在本地运行的生产模式下运行良好,没有问题。我正在尝试诊断为什么该应用程序无法在 Heroku 上运行。我收到 500 错误其他服务器错误。有没有人看到过类似日志中的内容?

这是我的日志...

https://gist.github.com/2655795

更新:这是更新的日志:https ://gist.github.com/2655991

更新:我在我的 production.rb 文件中启用了 config.whiny_nils = true ,现在我在 Heroku 上遇到了这个错误,但没有在我的生产环境中本地运行。我在本地使用 Postgres。

G::Error: ERROR: null value in column "id" violates not-null constraint : INSERT INTO "sessions"

4

2 回答 2

1

我打赌你是从 MySQL 迁移过来的。

您的表没有sequence, pg 使用什么而不是autoincrement. 不要使用 来创建表格的id列,而是"id" integer NOT NULL,使用"id" serial,。Postgres 会提到它正在为你创建一个序列,你可以\d tablename在命令行中运行来查看它。

于 2013-02-12T04:45:53.973 回答
0

登录 Heroku 并运行以下命令:

rake db:sessions:clear

看起来您可能有旧的会话数据。

如果您以前没有这样做过,您可以通过运行以下命令登录到您的 Heroku 实例:

heroku run bash --app my_app
于 2012-05-10T22:06:39.223 回答