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

Таблица comment_field_revision

Таблица comment_field_revision является ключевым компонентом системы управления версиями комментариев в Drupal. Она содержит все ревизии полей для каждого комментария, что позволяет отслеживать историю изменений, восстанавливать предыдущие версии и обеспечивать целостность данных при работе с переводами.

Поля

Поле Тип данных Описание
cid int Идентификатор комментария. Внешний ключ к таблице comment.
comment_type varchar(32) Тип комментария (бандл). Ссылается на тип комментария, определенный в системе.
langcode varchar(12) Код языка, для которого предназначена данная ревизия комментария.
status tinyint Статус комментария: 0 - неопубликован, 1 - опубликован.
subject varchar(255) Заголовок комментария.
uid int Идентификатор пользователя, создавшего комментарий. Внешний ключ к таблице users.
created int Временная метка создания комментария в формате UNIX timestamp.
changed int Временная метка последнего изменения комментария в формате UNIX timestamp.
default_langcode tinyint Флаг, указывающий является ли данная ревизия ревизией для языка по умолчанию: 0 - нет, 1 - да.
revision_id int Уникальный идентификатор ревизии. Первичный ключ таблицы.
revision_created int Временная метка создания ревизии в формате UNIX timestamp.
revision_user int Идентификатор пользователя, создавшего ревизию. Внешний ключ к таблице users.
revision_log_message longtext Сообщение журнала изменений, описывающее причину создания данной ревизии.

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

Таблица comment_field_revision работает в тесной связке с таблицей comment_revision. В то время как comment_revision хранит базовую информацию о ревизиях, comment_field_revision содержит все поля, включая пользовательские поля, для каждой ревизии.

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

Поле langcode обеспечивает поддержку многоязычности. Для каждого языка может существовать своя ревизия полей комментария, что позволяет иметь разные версии контента для разных языков.

Поле default_langcode указывает, является ли данная ревизия ревизией для языка по умолчанию. Это важно для корректного отображения контента при переключении между языками.

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

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

SELECT cfr.*, u.name as username FROM comment_field_revision cfr LEFT JOIN users u ON cfr.uid = u.uid WHERE cfr.cid = 123 ORDER BY cfr.revision_created DESC;

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

  • таблицу comment,
    которая содержит основные данные комментариев
  • таблицу comment_revision,
    которая хранит информацию о ревизиях комментариев
  • таблицу comment__field_tags,
    которая хранит значения поля тегов комментариев
  • таблицу comment_entity_statistics,
    которая содержит статистику комментариев для сущностей
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить