我正在运行带有PostgreSQL数据库的Ruby on Rails应用程序。这是我第一次将带有数据库的应用程序推送到heroku,所以我不知道会发生什么。我得到的是我的主页按预期工作;但是用户页面(由Rails scaffold
命令创建的页面应显示数据库查询功能,例如“创建用户”)未显示。相反,“我们很抱歉,但出了点问题。我们已经收到有关此问题的通知,我们很快就会对其进行审核。”自昨天以来,情况没有变化。
另外,我的app main heroku页面显示了一些“Dyno”栏。这些似乎是进度条,只有当我试图将它们拉向前时才会增加付款。在每个栏的顶部,列出了一个命令:
我修改了 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.
答案 0 :(得分:3)
Heroku将重新创建您的database.yml以匹配其内部数据库方案,因此您无需手动执行此操作。但是,您确实需要将其视为一个独特的数据库,这意味着单独的数据库迁移。
因此,请务必运行heroku run rake db:migrate
来更新表格。