Dove memorizza Drupal il contenuto del corpo di un nodo?


48

Nella tabella dei nodi, troverai tutto tranne il corpo reale. Dove posso trovare questo testo del corpo? Suppongo che sia archiviato come un blob da qualche parte.


Per capire dove sono memorizzati tutti i campi di un nodo in Drupal 7: vedi drupal.stackexchange.com/questions/68515/…
artigli

Risposte:


38

Non ho un'installazione drupal in esecuzione qui, ma mi sono posto proprio questa domanda un paio di settimane fa e ci è voluto del tempo per trovare la risposta.

Se ricordo bene, il corpo del nodo è memorizzato nella tabella utilizzata per mantenere le "revisioni" del nodo. Non sono sicuro di come si chiami, ma dovrebbe essere qualcosa come "node_revision" o "node_revisions".


4
corretta. è node_revisions.body

Solo per aggiungere ... lo scopo di separare il corpo del nodo è quello di consentire agli sviluppatori di creare tutti i diversi tipi di contenuto che desiderano e avere solo una tabella contenente tutti i node_id. Le revisioni, che includono il corpo, sono su tabelle separate.
Randell,

Il link webdevgeeks.com è interrotto.
riprogrammatore il

Per quale versione di drupal è corretta questa risposta?
artigli

1
@claws, questa risposta è per Drupal 6, per Drupal 7 il campo body è memorizzato nella tabella field_data_body.
Yogesh,

53

In Drupal 7 il corpo è stato spostato nella tabella field_data_body.


2
Nel mio sito Drupal 7, posso vedere i corpi dei miei contenuti nelle tabelle "field_data_body" e "field_revision_body".
riprogrammatore il

Questo vale solo se hai tipi di contenuto che includono un campo body (uguale a qualsiasi altro campo senza titolo). I sondaggi, ad esempio, non ne hanno uno.
Scott Evernden

1
Non esattamente corretto Il testo del corpo è memorizzato nella valuecolonna di un campo chiamato body. Questo per impostazione predefinita è memorizzato nella body_valuecolonna della field_data_bodytabella. Tuttavia, nulla ti impedisce di utilizzare, ad esempio MongoDB per archiviare i dati nel bodycampo (quasi nulla: il profilo standard lo crea in SQL, quindi è meglio utilizzare il minimo se si desidera utilizzare MongoDB per salvare una migrazione dolorosa in seguito).

Qual è l'associazione tra un nodo e field_data_body? Quest'ultimo ha no nido vidcolonna (almeno non con quel nome)
Explosion Pills

C'è un oggetto entity_is in field_data_body che fa riferimento a nid dalla tabella dei nodi
innovativa kundan il


8

In Drupal 6, il contenuto del corpo del nodo viene salvato nella tabella "node_revisions" nel campo "body".

node_revisions.body

In Drupal 7, il contenuto del corpo del nodo viene salvato nella tabella "field_data_body" nel campo "body_value". In caso di revisioni del contenuto, salva anche i dati nella tabella "field_revision_body" nel campo "body_value".

field_data_body.body_value

field_revision_body.body_value

In Drupal 8, il contenuto del corpo del nodo viene salvato nella tabella "node__body" nel campo "body_value". In caso di revisioni del contenuto, salva anche i dati nella tabella "node_revision__body" nel campo "body_value".

node__body.body_value

node_revision__body.body_value


5

I tipi di contenuto del contenuto del corpo vengono salvati in field_data_bodye field_revision_bodytabelle.


2

Questo è l'SQL che useresti (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';

Quindi sì, la risposta è la tabella "node_revisions" in Drupal 6.


2

In Drupal 7, il corpo del nodo si trova in field_data_body e field_revision_body. Nuovi campi aggiunti usando CCK (che viene aggiunto al core in Drupal 7) si trovano in field_config e field_config_instance. In Drupal6, il corpo del nodo è memorizzato in node_revisions e i campi creati vengono salvati in content_node_field e content_node_field_instance.


1

Ho creato alcuni nuovi tipi di contenuto e per loro il corpo o la descrizione vanno nella colonna field_description_value della tabella content_type_<type_name>dove type_nameè il nome del nuovo tipo di contenuto.


1

In Drupal 7 è in field_revision_body .. se descrivi quella tabella vedrai una colonna per il riepilogo di Body ed è un tipo long-text.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.