ActiveRecord :: StatementInvalid(PG ::错误:错误:列不存在

时间:2012-08-14 00:45:13

标签: ruby-on-rails activerecord heroku find

在使用find语句构建的表上部署到heroku时遇到问题。当使用本地服务器时它们运行得很好但是没有在heroku上运行我很抱歉,但出了点问题'错误。我遇到了一些其他线程,暗示它可能是postgresql中的区分大小写的问题,而不是我对它了解很多,但我尝试确保大写一致并且它似乎没有什么区别。

Heroku Logs

2012-08-14T00:31:30+00:00 app[web.1]: Processing by ApartmentsController#aptMenu as HTML
2012-08-14T00:31:30+00:00 app[web.1]: Completed 500 Internal Server Error in 4ms
2012-08-14T00:31:30+00:00 app[web.1]: 
2012-08-14T00:31:30+00:00 app[web.1]: LINE 1: SELECT "apartments".* FROM "apartments"  WHERE (bed = 0)
2012-08-14T00:31:30+00:00 app[web.1]: ActiveRecord::StatementInvalid (PG::Error: ERROR:  column "bed" does not exist

控制器

def aptMenu
  @apartments = Apartment.all
  @studio = Apartment.find(:all, :conditions => ["bed = 0"])

模式

create_table "apartments", :force => true do |t|
t.integer  "bed"

我非常困惑于这种看法,因为根据我所能看到的所有东西来看待床上用品。列确实存在。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:4)

发生此问题是因为生产数据库上的公寓表缺少列床。您需要在生产方面进行迁移。

heroku rake db:migrate

查看新列是否出现。

确保你也重启你的heroku。

heroku restart