Таблица path_alias_revision
Таблица path_alias_revision хранит исторические версии (ревизии) псевдонимов путей, позволяя отслеживать изменения и при необходимости откатываться к предыдущим версиям. Каждая запись в таблице path_alias может иметь несколько ревизий в этой таблице.
Поля
| Поле | Тип данных | Описание |
|---|---|---|
id |
int |
Первичный ключ, уникальный идентификатор ревизии псевдонима. |
revision_id |
int |
Уникальный идентификатор ревизии. Создается автоматически при каждом изменении псевдонима. |
langcode |
varchar(12) |
Код языка, для которого предназначен данный псевдоним. Обеспечивает поддержку многоязычных сайтов. |
path |
varchar(255) |
Внутренний системный путь Drupal (например, node/123), для которого создается псевдоним.
|
alias |
varchar(255) |
Псевдоним пути - удобный для человека и SEO-оптимизированный URL (например, /about-us).
|
status |
tinyint |
Статус псевдонима: 1 - активен, 0 - неактивен.
|
revision_created |
int |
Временная метка создания ревизии в формате UNIX timestamp. |
revision_user |
int |
Идентификатор пользователя, создавшего данную ревизию. Ссылается на таблицу users.
|
revision_log_message |
longtext |
Сообщение журнала изменений, которое пользователь может добавить при создании ревизии для описания внесенных изменений. |
Как это работает
При создании или изменении псевдонима пути в Drupal создается новая запись в таблице path_alias_revision. Каждая ревизия сохраняет полное состояние псевдонима на момент изменения, включая путь, алиас, статус и метаданные изменения.
Система работает по принципу ревизионного контроля: основная таблица path_alias всегда содержит только последнюю (актуальную) версию каждого псевдонима, в то время как таблица path_alias_revision хранит всю историю изменений.
При запросе URL Drupal сначала проверяет таблицу псевдонимов на соответствие запрошенного пути. Если находится активный псевдоним, система перенаправляет запрос на соответствующий внутренний путь.
Администраторы могут просматривать историю изменений псевдонимов и при необходимости восстанавливать предыдущие версии через административный интерфейс Drupal.
Пример SQL-запроса
Получить все ревизии для конкретного псевдонима можно следующим запросом:
SELECT par.revision_id, par.alias, par.path, par.status,
FROM_UNIXTIME(par.revision_created) as created_date,
u.name as username, par.revision_log_message
FROM path_alias_revision par
LEFT JOIN users u ON par.revision_user = u.uid
WHERE par.id = 15
ORDER BY par.revision_created DESC;
Смотрите также
-
таблицу
path_alias,
которая хранит актуальные версии псевдонимов путей -
таблицу
node,
которая содержит основные данные материалов сайта -
таблицу
users,
которая хранит данные пользователей системы -
таблицу
node_revision,
которая хранит ревизии материалов сайта