Таблица revision
Таблица revision является центральной таблицей системы ревизий в Drupal. Она хранит метаданные для каждой ревизии сущностей, поддерживающих версионность (ноды, термины таксономии, блоки и др.). Каждая запись в этой таблице представляет отдельную версию контента.
Поля
| Поле | Тип данных | Описание |
|---|---|---|
revision_id |
serial |
Уникальный идентификатор ревизии. Первичный ключ таблицы. |
revision_created |
int |
Временная метка создания ревизии в формате UNIX timestamp. |
revision_user |
int |
Идентификатор пользователя, создавшего ревизию. Внешний ключ для таблицы users.
|
revision_log_message |
text |
Сообщение журнала изменений, которое пользователь может оставить при создании ревизии. |
Как это работает
Когда сущность с поддержкой ревизий (например, материал) создается или изменяется, Drupal создает новую запись в таблице revision. Эта запись содержит метаинформацию о версии: кто создал, когда и описание изменений.
Каждый тип сущности, поддерживающий ревизии, имеет свою собственную таблицу данных ревизий (например, node_revision для материалов), которая связана с основной таблицей revision через поле revision_id.
Поле revision_user может быть NULL, если ревизия была создана анонимным пользователем или системой.
Система ревизий позволяет отслеживать историю изменений контента, возвращаться к предыдущим версиям и видеть, кто и какие изменения вносил.
Пример SQL-запроса
Получить информацию о ревизиях с именами пользователей можно следующим запросом:
SELECT r.revision_id, r.revision_created, u.uid, u.name as username, r.revision_log_message
FROM revision r
LEFT JOIN users u ON r.revision_user = u.uid
ORDER BY r.revision_created DESC
LIMIT 10;
Смотрите также
-
таблицу
node_revision,
которая хранит данные ревизий материалов -
таблицу
node,
которая содержит основные данные материалов -
таблицу
users,
которая хранит данные пользователей -
таблицу
node_field_revision,
которая содержит ревизии полей материалов