Où Drupal stocke-t-il le contenu du corps d'un nœud?

48

Dans la table des noeuds, vous trouverez tout sauf le corps réel. Où puis-je trouver ce corps de texte? Je suppose que c'est stocké comme une goutte quelque part.

coderama
la source
Pour comprendre où tous les champs d'un nœud sont stockés dans Drupal 7: voir drupal.stackexchange.com/questions/68515/…
claws

Réponses:

38

Je n'ai pas d'installation drupal en cours ici, mais je me suis posé cette question il y a quelques semaines et il a fallu du temps pour trouver la réponse.

Si je me souviens bien, le corps du nœud est stocké dans la table utilisée pour conserver les "révisions" du nœud. Je ne suis pas sûr de son nom, mais ça devrait être quelque chose comme "node_revision" ou "node_revisions".

Pascal MARTIN
la source
4
correct. c'est node_revisions.body
Juste pour ajouter ... le but de la séparation du corps du nœud est de permettre aux développeurs de créer autant de types de contenu différents qu'ils le souhaitent et de ne disposer que d'une seule table contenant tous les identificateurs de nœud. Les révisions, qui incluent le corps, sont sur des tables séparées.
Randell
Le lien webdevgeeks.com est cassé.
Reprogrammer
Pour quelle version de drupal cette réponse est-elle correcte?
Griffes
1
@claws, cette réponse concerne Drupal 6, pour Drupal 7, le champ body est stocké dans la table field_data_body.
Yogesh
53

Dans Drupal 7, le corps a été déplacé vers la table field_data_body.

Homme libre
la source
2
Sur mon site Drupal 7, je peux voir le corps de mon contenu dans les tables "field_data_body" et "field_revision_body".
reprogrammer
Cela est vrai uniquement si vous avez des types de contenu qui incluent un champ de corps (identique à tout autre champ autre que le titre). Les sondages, par exemple, n'en ont pas.
Scott Evernden
1
Pas tout à fait correct. Le corps du texte est stocké dans la valuecolonne d'un champ appelé body. Ceci par défaut est stocké dans la body_valuecolonne de la field_data_bodytable. Cependant, rien ne vous empêche d’utiliser, par exemple MongoDB pour stocker les données sur le bodyterrain (presque rien: le profil standard le crée en SQL, il est donc préférable d’utiliser minimal si vous souhaitez utiliser MongoDB pour enregistrer une migration pénible ultérieurement).
Quelle est l'association entre un noeud et field_data_body? Ce dernier n'a pas nidou vidcolonne (du moins pas avec ce nom)
Explosion Pills
Il y a une colonne entity_is dans field_data_body qui est la référence du nid à partir de la table des noeuds
kundan innovant
8

C'est la table "node_revisions", dans Drupal 5.

Nir Levy
la source
8

Dans Drupal 6, le contenu du corps du nœud est enregistré dans la table 'node_revisions' sous le champ 'body'.

node_revisions.body

Dans Drupal 7, le contenu du corps du nœud est enregistré dans la table 'field_data_body' sous le champ 'body_value'. Dans le cas où les révisions de contenu sont là, il enregistre également les données dans la table 'field_revision_body' sous le champ 'body_value'.

field_data_body.body_value

field_revision_body.body_value

Dans Drupal 8, le contenu du corps du nœud est enregistré dans la table 'node__body' sous le champ 'body_value'. Dans le cas où les révisions de contenu sont là, il enregistre également les données dans la table 'node_revision__body' sous le champ 'body_value'.

node__body.body_value

node_revision__body.body_value

amitgoyal
la source
5

Le contenu de votre corps de types de contenu est enregistré dans field_data_bodyet des field_revision_bodytableaux.

Shan
la source
2

Voici le code SQL que vous utiliseriez (client 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';

Donc oui, la réponse est la table "node_revisions" dans Drupal 6.

kiamlaluno
la source
2

Dans Drupal 7, le corps du nœud se trouve dans field_data_body et field_revision_body. Les nouveaux champs ajoutés à l'aide de CCK (qui est ajouté à core dans Drupal 7) se trouvent dans field_config et field_config_instance. Dans Drupal6, le corps du noeud est stocké dans node_revisions et les champs créés sont enregistrés dans content_node_field et content_node_field_instance.

snasim
la source
1

J'ai créé peu de nouveaux types de contenu, et pour eux, le corps ou la description va à la colonne field_description_value de la table content_type_<type_name>type_nameest le nom du nouveau type de contenu.

kiamlaluno
la source
1

Dans Drupal 7, c'est dans field_revision_body .. si vous décrivez cette table, vous verrez apparaître un col pour Body summary et le type à texte long.

gatecrush
la source