我要查询的表名为cache.dashboardstats
我的模型是:

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

这将创建一个select * from "dashboardstats";
如何定义“缓存”的所有者/架构,以便查询变成:
select * from cache."dashboardstats";

最佳答案

可以在符号内部使用双下划线,或使用限定方法之一表示限定标识符:

: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通常可以正确地确定主键,因此通常不会手动指定它。

关于ruby - 如何在续集类(class)中定义表所有者/模式?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11894449/

10-12 12:24