Ruby应用程序推送到Heroku显示问题

时间:2013-12-11 17:06:52

标签: ruby-on-rails postgresql heroku

我正在运行带有PostgreSQL数据库的Ruby on Rails应用程序。这是我第一次将带有数据库的应用程序推送到heroku,所以我不知道会发生什么。我得到的是我的主页按预期工作;但是用户页面(由Rails scaffold命令创建的页面应显示数据库查询功能,例如“创建用户”)未显示。相反,“我们很抱歉,但出了点问题。我们已经收到有关此问题的通知,我们很快就会对其进行审核。”自昨天以来,情况没有变化。

另外,我的app main heroku页面显示了一些“Dyno”栏。这些似乎是进度条,只有当我试图将它们拉向前时才会增加付款。在每个栏的顶部,列出了一个命令:

  • web 捆绑exec rails服务器-p $ PORT
  • 工作人员捆绑执行佣金工作:工作

我修改了 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.

1 个答案:

答案 0 :(得分:3)

Heroku将重新创建您的database.yml以匹配其内部数据库方案,因此您无需手动执行此操作。但是,您确实需要将其视为一个独特的数据库,这意味着单独的数据库迁移。

因此,请务必运行heroku run rake db:migrate来更新表格。