Différence entre les tables field_data et field_revision?


11

J'ai beaucoup de fonctions personnalisées; Je veux juste m'assurer de bien faire les choses.
Si je veux la version la plus récente - la version en direct - d'un nœud, je vais à la field_data_field_xyztable, non?

Ma compréhension est la field_revision_field_xyzconserve toutes les anciennes versions, correct?

Réponses:


12

C'est correct: travailler avec Field SQL Storage .

Tables de base de données:

  • {field_data_ [field_name]} Stockage de données standard pour un champ.
  • {field_revision_ [field_name]} Stockage de révision standard pour un champ.

1
Il n'est pas très recommandé d'interroger ces tables directement, mais je le ferai sur de nombreux projets. Jetez un œil à EntityFieldQuery et à cette réponse .
tostinni

Oui, il y avait un tas d'endroits où Views ne voulait tout simplement pas le couper. Quel est le plus gros inconvénient de l'interrogation directe des tables?
Mike

EN D6, ce champ pouvait passer de tabtle content_type_*à sa propre table, il vaut donc mieux utiliser l'API pour créer votre requête. En D7, cela ne se produit plus, c'est mieux;)
tostinni

1
Cette réponse n'est pas claire à 100%. Si j'avais besoin d'écrire du SQL pour pouvoir exporter les données les plus récentes, puis-je simplement ignorer les field_revision_field_*tables ou dois-je les incorporer à mon export d'une manière ou d'une autre, et si oui, comment?
MikeSchinkel
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.