Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 如何在sequel类中定义表所有者/模式?_Ruby_Sequel - Fatal编程技术网

Ruby 如何在sequel类中定义表所有者/模式?

Ruby 如何在sequel类中定义表所有者/模式?,ruby,sequel,Ruby,Sequel,我试图查询的表名为cache.dashboardstats 我的模型是: class Dashboard < Sequel::Model(:dashboardstats) set_schema do set_primary_key :dashboardstatid end end class仪表板

我试图查询的表名为
cache.dashboardstats

我的模型是:

class Dashboard < Sequel::Model(:dashboardstats)
 set_schema do
    set_primary_key :dashboardstatid
  end
end
class仪表板
这将从“dashboardstats”创建一个
select*

如何定义“缓存”的所有者/模式,以便我的查询变成:


从缓存中选择*。“dashboardstats”

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

:cache__dashboardstats
Sequel.qualify(:cache, :dashboardstats)
:dashboardstats.qualify(:cache)
您可以在模型代码中使用此选项,如:

class Dashboard < Sequel::Model(:cache__dashboardstats)
end
class仪表板

注意,我遗漏了set_模式调用。除非您正在调用create_table或类似的方法,否则永远不应该调用set_schema,否则它什么也不做。set_schema中的set_primary_key并没有按照您的想法进行设置,Sequel通常可以正确确定主键,因此通常不会手动指定它。

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

:cache__dashboardstats
Sequel.qualify(:cache, :dashboardstats)
:dashboardstats.qualify(:cache)
您可以在模型代码中使用此选项,如:

class Dashboard < Sequel::Model(:cache__dashboardstats)
end
class仪表板
注意,我遗漏了set_模式调用。除非您正在调用create_table或类似的方法,否则永远不应该调用set_schema,否则它什么也不做。set_schema中的set_primary_键并不会像您所想的那样执行,而且Sequel通常可以正确地确定主键,因此它通常不是手动指定的