Отчет по темам и связанным компонентам тем

Этот запрос предоставляет полное представление обо всех темах вашего экземпляра Discourse, а также об установленных в них компонентах. Он может быть полезен администраторам, управляющим несколькими темами, которым нужно быстро определить, какие компоненты установлены в каждой из них.

-- [params]
-- null text :theme_name

-- Запрос для вывода всех тем и связанных с ними установленных компонентов
WITH parent_themes AS (
  SELECT id, name
  FROM themes
  WHERE component = false
    AND (:theme_name IS NULL OR name ILIKE '%' || :theme_name || '%')
)

SELECT 
  pt.name AS theme_name,
  ct.name AS component_name,
  ct.enabled AS component_enabled
FROM parent_themes pt
LEFT JOIN child_themes child ON child.parent_theme_id = pt.id
LEFT JOIN themes ct ON ct.id = child.child_theme_id
ORDER BY pt.name, ct.name

Параметры

  • theme_name: (Необязательно) Фильтр результатов для отображения только тем, содержащих этот текст. По умолчанию отображаются все темы и их компоненты.

Результаты

  • theme_name: Название каждой темы.
  • component_name: Название компонентов, установленных в теме.
  • component_enabled: Указывает, включен ли компонент (true) или отключен (false).

Темы, не имеющие компонентов, будут отображаться со значениями NULL в полях компонентов. Результаты отсортированы по алфавиту по названию темы, а затем по названию компонента.

Пример результатов

theme_name component_name component_enabled
Default discourse-adplugin true
Default discourse-chat true
Default discourse-signatures false
Corporate discourse-header-search true
Corporate discourse-tooltips true
3 лайка