我正在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"
答案 0 :(得分:1)
我打赌你是从MySQL迁移的。
您的表格没有sequence
,pg使用的是autoincrement
。不要使用id
创建表格的"id" integer NOT NULL,
列,而是使用"id" serial,
。 Postgres会提到它正在为你创建一个序列,你可以在命令行中运行\d tablename
来查看它。
答案 1 :(得分:0)
登录Heroku并执行以下操作:
rake db:sessions:clear
看起来你可能有旧的会话数据。
如果您之前没有这样做,请运行以下命令登录Heroku实例:
heroku run bash --app my_app