¿Diferencia entre las tablas field_data y field_revision?

11

Tengo muchas funciones personalizadas; Solo quiero asegurarme de que estoy haciendo esto bien.
Si quiero la versión más reciente, la versión en vivo, de un nodo, voy a la field_data_field_xyztabla, ¿verdad?

Entiendo que field_revision_field_xyzmantiene todas las versiones anteriores, ¿correcto?

Miguel
fuente

Respuestas:

12

Eso es correcto: trabajar con Field SQL Storage .

Tablas de bases de datos:

  • {field_data_ [field_name]} Almacenamiento de datos estándar para un campo.
  • {field_revision_ [field_name]} Almacenamiento de revisión estándar para un campo.
tostinni
fuente
1
No es muy recomendable consultar estas tablas directamente, pero lo haré en muchos proyectos. Eche un vistazo a EntityFieldQuery y esta respuesta .
tostinni
Sí, había un montón de lugares donde las vistas simplemente no lo cortaban. Sin embargo, ¿cuál es la mayor desventaja de consultar las tablas directamente?
Mike
EN D6 era que ese campo podría cambiar de la tabla content_type_*a su propia tabla, por lo que será mejor que use la API para construir su consulta. En D7 esto ya no sucede, así que es mejor;)
tostinni
1
Esta respuesta no es 100% clara. Si necesito escribir SQL para poder exportar los datos más actuales, ¿puedo simplemente ignorar las field_revision_field_*tablas o debo incorporarlas de alguna manera a mi exportación? De ser así, ¿cómo?
MikeSchinkel