Ree*_*Law 1 postgresql inheritance rails-activerecord
我使用PostgreSQL的继承功能来建模我的数据,我需要ONLY在某些ActiveRecord模型的查询中使用关键字.例如,我想Shift.all调用SELECT shifts.* FROM ONLY shifts.否则,它还将返回子assigned_shifts表的结果.
据我所知,没有简单的可配置方法来做到这一点.我已经尝试set.table_name = 'ONLY shifts'过ActiveRecord模型,但这会产生错误,因为它会添加'ONLY shifts'.*到SELECT语句中.
有没有办法猴子修补Arel或ActiveRecord来构建我需要的查询?
我自己找到了答案.
后人:
class Shifts < ActiveRecord::Base
default_scope -> { from("ONLY shifts") }
end
Run Code Online (Sandbox Code Playgroud)