【问题标题】:Recurring Heroku PG Active Record Error, "column does not exist"重复出现 Heroku PG Active Record 错误,“列不存在”
【发布时间】:2012-11-19 21:45:31
【问题描述】:

所以,这是我在这个项目的工作过程中第三次收到这个错误,几个月前我发布了一个关于这个的问题 ActiveRecord::StatementInvalid (PG::Error: ERROR: column does not exist

Heroku 日志

2012-11-19T05:04:20+00:00 app[web.1]: Processing by MainController#home as HTML
2012-11-19T05:04:20+00:00 app[web.1]: Completed 500 Internal Server Error in 2ms
2012-11-19T05:04:20+00:00 app[web.1]: 
2012-11-19T05:04:20+00:00 app[web.1]: LINE 1: SELECT "apartments".* FROM "apartments"  WHERE (Bed = 0)
2012-11-19T05:04:20+00:00 app[web.1]:                                                         ^
2012-11-19T05:04:20+00:00 app[web.1]:   app/controllers/main_controller.rb:6:in `home'
2012-11-19T05:04:20+00:00 app[web.1]: : SELECT "apartments".* FROM "apartments"  WHERE (Bed = 0)):
2012-11-19T05:04:20+00:00 app[web.1]: 
2012-11-19T05:04:20+00:00 app[web.1]: ActiveRecord::StatementInvalid (PG::Error: ERROR:  column "bed" does not exist

控制器代码

def home
  @apartments = Apartment.all
  @studio = Apartment.where(:Bed => 0).all
  @oneBdr = Apartment.where(:Bed => 1).all
  @twoBdr = Apartment.where(:Bed => 2).all
  @threeBdr = Apartment.where(:Bed => 3).all
  @fourPlusBdr = Apartment.where("Bed >= 4").all
end

基本上,前两次我可以通过从 find 切换到 where 来修复它,然后第二次从 where 返回到 find 。我永远无法理解为什么它会起作用,但它确实如此,所以我最终忘记了它,直到我再次开始收到错误。现在,无论我在哪里/查找搜索之间交换,我仍然会遇到同样的错误。任何帮助都将受到高度欢迎我对这个问题的原因可能是什么有点迷茫。

提前致谢!

【问题讨论】:

  • 假设您已使用 heroku run rake db:migrate 进行迁移,请尝试使用原始 sql 查询 Apartment.find_by_sql("SELECT apartments.* FROM apartments WHERE (bed = 0)") 看看它是否有效。另外,这并不是说这应该导致错误,但为什么不遵循约定并使用小写的列名呢?
  • @cdesrosiers 不幸的是,原始 sql 没有做任何事情,仍然返回相同的错误。此外,该列都是小写的,但我只是想测试一下大写是否可以解决问题,正如你所说,这不是错误的原因。

标签: ruby-on-rails activerecord heroku where pg


【解决方案1】:

您是否通过一个添加列迁移创建了床列?如果是的话试试这个

http://blog.blazingcloud.net/2010/12/02/heroku-migration-fails-to-update-attributes-reset_column_information/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-18
    • 2016-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-05
    • 1970-01-01
    • 2018-01-16
    相关资源
    最近更新 更多