小编Luk*_*uke的帖子

ActiveRecord在生产中运行不同的查询?

我有一个类层次结构,如下所示:

class Post < ActiveRecord::Base; end
class Project < Post; end
class ProjectDesignWall < Project; end
Run Code Online (Sandbox Code Playgroud)

有一个控制器可以像这样获取数据:

@projects = Project.find(:all, :include => [:project_image_photos,:user])
Run Code Online (Sandbox Code Playgroud)

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

SELECT * FROM `posts` WHERE ( (`posts`.`type` = 'Project' ) ) ORDER BY originally_created_at DESC
Run Code Online (Sandbox Code Playgroud)

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

SELECT * FROM `posts` WHERE ( (`posts`.`type` = 'Project' OR `posts`.`type` = 'ProjectDesignWall' ) ) ORDER BY originally_created_at DESC
Run Code Online (Sandbox Code Playgroud)

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

ruby environment activerecord ruby-on-rails

3
推荐指数
1
解决办法
233
查看次数

标签 统计

activerecord ×1

environment ×1

ruby ×1

ruby-on-rails ×1