如何在续集类中定义表所有者/模式?

时间:2012-08-10 01:54:07

标签: ruby sequel

我正在尝试查询的表名为cache.dashboardstats

我的模特是:

class Dashboard < Sequel::Model(:dashboardstats)
 set_schema do
    set_primary_key :dashboardstatid
  end
end

这会创建一个select * from "dashboardstats";

如何定义“缓存”的所有者/架构,以便我的查询变为:

select * from cache."dashboardstats";

1 个答案:

答案 0 :(得分:4)

您可以在符号内使用双下划线,或使用其中一个限定方法来表示限定标识符:

:cache__dashboardstats
Sequel.qualify(:cache, :dashboardstats)
:dashboardstats.qualify(:cache)

您可以在模型代码中使用它,例如:

class Dashboard < Sequel::Model(:cache__dashboardstats)
end

请注意,我省略了你的set_schema调用。除非您调用create_table或类似的方法,否则不应该调用set_schema,否则它什么都不做。 set_schema里面的set_primary_key没有按照你的想法做到,Sequel通常可以正确地确定主键,因此通常不会手动指定。