У меня есть тип контента с 4 полями, каждое из которых является ссылкой на термин. Есть 100 узлов, каждый из которых назначен 4 термины ссылки. Я случайно удалил одно из этих полей из admin> Structure> content-types> mycontent-type ..., в результате чего все 100 узлов потеряли термин ссылка, содержащаяся в этом потерянном поле.
После установки модуля Database Admin я мог видеть, что база данных для моего удаленного поля все еще присутствует, она была переименована во что-то вроде «field_deleted_field_74»
- Используя mysql, я смог переименовать эту базу данных обратно в «field_data_field_originalname», то есть используя исходное имя машины для удаленного поля.
- Кроме того, мне удалось изменить значение удаленного столбца внутри этой базы данных с «1» на «0».
Я проделал вышеупомянутое с другой базой данных «призраков», которая, как я обнаружил, называлась чем-то вроде «field_revision_field_74» ...
Теперь моя проблема заключается в том, что мое переименованное поле не отображается как ранее существовавшее поле в моем отображении полей управления типом контента, а также в списке администраторов> отчетов> полей. Когда я запускаю 'drush field-info fields', он также отсутствует.
Как мне вернуть его обратно? Я предполагаю, что есть другая база данных, которая ссылается на нее, и которую мне нужно отредактировать.
Спасибо!
Ответы:
Хороший вопрос, и удивительно, что нет более простого способа откатить удаленное поле, учитывая, что данные все еще доступны.
Предполагая, что у вас есть:
А также есть
field_config
field_config_instance
Вам также может понадобиться настроить флаг «удален»:
например:
источник