Назначение таблиц в базе данных CMS Drupal 8 и CMS Drupal 9

21-12-2020

В Drupal 8, 9 в отличие от Drupal 7 появилось разграничение между контентом и конфигурациями вашего сайта. База данных содержит настройки доступов, текстовый контент, ссылки на добавленные локальные файлы. А сами файлы конфигураций, тема сайта хранятся в отдельных файлах. Что очень удобно для работы с сайтом на локальном хостинге и дальнейшего обновления рабочего сайта. Говоря простым языком у вас на сайте разработки будут тестовые материалы, на рабочем сайте - материалы добавленные пользователями. И это вам не помешает обновлять ваш сайт, устанавливать удалять модули, обновлять ваши темы.

Теперь кратко какие есть таблицы в базе данных Drupal и их назначение.

batch - работа с очередями задач с помощью UI.

block_content - содержат значения и данные о добавленных пользователем блоках. При добавлении новых блоков на сайте разработки создаются конфиги, а также текстовая информация (заносится в данные таблицы), изображения (в файловую систему). При обновлении рабочего сайта, вам надо не только экспортировать конфигурации добавленных блоков, но и добавить в базу данных новую информацию, а также файлы изображений в файловую систему, если они там присутствуют. Если вы это не сделаете, получите ошибку - "This block is broken or missing. You may be missing content or you might need to enable the original module", вместо работающего модуля на выбранной странице. Если вы вручную создадите такие же блоки на рабочей версии, вы все равно будете получать данную ошибку, поскольку UUID у нового блока будет отличаться от UUID блока на сайте разработки. Чтобы не править базу данных вручную при добавлении на сайте разработки новых блоков, можно сделать свой пользовательский модуль и после обновления рабочего сайта запускать обновление базы данных. Также для ускорения работы можно удалить данные строки из рабочей базы и заменить их строками из базы сайта разработки. 

cachetags - "метки" новой продвинутой системы кеширования Drupal.

cache_  - содержат кэшированные данные сайта (/admin/config/development/performance), при необходимости можно очистить в меню администратора по адресу Конфигурация >> Разработка >> Производительность.

comment, comment_  - содержат значения и данные о комментариях на сайте.

config, config_ - хранит данные о файлах конфигураций сайта (модули, настройки и т.д.) и работе с ними.

file_managed - хранится информация о загруженных на сайт файлах, а также содержит общедоступный путь к этим файлам.

file_usage - какие файлы и сколько раз использовались на сайте.

history - содержится информация кто, что и когда читал на сайте.

key_value_ - хранит и извлекает временные данные для данного владельца, например несохраненные изменения views и т.д.

locales_  - техническая информация о переводах, а также список и версия установленных модулей и время последней проверки доступных переводов для выбранного языка.

media, media_ - содержат данные о всех добавленных на сайт медиа и их характеристики.

menu_ - таблицы содержат информацию по добавленным ссылкам в меню.

node, node_ - содержат все добавленные в материалы поля и их значения, а также доступные редакции этих полей.

path_alias, path_alias_ - содержат синонимы URL (Понятные человеку и роботам адреса).

queue - работа с очередями задач.

redirect - содержит список редиректов с последним URL адресом.

router - содержит список служебных/системных ссылок.

semaphore - таблица используется для хранения блокировок (проверка завершения какой-либо операции), флагов и т.д., которые не могут быть сохранены как переменные Drupal, так как их нельзя кэшировать.

sequences - таблица последовательности используется некоторыми модулями.

sessions - данные о количестве, датах сессий (визитов) и с каких IP были заходы на сайт.

shortcut, shortcut_ - хранятся быстрые ссылки (ярлыки). В меню администратора раздел "Ярлыки" (Add content, All content). 

taxonomy_ - содержат данные по терминам таксономии.

users, users_ - учетные записи пользователей, роли на сайте, фото пользователей. Конкретно пароли хранятся в таблице users_field_data.

watchdog - содержит логи работы (/admin/reports/dblog), при необходимости можно очистить журнал в меню администратора Отчёты >> Последние записи на вкладке удалить 

Также в базе данных могут быть строки добавленные сторонними модулями, например такими как Flag, Eu cookie compliance, Search api, Serial, Simple sitemap, Webform и другими.

Надеюсь данная информация поможет вам быстрее разобраться с базами данных Drupal и найти ответы на ваши вопросы.

Похожие статьи