在使用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"
我非常困惑于这种看法,因为根据我所能看到的所有东西来看待床上用品。列确实存在。任何帮助将不胜感激。
答案 0 :(得分:4)
发生此问题是因为生产数据库上的公寓表缺少列床。您需要在生产方面进行迁移。
heroku rake db:migrate
查看新列是否出现。
确保你也重启你的heroku。
heroku restart