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

Таблица taxonomy_term_field_revision

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

Поля

Поле Тип данных Описание
tid int Уникальный идентификатор термина. Внешний ключ к таблице taxonomy_term_data.
revision_id int Уникальный идентификатор ревизии термина. Внешний ключ к таблице taxonomy_term_revision.
langcode varchar(12) Код языка, для которого хранятся данные полей в этой ревизии.
status tinyint Статус опубликованности термина: 1 - опубликован, 0 - не опубликован.
name varchar(255) Название термина на указанном языке.
description__value longtext Основное значение описания термина.
description__format varchar(255) Формат текста описания (plain_text, basic_html, full_html и т.д.).
changed int Время последнего изменения этой ревизии в формате UNIX timestamp.
default_langcode tinyint Флаг, указывающий является ли этот язык языком по умолчанию для термина: 1 - да, 0 - нет.
revision_translation_affected tinyint Флаг, указывающий затрагивает ли данная ревизия перевод термина.

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

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

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

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

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

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

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

SELECT tfr.revision_id, FROM_UNIXTIME(tfr.changed) as change_date, tfr.name, SUBSTRING(tfr.description__value, 1, 100) as description_preview FROM taxonomy_term_field_revision tfr WHERE tfr.tid = 42 ORDER BY tfr.revision_id DESC;

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

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