Безопасно ли урезать таблицу изменений полей?

13

Я заметил, что D7 создает таблицу field_revision для каждого поля и дублирует содержимое из своего аналога таблицы полей, даже если у него отключены ревизии.

У меня большая текстовая таблица, и она занимает много места (несколько ГБ).

Было бы безопасно урезать ревизионную таблицу?

PS: Между тем я также сообщил об этом как об ошибке .

giorgio79
источник
Это на самом деле хороший вопрос! Я думаю, что таблица создается ядром, но вставляет записи, только если включены ревизии.
stefgosselin
Спасибо :), это было то, что я ожидал, но, похоже, D7 создает копии ревизий независимо от. Это было подтверждено здесь drupal.stackexchange.com/questions/7027/… . Возможно, основная ошибка?
giorgio79
Я классифицирую это как особенность, а не как ошибку;) Я думаю, что логика за этим заключается в том, что если вы передумаете и активируете ревизии, это будет способом перегрузки БД, чтобы внезапно заполнить все field_revision_*таблицы.
Тостинни
1
У меня есть много, но я не думаю, что это имеет какое-либо отношение к модулям Contribute. Просто загляните в свою базу данных, и вы увидите, что с каждым полем связана таблица field_revision ...
giorgio79 14.12.11

Ответы:

3

Я думаю, что модуль Field norevisions поможет вам:

Полевой SQL norevisions предоставляет серверное хранилище полей, которое предотвращает сохранение изменений сущностей в серверный сервер MySQL.

Цель модуля - уменьшить количество дублирующихся данных, которые сохраняются на больших сайтах Drupal, которые не используют ревизии. Это дает дополнительное преимущество в производительности, заключающееся в уменьшении вдвое количества запросов при создании объектов с полями.

Этот модуль не позволит создавать поля ревизий, поэтому он увеличит вашу производительность, так как количество запросов будет уменьшено, кроме того, что у вас не будет доработок на узлах в дальнейшем.

Также вы можете использовать некоторые пользовательские коды модулей, указанные на следующем URL:

http://www.ambidev.com/make-your-drupal-7-faster-by-removing-all-revisions/

и этот модуль для удаления записей ревизий:

https://www.drupal.org/project/node_revision_delete

Гаурав Сингх
источник
0

Нет, это не безопасно. Я использую Drupal 7. Я использую модуль викторины на своем веб-сайте, и я заметил, что по крайней мере было две ошибки, когда я опустошил все field_revision_ * с переменной error, которую я на самом деле не помню, а другой был, когда вопросы исчезли ,

Как ни странно, варианты ответов были, но все вопросы пропали. Я не стал вдаваться в подробности, я положил таблицы field_revision_ * обратно, и он начал работать правильно.

Все, что я могу сказать, если вы используете модуль викторины и зайдете в myPHPAdmin и урежете эти таблицы, вы получите ошибки. Если вы не используете модуль викторины, я не знаю. но это не пуленепробиваемый. Я бы порекомендовал использовать некоторые проверенные модули для очистки ваших ревизий.

Саймон Йи
источник