Таблица config
Таблица config является основным хранилищем активной конфигурации в Drupal. Она содержит все текущие настройки сайта, включая конфигурацию модулей, тем, типов материалов, таксономии, представлений и системные параметры. Данные хранятся в сериализованном формате YAML.
Поля
| Поле | Тип данных | Описание |
|---|---|---|
collection |
varchar(255) |
Коллекция конфигурации. Для основной конфигурации используется значение '' (пустая строка). Другие коллекции могут использоваться для хранения языковых переводов конфигурации или других целей. |
name |
varchar(255) |
Уникальное имя конфигурационного объекта. Обычно следует шаблону module_name.config_name (например, system.site для основных настроек сайта).
|
data |
blob |
Сериализованные данные конфигурации в формате YAML. Содержит все параметры и настройки конфигурационного объекта. |
Как это работает
Drupal использует систему управления конфигурацией, которая позволяет экспортировать настройки сайта в файлы YAML и импортировать их на других сайтах. Таблица config представляет собой "активную" конфигурацию - те настройки, которые в данный момент используются сайтом.
При установке модуля его конфигурация по умолчанию импортируется в эту таблицу. Когда администратор изменяет настройки через административный интерфейс, изменения сохраняются непосредственно в config.
Конфигурация организована в виде отдельных объектов, каждый из которых имеет уникальное имя. Например, system.site содержит основные настройки сайта (название, слоган, email администратора), а views.view.frontpage содержит конфигурацию представления для главной страницы.
При работе с конфигурацией через Drupal API используется ключ name для идентификации конфигурационного объекта. Поле data содержит сериализованные данные, которые автоматически преобразуются в PHP массивы при чтении и обратно в YAML при записи.
Пример SQL-запроса
Получить основные настройки сайта можно следующим запросом:
SELECT name, data
FROM config
WHERE name = 'system.site'
AND collection = '';
Посмотреть все конфигурационные объекты определенного модуля:
SELECT name
FROM config
WHERE name LIKE 'node.%'
AND collection = ''
ORDER BY name;
Смотрите также
-
таблицу
cache_config,
которая хранит кеш конфигурации -
таблицу
key_value,
которая используется для хранения различных временных данных -
таблицу
cache_container,
которая хранит кеш контейнера зависимостей -
таблицу
sequences,
которая управляет последовательностями для автоинкрементных полей