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?

Mike
la source

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.
tostinni
la source
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