Удалить функцию, но сохранить созданный ею контент


8

Можно ли сохранить данные, созданные функцией, после удаления самой функции?
Я создал особенность миграции, которая действительно уникальна; Я хотел бы удалить его без потери созданных из него узлов.

Ответы:


6

Функциональный модуль - это способ экспортировать большинство настроек, обычно хранящихся в базе данных, в код. Если вы удаляете функцию, вы удаляете код, который удаляет все.

Крутая особенность функций заключается в том, что вы можете в любое время изменить настройки объектов (видов, панелей и т. Д.), И эти изменения будут сохранены в базе данных. Как только они будут сохранены в базе данных, все будет в порядке, чтобы удалить функцию (хотя я сам не пробовал).

Самый простой способ сделать это - перейти к каждому элементу, который есть у вашей функции, и повторно сохранить его. Например, если у вашей функции было представление под названием «Новости», вы можете перейти в Структура> Представления> Новости> Изменить. Затем нажмите Сохранить в этом представлении. Если вы посмотрите на свою функцию, она должна теперь сказать «Переопределено».

введите описание изображения здесь

Как только все будет переопределено, все будет в порядке, чтобы удалить функцию. Убедитесь, что вы сделали резервную копию всего и попробуйте сначала отключить эту функцию, чтобы убедиться, что все необходимое не исчезает.


4

Вы можете использовать модуль « Инструменты ». Основная цель модуля - дать возможность удалять элементы из функции и помещать их обратно в базу данных.


1
Мне трудно понять, как это использовать. Как я могу просто отключить всю функцию в базе данных? Затем я хочу удалить все следы модуля функций и инструментов инструментов.
Крис Мюнх

Чтобы сохранить элементы в БД, вам нужно перейти на страницу admin / build / features / unlink, выбрать элемент, который нужно импортировать и отправить.

Эта страница не существует, она просто дает мне страницу по умолчанию. Я использую Drupal 7.
Chris Muench

Извините, это путь D6. Попробуйте admin / structure / features / unlink (Убедитесь, что вы пометили свой вопрос номером версии Drupal.).


1

Я нашел простой способ сделать это - просто закомментировать все зависимости из вашего .info файла, а затем безопасно восстановить, отключить / удалить.


@ rob-steinhilber: так что все, что вы делаете, это «закомментируйте все зависимости из вашего .info-файла для функции и затем сохраните файл, затем заново создайте функцию, затем отключите / удалите функцию». и хранятся ли данные, которые были созданы функцией после удаления самой функции?
Джон Митчелл
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.