Diferença entre as tabelas field_data e field_revision?


11

Eu tenho muitas funções personalizadas; Eu só quero ter certeza de que estou fazendo isso direito.
Se eu quiser a versão mais recente - a versão ao vivo - de um nó, vou para a field_data_field_xyzmesa, certo?

Meu entendimento é que field_revision_field_xyzmantém todas as versões mais antigas, correto?

Respostas:


12

Isso está correto: Trabalhando com armazenamento em campo SQL .

Tabelas de banco de dados:

  • {field_data_ [field_name]} Armazenamento de dados padrão para um campo.
  • {field_revision_ [field_name]} Armazenamento de revisão padrão para um campo.

1
Não é muito recomendável consultar essas tabelas diretamente, mas farei isso em muitos projetos. Dê uma olhada no EntityFieldQuery e nesta resposta .
tostinni 21/09/11

Sim, havia vários lugares em que o Views simplesmente não funcionava. Qual é a maior desvantagem em consultar diretamente as tabelas?
Mike

No D6, era possível que o campo mudasse da tabela content_type_*para sua própria tabela; portanto, é melhor usar a API para criar sua consulta. Em D7 isso não acontecer mais de forma que é melhor;)
tostinni

Esta resposta não é 100% clara. Se eu precisasse escrever SQL para poder exportar os dados mais atuais, posso simplesmente ignorar as field_revision_field_*tabelas ou preciso incorporá-las à minha exportação de alguma forma e, se sim, como?
MikeSchinkel
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.