НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
54 of 182 menu

Таблица block_content_revision

Таблица block_content_revision является частью системы контроля версий Drupal и хранит историю изменений пользовательских блоков (custom blocks). Каждая новая ревизия сохраняет полное состояние блока на момент редактирования.

Поля

Поле Тип данных Описание
id int Первичный ключ, уникальный идентификатор ревизии.
revision_id int Уникальный идентификатор ревизии. Связывает ревизию с основной записью в block_content через поле revision_id.
langcode varchar(12) Код языка, для которого предназначена данная ревизия блока.
revision_created int Временная метка (timestamp) создания ревизии.
revision_user int Идентификатор пользователя (users.uid), создавшего эту ревизию.
revision_log_message longtext Сообщение журнала изменений, которое пользователь может оставить при сохранении ревизии для описания внесенных правок.

Как это работает

Когда пользователь редактирует и сохраняет пользовательский блок, система Drupal создает новую запись в таблице block_content_revision. Эта запись содержит метаданные о ревизии: кто, когда и с каким комментарием ее создал.

Основное содержимое блока (заголовок, тело и другие поля) хранится не в этой таблице, а в ревизионных таблицах полей, например block_content__body_revision. Таблица block_content_revision служит центральным узлом, связывающим все ревизионные данные одного изменения.

Поле revision_id является связующим звеном. Оно соответствует полю revision_id в основной таблице block_content, где revision_id указывает на текущую актуальную ревизию блока.

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

Пример SQL-запроса

Получить историю ревизий для конкретного блока можно следующим запросом:

SELECT bcr.revision_id, bcr.revision_created, u.name as username, bcr.revision_log_message FROM block_content_revision bcr JOIN block_content bc ON bcr.id = bc.id LEFT JOIN users u ON bcr.revision_user = u.uid WHERE bc.id = 25 ORDER BY bcr.revision_created DESC;

Смотрите также

  • таблицу block_content,
    которая хранит основную информацию о пользовательских блоках
  • таблицу block_content_field_data,
    которая содержит переведенные данные блоков
  • таблицу block_content__body,
    которая хранит содержимое тела блока
  • таблицу node_revision,
    которая выполняет аналогичную функцию для ревизий материалов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить