Я создал поля удалил их. Столы для полей исчезли после удаления, но они все еще находятся в field_config
иfield_config_instance
Есть ли способ их почистить?
Спасибо
Записи в field_config
и field_config_instance
, вероятно, будут иметь значение 1
в deleted
столбце.
Это означает, что они помечены для удаления, но на самом деле не будут удалены, пока вы не запустите cron (удаленные данные поля будут удалены field_cron()
).
используя drush:
вам, возможно, придется запустить несколько раз или увеличить $ batch_size, тогда могут остаться таблицы field_deleted и field_deleted_revision, даже после запуска cron
запрос
если вы пришли пустым, вы можете безопасно удалить эти оставшиеся таблицы
источник
В качестве альтернативы запуску cron для удаления удаленных данных вы можете вручную запустить field_purge_batch ($ batch_size) .
Чтобы вручную запустить функцию, вы можете:
Используемый размер $ batch_size зависит от среды и потребностей вашего сервера. Я использовал значения от 5 до 10000.
источник
Для тех пользователей Drupal 8,
Я испытал это также, копаю код. Я обнаружил, что все причины, по которым поля не были удалены после того, как вы это сделали, следующие:
Поля сохраняются, не исчезая, это из-за логики здесь, в field_purge_batch
Модули, являющиеся зависимыми, удаляются. это причина, почему поля не удаляются.
Как это решить? Рекомендуется сначала переустановить модуль, очистить эти поля и удалить обратно. Чтобы узнать, какой модуль необходимо переустановить:
В случае, если вы не хотите использовать этот метод переустановки модуля, вы также можете сразу же удалить, я не уверен, что такое поведение, но он должен делать свою работу.
Резервное копирование сначала !!!
Да, не ленитесь, это спасет вашу задницу, если что-то пойдет не так.
Сделай крона в последний раз. Я надеюсь, что это решит проблему :)
источник
Не могу найти никакого решения. В итоге я удалил их из этих двух таблиц вручную.
источник