Różnica między tabelami field_data i field_revision?

11

Mam wiele niestandardowych funkcji; Chcę tylko upewnić się, że robię to dobrze.
Jeśli chcę najnowszą wersję - wersję na żywo - węzła, idę do field_data_field_xyztabeli, prawda?

Rozumiem, że field_revision_field_xyzzachowuje wszystkie starsze wersje, prawda?

Mikrofon
źródło

Odpowiedzi:

12

To prawda: praca z Field SQL Storage .

Tabele bazy danych:

  • {field_data_ [nazwa_pola]} Standardowe przechowywanie danych dla pola.
  • {field_revision_ [nazwa_pola]} Standardowe miejsce przechowywania wersji dla pola.
tostinni
źródło
1
Nie jest zalecane, aby bezpośrednio sprawdzać te tabele, ale zrobię to w wielu projektach. Zobacz EntityFieldQuery i tę odpowiedź .
tostinni
Tak, było mnóstwo miejsc, w których widoki po prostu tego nie ucięły. Jaka jest jednak największa wada bezpośredniego zapytania do tabel?
Mike
W D6 pole to mogło zmienić się z tabtle content_type_*na własną tabelę, więc lepiej użyć interfejsu API do zbudowania zapytania. W D7 tak się już nie dzieje, więc lepiej;)
tostinni
1
Ta odpowiedź nie jest w 100% jasna. Gdybym musiał napisać SQL, aby móc wyeksportować najbardziej aktualne dane, czy mogę po prostu zignorować field_revision_field_*tabele, czy też muszę je w jakiś sposób włączyć do eksportu, a jeśli tak, to w jaki sposób?
MikeSchinkel,