Стажировка на реальных проектах:
наполнение портфолио, помощь с работой и заказами, пробные собеседования. Жми для подробностей→
40 of 182 menu
Бесплатный курс по Верстке. От новичка до продвинутого верстальщика! Начало 11 ноября. Жми для записи!

Таблица taxonomy_term_revision__parent

Таблица taxonomy_term_revision__parent является частью системы ревизий Drupal и предназначена для хранения информации о родительских терминах для каждой ревизии термина таксономии. Это позволяет системе отслеживать изменения в иерархической структуре словарей с течением времени.

Поля

Поле Тип данных Описание
bundle varchar(128) Тип словаря (машиночитаемое имя), к которому принадлежит термин. Определяет, к какому словарю относится термин.
deleted tinyint Флаг удаления: 0 - запись активна, 1 - запись удалена.
entity_id int Идентификатор термина таксономии, к которому относится родительская связь. Внешний ключ к таблице taxonomy_term_data.
revision_id int Идентификатор ревизии термина. Внешний ключ к таблице taxonomy_term_revision.
langcode varchar(32) Код языка, для которого определено значение родительской связи.
delta int Порядковый индекс значения для случаев, когда у термина может быть несколько родителей.
parent_target_id int Идентификатор родительского термина. Внешний ключ к таблице taxonomy_term_data.

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

При создании или редактировании термина таксономии в Drupal с включенной системой ревизий, для каждого изменения создается новая ревизия. Таблица taxonomy_term_revision__parent хранит информацию о родительских терминах для каждой такой ревизии.

Когда пользователь изменяет родительские связи термина (добавляет или удаляет родителей), система создает новую запись в этой таблице, связывая её с конкретной ревизией термина через поле revision_id.

Эта таблица использует архитектуру Drupal Field API, где parent_target_id является ссылкой на целевую сущность (родительский термин), а delta позволяет хранить множественные значения для случаев, когда термин имеет нескольких родителей.

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

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

Получить информацию о родительских связях для конкретной ревизии термина:

SELECT trp.*, td.name as term_name, parent_td.name as parent_name FROM taxonomy_term_revision__parent trp INNER JOIN taxonomy_term_data td ON trp.entity_id = td.tid LEFT JOIN taxonomy_term_data parent_td ON trp.parent_target_id = parent_td.tid WHERE trp.revision_id = 123;

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

  • таблицу taxonomy_term_data,
    которая содержит основные данные терминов таксономии
  • таблицу taxonomy_term_field_data,
    которая хранит данные полей терминов для разных языков
  • таблицу taxonomy_term_revision,
    которая содержит ревизии терминов таксономии
  • таблицу taxonomy_index,
    которая обеспечивает индексацию связей терминов с материалами