【问题标题】:Rewrite rails "where" query to work with heroku重写rails“where”查询以使用heroku
【发布时间】:2012-09-11 15:21:04
【问题描述】:

晚上好,

这个查询在我的本地机器上运行得很好,

@articles = Article.where(category: "news").includes(:pictures)

但是,当在 Heroku 上使用它时,查询不会填充页面,这是需要重写查询的问题还是 Heroku 的问题? (ps我已经重新启动heroku并运行所有迁移)

任何提示都会很棒,在此先感谢安迪

【问题讨论】:

  • 有数据支持吗?我的建议是尝试弄乱heroku run console,尝试Article.where(category: "news") 之类的东西并检查结果。从那里添加包含等等,看看有什么用。
  • 嗨 Agmcleod,我刚刚在新闻下创建了一个帖子,并将查询更改为; Article.find_all_by_category("News"),它正确地找到了帖子,但是这在 heroku 中没有再次起作用,有什么建议吗?
  • 所以在heroku中它只返回nil?如果是这种情况,并且当您致电Article.all 时会出现帖子,那么我不确定。通常,当查询在生产中不起作用时,我建议仔细检查生产数据库中是否存在数据,因此请检查 heroku 数据库。
  • 'news' != 'News' 所以也许你应该试试.where(category: 'News')
  • 是的,穆你是对的!,傻孩子,我最终使用了 Article.find_all_by_category("News"),把它作为答案并在投票中打勾,为大家加油,安迪

标签: sql ruby-on-rails ruby heroku


【解决方案1】:

看起来您的开发数据库(可能是 SQLite)不区分大小写,而 Heroku 上的 Postgres 是。

当我希望 Heroku 不区分大小写时,我会使用如下内容:

where("upper(category) like ?", "NEWS")

这就是为什么让您的开发环境尽可能接近生产环境是最佳做法的原因。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2016-03-25
    • 2018-06-29
    • 2011-12-11
    • 2016-07-29
    相关资源
    最近更新 更多