部署 Rails 应用后出现 Heroku 状态 500 错误

Heroku status 500 error after deploying Rails app

$heroku logs --tail 
Started GET "/" for 46.188.182.234 at 2016-11-14 20:51:53 +0000
2016-11-14T20:51:53.840163+00:00 app[web.1]: [21c27115-512c-4e9e-bb24-8e1d8b0a46ca] Processing by StaticPagesController#home as HTML
2016-11-14T20:51:53.850654+00:00 app[web.1]: [21c27115-512c-4e9e-bb24-8e1d8b0a46ca]   Rendering static_pages/home.html.erb within layouts/application
2016-11-14T20:51:53.856619+00:00 app[web.1]: [21c27115-512c-4e9e-bb24-8e1d8b0a46ca]   Rendered static_pages/home.html.erb within layouts/application (5.7ms)
2016-11-14T20:51:53.859704+00:00 app[web.1]: [21c27115-512c-4e9e-bb24-8e1d8b0a46ca] Completed 200 OK in 19ms (Views: 11.1ms | ActiveRecord: 0.0ms)
2016-11-14T20:51:59.479887+00:00 heroku[router]: at=info method=GET path="/signup" host=damp-reef-30485.herokuapp.com request_id=79382bce-34fd-4faa-958c-15b6ce8adf1f fwd="46.188.182.234" dyno=web.1 connect=1ms service=64ms status=500 bytes=1733
2016-11-14T20:51:59.487241+00:00 app[web.1]: [79382bce-34fd-4faa-958c-15b6ce8adf1f] Started GET "/signup" for 46.188.182.234 at 2016-11-14 20:51:59 +0000
2016-11-14T20:51:59.495254+00:00 app[web.1]: [79382bce-34fd-4faa-958c-15b6ce8adf1f] Processing by UsersController#new as HTML
2016-11-14T20:51:59.509968+00:00 app[web.1]: [79382bce-34fd-4faa-958c-15b6ce8adf1f] Completed 500 Internal Server Error in 14ms (ActiveRecord: 1.6ms)
2016-11-14T20:51:59.511411+00:00 app[web.1]: [79382bce-34fd-4faa-958c-15b6ce8adf1f]   
2016-11-14T20:51:59.511456+00:00 app[web.1]: [79382bce-34fd-4faa-958c-15b6ce8adf1f] ActiveRecord::StatementInvalid (PG::UndefinedTable: ERROR:  relation "users" does not exist
2016-11-14T20:51:59.511457+00:00 app[web.1]: LINE 8:                WHERE a.attrelid = '"users"'::regclass
2016-11-14T20:51:59.511457+00:00 app[web.1]:                                           ^
2016-11-14T20:51:59.511458+00:00 app[web.1]: :               SELECT a.attname, format_type(a.atttypid, a.atttypmod),
2016-11-14T20:51:59.511458+00:00 app[web.1]:                      pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod,
2016-11-14T20:51:59.511459+00:00 app[web.1]:              (SELECT c.collname FROM pg_collation c, pg_type t
2016-11-14T20:51:59.511459+00:00 app[web.1]:                WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation),
2016-11-14T20:51:59.511460+00:00 app[web.1]:                      col_description(a.attrelid, a.attnum) AS comment
2016-11-14T20:51:59.511460+00:00 app[web.1]:                 FROM pg_attribute a LEFT JOIN pg_attrdef d
2016-11-14T20:51:59.511461+00:00 app[web.1]:                   ON a.attrelid = d.adrelid AND a.attnum = d.adnum
2016-11-14T20:51:59.511461+00:00 app[web.1]:                WHERE a.attrelid = '"users"'::regclass
2016-11-14T20:51:59.511462+00:00 app[web.1]:                  AND a.attnum > 0 AND NOT a.attisdropped
2016-11-14T20:51:59.511462+00:00 app[web.1]:                ORDER BY a.attnum
2016-11-14T20:51:59.511463+00:00 app[web.1]: ):
2016-11-14T20:51:59.511491+00:00 app[web.1]: [79382bce-34fd-4faa-958c-15b6ce8adf1f]   
2016-11-14T20:51:59.511536+00:00 app[web.1]: [79382bce-34fd-4faa-958c-15b6ce8adf1f] app/controllers/users_controller.rb:17:in `new'

如您所见,我进入了主页,但是当我尝试获取注册表单时出现错误。本地一切正常,对用户资源的 REST 操作在本地正常运行。 这个输出对我来说很有趣:

"PG::UndefinedTable: ERROR:  relation "users" does not exist"

请帮忙,谢谢。

您需要在 Heroku 上 运行 迁移,只需 运行 在您项目的 shell 中:

heroku run rails db:migrate

**这个问题是由于 heroku 中的一些迁移 issue.To 向上迁移而出现的,在下面的命令中输入 **

heroku run rake db:migrate

在此之后,检查是否所有迁移都已启动,否则 not.If 您会收到有关该迁移的任何问题检查。