Onde o Drupal armazena o conteúdo do corpo de um nó?
48
Na tabela de nós, você encontrará tudo, exceto o corpo real. Onde posso encontrar esse texto do corpo? Estou assumindo que está sendo armazenado como uma bolha em algum lugar.
Não tenho uma instalação drupal em execução aqui, mas me perguntei essa mesma questão há algumas semanas e demorou algum tempo para encontrar a resposta.
Se bem me lembro, o corpo do nó é armazenado na tabela usada para manter as "revisões" do nó. Não sei ao certo qual é o nome, mas deve ser algo como "node_revision" ou "node_revisions".
Apenas para adicionar ... o objetivo de separar o corpo do nó é permitir que os desenvolvedores criem quantos tipos de conteúdo diferentes quiserem e tenham apenas uma tabela que contenha todos os ID_de_ nó. As revisões, que incluem o corpo, estão em tabelas separadas.
213 Randell Randell
O link webdevgeeks.com está quebrado.
Reprogrammer
Para qual versão do drupal esta resposta está correta?
garras
11
@ garras, esta resposta é para o Drupal 6, para o Drupal 7 o campo do corpo é armazenado na tabela field_data_body.
Yogesh
53
No Drupal 7, o corpo foi movido para a tabela field_data_body.
No meu site Drupal 7, posso ver o corpo do meu conteúdo nas tabelas "field_data_body" e "field_revision_body".
Reprogrammer
Isso é verdade apenas se você tiver tipos de conteúdo que incluem um campo de corpo (o mesmo que qualquer outro campo que não seja o título). Pesquisas, por exemplo, não têm uma.
23312 Scott Evernden
11
Não exatamente correto. O texto do corpo é armazenado na valuecoluna de um campo chamado body. Este , por padrão é armazenado na body_valuecoluna da field_data_bodytabela. No entanto, nada impede você de usar, digamos, o MongoDB para armazenar os dados no bodycampo (quase nada: o perfil padrão os cria no SQL, então é melhor usar o mínimo se quiser usar o MongoDB para salvar uma migração dolorosa posteriormente).
Qual é a associação entre um nó e field_data_body? Este último não possui coluna nidou vid(pelo menos não com esse nome) #
9800 Decomponent
Não é um colume entity_is em field_data_body que é de referência a partir da tabela nid nó
No Drupal 6, o conteúdo do corpo do nó é salvo na tabela 'node_revisions' no campo 'body'.
node_revisions.body
No Drupal 7, o conteúdo do corpo do nó é salvo na tabela 'field_data_body' no campo 'body_value'. Caso existam revisões de conteúdo, os dados também serão salvos na tabela 'field_revision_body' no campo 'body_value'.
field_data_body.body_value
field_revision_body.body_value
No Drupal 8, o conteúdo do corpo do nó é salvo na tabela 'node__body' no campo 'body_value'. Caso existam revisões de conteúdo, os dados também serão salvos na tabela 'node_revision__body' no campo 'body_value'.
No Drupal 7, o corpo do nó é encontrado em field_data_body e field_revision_body. Novos campos adicionados usando o CCK (que é adicionado ao núcleo no Drupal 7) são encontrados em field_config e field_config_instance. No Drupal6, o corpo do nó é armazenado em node_revisions e os campos criados são salvos em content_node_field e content_node_field_instance.
Criei alguns novos tipos de conteúdo e, para eles, o corpo ou a descrição vão para a coluna field_description_value da tabela content_type_<type_name>onde type_nameé o nome do novo tipo de conteúdo.
Respostas:
Não tenho uma instalação drupal em execução aqui, mas me perguntei essa mesma questão há algumas semanas e demorou algum tempo para encontrar a resposta.
Se bem me lembro, o corpo do nó é armazenado na tabela usada para manter as "revisões" do nó. Não sei ao certo qual é o nome, mas deve ser algo como "node_revision" ou "node_revisions".
fonte
node_revisions
.bodyNo Drupal 7, o corpo foi movido para a tabela field_data_body.
fonte
value
coluna de um campo chamadobody
. Este , por padrão é armazenado nabody_value
coluna dafield_data_body
tabela. No entanto, nada impede você de usar, digamos, o MongoDB para armazenar os dados nobody
campo (quase nada: o perfil padrão os cria no SQL, então é melhor usar o mínimo se quiser usar o MongoDB para salvar uma migração dolorosa posteriormente).field_data_body
? Este último não possui colunanid
ouvid
(pelo menos não com esse nome) #É a tabela "node_revisions", no Drupal 5.
fonte
No Drupal 6, o conteúdo do corpo do nó é salvo na tabela 'node_revisions' no campo 'body'.
No Drupal 7, o conteúdo do corpo do nó é salvo na tabela 'field_data_body' no campo 'body_value'. Caso existam revisões de conteúdo, os dados também serão salvos na tabela 'field_revision_body' no campo 'body_value'.
No Drupal 8, o conteúdo do corpo do nó é salvo na tabela 'node__body' no campo 'body_value'. Caso existam revisões de conteúdo, os dados também serão salvos na tabela 'node_revision__body' no campo 'body_value'.
fonte
Seus tipos de conteúdo, o conteúdo do corpo é salvo em
field_data_body
efield_revision_body
tabelas.fonte
Este é o SQL que você usaria (cliente MySQL):
Então, sim, a resposta é a tabela "node_revisions" no Drupal 6.
fonte
No Drupal 7, o corpo do nó é encontrado em field_data_body e field_revision_body. Novos campos adicionados usando o CCK (que é adicionado ao núcleo no Drupal 7) são encontrados em field_config e field_config_instance. No Drupal6, o corpo do nó é armazenado em node_revisions e os campos criados são salvos em content_node_field e content_node_field_instance.
fonte
Criei alguns novos tipos de conteúdo e, para eles, o corpo ou a descrição vão para a coluna field_description_value da tabela
content_type_<type_name>
ondetype_name
é o nome do novo tipo de conteúdo.fonte
No Drupal 7, está em field_revision_body. Se você descrever essa tabela, verá uma coluna para Resumo do corpo e seu tipo de texto longo.
fonte