我要查询的表名为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/