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.
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.
Risposte:
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".
In Drupal 7 il corpo è stato spostato nella tabella field_data_body.
value
colonna di un campo chiamato body
. Questo per impostazione predefinita è memorizzato nella body_value
colonna della field_data_body
tabella. Tuttavia, nulla ti impedisce di utilizzare, ad esempio MongoDB per archiviare i dati nel body
campo (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).
field_data_body
? Quest'ultimo ha no nid
o vid
colonna (almeno non con quel nome)
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
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.
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.
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.