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.