Різниця між таблицями field_data та field_revision?


11

У мене дуже багато спеціальних функцій; Я просто хочу переконатися, що я роблю це правильно.
Якщо я хочу останню версію - живу версію - вузла, я переходжу до field_data_field_xyzстолу, правда?

Я розумію, чи field_revision_field_xyzзберігає всі старіші версії, правильно?

Відповіді:


12

Це правильно: Робота з Field SQL Storage .

Таблиці баз даних:

  • {field_data_ [field_name]} Стандартне зберігання даних для поля.
  • {field_revision_ [field_name]} Стандартне зберігання версії для поля.

1
Не рекомендується безпосередньо запитувати ці таблиці, але я буду це робити на багатьох проектах. Подивіться на EntityFieldQuery і цю відповідь .
tostinni

Так, було купа місць, де погляд просто не вирізав би це. Який найбільший випадок, якщо запитувати таблиці безпосередньо?
Майк

У D6 саме це поле могло змінитись від табл content_type_*до власної таблиці, тож вам краще використовувати API для створення свого запиту. У D7 цього більше не відбувається, так що краще;)
tostinni

1
Ця відповідь не на 100% однозначна. Якщо мені потрібно було написати SQL, щоб мати змогу експортувати найактуальніші дані, чи можу я просто ігнорувати field_revision_field_*таблиці, чи потрібно якось їх включати до експорту? Якщо так, то як?
MikeSchinkel
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.