¿Dónde almacena Drupal el contenido del cuerpo de un nodo?


48

En la tabla de nodos, encontrará todo excepto el cuerpo real. ¿Dónde puedo encontrar este texto del cuerpo? Supongo que se está almacenando como una gota en alguna parte.


Para comprender dónde se almacenan todos los campos de un nodo en Drupal 7: consulte drupal.stackexchange.com/questions/68515/…
garras

Respuestas:


38

No tengo una instalación de drupal en ejecución aquí, pero me hice esta misma pregunta hace un par de semanas, y me tomó tiempo encontrar la respuesta.

Si no recuerdo mal, el cuerpo del nodo se almacena en la tabla que se usa para mantener las "revisiones" del nodo. No estoy seguro de cómo se llama, pero debería ser algo así como "node_revision" o "node_revisions".


44
correcto. es node_revisions.body

Solo para agregar ... el propósito de separar el cuerpo del nodo es permitir a los desarrolladores crear tantos tipos de contenido diferentes como quieran y tener solo una tabla que contenga todos los ID de nodo. Las revisiones, que incluyen el cuerpo, están en tablas separadas.
Randell

El enlace webdevgeeks.com está roto.
reprogramador

¿Para qué versión de drupal esta respuesta es correcta?
garras

1
@claws, esta respuesta es para Drupal 6, para Drupal 7 el campo del cuerpo se almacena en la tabla field_data_body.
Yogesh

53

En Drupal 7, el cuerpo se ha movido a la tabla field_data_body.


2
En mi sitio Drupal 7, puedo ver los cuerpos de mis contenidos en las tablas "field_data_body" y "field_revision_body".
reprogramador

Esto es cierto solo si tiene tipos de contenido que incluyen un campo de cuerpo (igual que cualquier otro campo sin título). Las encuestas, por ejemplo, no tienen una.
Scott Evernden

1
No exactamente correcto. El texto del cuerpo se almacena en la valuecolumna de un campo llamado body. Esto por defecto se almacena en la body_valuecolumna de la field_data_bodytabla. Sin embargo, nada le impide usar, por ejemplo, MongoDB para almacenar los datos en el bodycampo (casi nada: el perfil estándar lo crea en SQL, por lo que es mejor usar un mínimo si desea usar MongoDB para guardar una migración dolorosa más adelante).

¿Cuál es la asociación entre un nodo y field_data_body? El último no tiene nido vidcolumna (al menos no con ese nombre)
Pastillas de explosión

Hay un colume entity_is en field_data_body que es referencia de nid de la tabla de nodos
kundan innovador


8

En Drupal 6, el contenido del cuerpo del nodo se guarda en la tabla 'node_revisions' debajo del campo 'body'.

node_revisions.body

En Drupal 7, el contenido del cuerpo del nodo se guarda en la tabla 'field_data_body' en el campo 'body_value'. En caso de que haya revisiones de contenido, también guarda los datos en la tabla 'field_revision_body' en el campo 'body_value'.

field_data_body.body_value

field_revision_body.body_value

En Drupal 8, el contenido del cuerpo del nodo se guarda en la tabla 'node__body' bajo el campo 'body_value'. En caso de que haya revisiones de contenido, también guarda los datos en la tabla 'node_revision__body' en el campo 'body_value'.

node__body.body_value

node_revision__body.body_value


5

El contenido del cuerpo de los tipos de contenido se guarda en tablas field_data_bodyy field_revision_body.


2

Este es el SQL que usaría (cliente 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';

Entonces sí, la respuesta es la tabla "node_revisions" en Drupal 6.


2

En Drupal 7, el cuerpo del nodo se encuentra en field_data_body y field_revision_body. Los nuevos campos agregados usando CCK (que se agrega al núcleo en Drupal 7) se encuentran en field_config y field_config_instance. En Drupal6, el cuerpo del nodo se almacena en node_revisions y los campos creados se guardan en content_node_field y content_node_field_instance.


1

He creado algunos tipos de contenido nuevos, y para ellos, el cuerpo o la descripción van a la columna field_description_value de la tabla content_type_<type_name>donde type_nameestá el nombre del nuevo tipo de contenido.


1

En Drupal 7 está en field_revision_body .. si describe esa tabla verá que hay una columna para el resumen del cuerpo y es un tipo de texto largo.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.