1

クエリしようとしているテーブルの名前はcache.dashboardstats

私のモデルは:

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

これにより、select * from "dashboardstats";

「キャッシュ」の所有者/スキーマを定義して、クエリが次のようになるようにするにはどうすればよいですか。

select * from cache."dashboardstats";

4

1 に答える 1

4

シンボル内で二重アンダースコアを使用するか、修飾メソッドの 1 つを使用して、修飾された識別子を表すことができます。

: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 が主キーを正しく判断できるため、手動で指定することは通常ありません。

于 2012-08-10T15:34:35.770 に答える