【发布时间】:2013-12-11 17:06:51
【问题描述】:
我正在使用 PostgreSQL 数据库运行 Ruby on Rails 应用程序。这是我第一次将带有数据库的应用程序推送到 heroku,所以我不知道会发生什么。我得到的是我的主页按预期工作;但是用户页面(由 Rails scaffold 命令创建的页面应该显示数据库查询功能,例如“创建用户”)没有显示。相反,“我们很抱歉,但出了点问题。我们已收到有关此问题的通知,我们会尽快查看。”从昨天开始就没有改变。
另外,我的应用程序主 heroku 页面显示了一些“Dyno”栏。这些看起来像进度条,只有当我尝试将它们拉到前面时,它们才会添加所需的付款。在每个栏的顶部,列出了一个命令:
- 网络 bundle exec rails server -p $PORT
- worker bundle exec rake jobs:work
我已经修改了我的 database.yml 文件,使其与 Heroku 规范中的 Postgres 数据库相匹配,所以它现在变成了这样:
> production:
> adapter: postgresql
> encoding: unicode
> database: d6i4fnhdh54239
> pool: 5
> username: evlptakrsjivpi
> password: N6upI3-WSvca90zMXp8iKOXxh2
> host: ec2-23-21-243-117.compute-1.amazonaws.com
> port: 5432
但这个文件默认在 .gitignore 中,所以提交更改甚至不算作提交。我真的迷路了。这是我的 heroku 日志错误:
> 2013-12-11T21:17:28.683243+00:00 app[web.1]:
> ActiveRecord::StatementInvalid (PG::UndefinedTable: ERROR: relation
> "users" does not exist 2013-12-11T21:17:28.683243+00:00 app[web.1]:
> LINE 1: SELECT "users".* FROM "users"
> 2013-12-11T21:17:28.683243+00:00 app[web.1]:
> ^ 2013-12-11T21:17:28.683243+00:00 app[web.1]: : SELECT "users".*
> FROM "users"): 2013-12-11T21:17:28.683243+00:00 app[web.1]:
> app/controllers/users_controller.rb:5:in `index'
> 2013-12-11T21:17:28.683243+00:00 app[web.1]:
> 2013-12-11T21:17:28.683243+00:00 app[web.1]:
>
> ! Command cancelled.
【问题讨论】:
-
运行 heroku logs -n 1500 以查看问题所在或使用 heroku logs --tail 查看实时日志
-
'2013-12-11T21:17:28.683243+00:00 app[web.1]: ActiveRecord::StatementInvalid (PG::UndefinedTable: ERROR: 关系“用户”不存在 2013- 12-11T21:17:28.683243+00:00 app[web.1]: LINE 1: SELECT "users".* FROM "users" 2013-12-11T21:17:28.683243+00:00 app[web.1] : ^ 2013-12-11T21:17:28.683243+00:00 app[web.1]: : SELECT "users".* FROM "users"): 2013-12-11T21:17:28.683243+00:00 app[ web.1]: app/controllers/users_controller.rb:5:in `index' '
-
UndefinedTable 错误是什么意思?
-
它告诉你该表不存在。详情见我的回答。
标签: ruby-on-rails postgresql heroku