Разница между таблицами field_data и field_revision?


11

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

Я понимаю, что field_revision_field_xyzсохраняет все старые версии, верно?

Ответы:


12

Это правильно: работа с полем хранилища SQL .

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

  • {field_data_ [field_name]} Стандартное хранилище данных для поля.
  • {field_revision_ [field_name]} Стандартное хранилище ревизий для поля.

1
Не очень рекомендуется запрашивать эти таблицы напрямую, но я сделаю это во многих проектах. Взгляните на EntityFieldQuery и этот ответ .
Тостинни

Да, было множество мест, где Представления просто не могли бы это сократить. Что является самым большим недостатком при непосредственном обращении к таблицам?
Майк

В D6 это поле могло меняться от табуляции content_type_*к собственной таблице, поэтому вам лучше использовать API для построения запроса. В D7 этого больше не происходит, так что лучше;)
tostinni

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