gpt4 book ai didi

ruby-on-rails - ActiveRecord 在生产中运行不同的查询?

转载 作者:数据小太阳 更新时间:2023-10-29 07:49:09 25 4
gpt4 key购买 nike

我的类层次结构如下所示:

class Post < ActiveRecord::Base; end
class Project < Post; end
class ProjectDesignWall < Project; end

有一个 Controller 可以像这样获取数据:

@projects = Project.find(:all, :include => [:project_image_photos,:user])

development 中,这会直接从日志运行以下查询:

SELECT * FROM `posts` WHERE ( (`posts`.`type` = 'Project' ) ) ORDER BY originally_created_at DESC

但是,一旦它在 production 模式下运行,即使使用相同的数据库和数据,它也会产生以下查询:

SELECT * FROM `posts` WHERE ( (`posts`.`type` = 'Project' OR `posts`.`type` = 'ProjectDesignWall' ) ) ORDER BY originally_created_at DESC

有谁知道为什么会这样,如果不能彻底解决问题,有没有办法让它至少表现一致?

最佳答案

因为在生产环境中,所有的类都是一次性加载的。当加载所有类时,它意识到 ProjectDesignWall 是 Project 的子类,因此收集了所有类。

关于ruby-on-rails - ActiveRecord 在生产中运行不同的查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/703538/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com