Где хранится содержимое тела узла?
В таблице узлов вы найдете все, кроме фактического тела. Где я могу найти этот основной текст? Я предполагаю, что он где-то хранится в виде капли.
9 answers
У меня здесь нет запущенной установки drupal, но я задал себе этот самый вопрос пару недель назад, и мне потребовалось время, чтобы найти ответ.
Если я правильно помню, тело узла хранится в таблице, которая используется для хранения "ревизий" узла. Я не уверен, как его зовут, но это должно быть что-то вроде "node_revision" или "node_revisions".
В Drupal 7 тело было перемещено в таблицу field_data_body.
Это таблица "node_revisions" в Drupal 5.
В Drupal 6 содержимое тела узла сохраняется в таблице "node_revisions" в поле "тело".
Node_revisions.тело
В Drupal 7 содержимое тела узла сохраняется в таблице "field_data_body" в поле "body_value". В случае, если есть изменения содержимого, он также сохраняет данные в таблице "field_revision_body" в поле "body_value".
Field_data_body.значение тела
Field_revision_body.значение тела
В Drupal 8, содержимое тела узла сохраняется в таблице "node__body" в поле "body_value". В случае, если имеются ревизии содержимого, он также сохраняет данные в таблице "узел_редакция__тело" в поле "значение тела".
Узел__тело.значение тела
Узел_редакция__тело.значение тела
Основное содержимое ваших типов контента сохраняется в таблицах field_data_body
и field_revision_body
.
Это SQL, который вы бы использовали (клиент MySQL):
SELECT node.nid,node.vid,type,node.title, body
FROM node join node_revisions ON node.nid = node_revisions.nid
WHERE node.title = 'some title';
Так что да, ответ - таблица "node_revisions" в Drupal 6.
В Drupal 7 тело узла находится в field_data_body и field_revision_body. Новые поля, добавленные с помощью CCK (который добавлен в ядро в Drupal 7), находятся в field_config и field_config_instance. В Drupal6 тело узла хранится в node_revisions, а созданные поля сохраняются в content_node_field и content_node_field_instance.
Я создал несколько новых типов контента, и для них текст или описание отправляются в столбец field_description_value таблицы content_type_<type_name>
, где type_name
- имя нового типа контента.
В Drupal 7 это поле в поле_revision_body.. если вы опишете эту таблицу, вы увидите, что в ней есть столбец для сводки тела и его тип длинного текста.