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.
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".
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.
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
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'.
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.
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>où type_nameest le nom du nouveau type de contenu.
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.
Réponses:
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".
la source
node_revisions
.bodyDans Drupal 7, le corps a été déplacé vers la table field_data_body.
la source
value
colonne d'un champ appelébody
. Ceci par défaut est stocké dans labody_value
colonne de lafield_data_body
table. Cependant, rien ne vous empêche d’utiliser, par exemple MongoDB pour stocker les données sur lebody
terrain (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).field_data_body
? Ce dernier n'a pasnid
ouvid
colonne (du moins pas avec ce nom)C'est la table "node_revisions", dans Drupal 5.
la source
Dans Drupal 6, le contenu du corps du nœud est enregistré dans la table 'node_revisions' sous le champ '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'.
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'.
la source
Le contenu de votre corps de types de contenu est enregistré dans
field_data_body
et desfield_revision_body
tableaux.la source
Voici le code SQL que vous utiliseriez (client MySQL):
Donc oui, la réponse est la table "node_revisions" dans Drupal 6.
la source
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.
la source
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>
oùtype_name
est le nom du nouveau type de contenu.la source
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.
la source