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

Таблица block_content_revision__body

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

Поля

Поле Тип данных Описание
bundle varchar(128) Тип блока контента (бандл), к которому относится это поле. Определяет, к какому типу контента принадлежит поле body.
deleted tinyint Флаг удаления: 0 - запись активна, 1 - запись удалена. Используется для мягкого удаления данных поля.
entity_id int Идентификатор сущности блока контента. Внешний ключ к таблице block_content.
revision_id int Идентификатор ревизии блока контента. Внешний ключ к таблице block_content_revision.
langcode varchar(32) Код языка, для которого хранится перевод поля body.
delta int Порядковый номер значения для полей с множественными значениями. Для одиночных полей всегда равен 0.
body_value longtext Основное значение поля body - текстовое содержимое блока контента.
body_format varchar(255) Идентификатор формата текста (например: basic_html, full_html). Ссылается на таблицу filter_format.
body_summary longtext Краткое описание (аннотация) текстового содержимого. Может использоваться для анонсов или сокращенного отображения.

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

При создании или редактировании пользовательского блока контента с полем body система Drupal создает запись в основной таблице block_content и соответствующую запись ревизии в block_content_revision. Данные поля body сохраняются отдельно в таблице block_content_revision__body, что позволяет системе хранить полную историю изменений этого поля.

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

Система использует поле deleted для мягкого удаления данных поля при удалении самой ревизии или всего блока контента. Это позволяет восстанавливать удаленные данные при необходимости.

Для многоязычных сайтов поле langcode обеспечивает хранение переводов содержимого поля body на разные языки. Каждый перевод имеет свою собственную историю ревизий.

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

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

SELECT br.revision_id, br.revision_created, bcrb.body_value, bcrb.body_format FROM block_content_revision__body bcrb JOIN block_content_revision br ON bcrb.revision_id = br.revision_id WHERE bcrb.entity_id = 123 ORDER BY br.revision_created DESC;

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

  • таблицу block_content,
    которая хранит основные данные блоков контента
  • таблицу block_content_revision,
    которая хранит ревизии блоков контента
  • таблицу block_content_field_data,
    которая хранит данные полей блоков контента
  • таблицу block_content_field_revision,
    которая хранит ревизии данных полей блоков контента
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить