Как определить владельца/схему таблицы в моем классе продолжения?

Таблица, которую я пытаюсь запросить, называется cache.dashboardstats

моя модель:

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

Это создает select * from "dashboardstats";

Как определить владельца/схему «кеша», чтобы мой запрос стал:

select * from cache."dashboardstats";


person Gator    schedule 10.08.2012    source источник


Ответы (1)


Вы можете использовать двойное подчеркивание внутри символа или один из методов квалификации для представления квалифицированного идентификатора:

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

Вы бы использовали это в коде своей модели, например:

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

Обратите внимание, что я пропустил ваш вызов set_schema. Вы никогда не должны вызывать set_schema, если вы не вызываете create_table или аналогичный метод, так как в противном случае он ничего не делает. set_primary_key внутри set_schema не делает то, что вы думаете, и Sequel обычно может правильно определить первичный ключ, поэтому он обычно не указывается вручную.

person Jeremy Evans    schedule 10.08.2012