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.


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".


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.


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

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


5

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


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.


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.


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.


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.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.