Разделение существующего объекта на несколько меньших. В безопасности?


У меня есть действительно большая функция, в которой экспортируются все CT, поля, представления и т. Д. Насколько я понимаю, имеет смысл разбить его на более мелкие функции, более специфичные для контекста, такие как feature_views, feature_fields, feature_ct и т. Д.

Большая функция уже включена в производстве, безопасно ли ее отключить и включить остальные 3? Какому подходу я должен следовать?

 4
Author: Potney Switters, 2014-11-07

1 answers

Прямой ответ

Если вы примете соответствующие меры предосторожности и сначала протестируете локально, разбивать функцию должно быть безопасно.

Предыстория

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

Я понимаю вашу точку зрения, что один большая функция не так полезна, так как отдельные компоненты затем не могут быть переданы с помощью функций на другие сайты (или из разработки в производство), что является одним из видов использования функций.

Я согласен с letharion в том, что гораздо разумнее разделять ваши функции по функциональным направлениям (например, блог, галерея), а не по модульным линиям (например, представления, поля), в противном случае все ваши функции будут в любом случае взаимосвязаны, в том, что отключение одной из них нарушит зависимую функциональность от сайт. Например, если я экспортирую тип контента в одной функции, а представление, использующее этот тип контента, в другой, мне придется объявить, что функция представлений зависит от функции типа контента. Функциональные функции также проще разумно документировать в системе управления версиями.

Метод

Я взял решение из моего собственного предыдущего комментария на d.o

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

  • Сначала СОЗДАЙТЕ РЕЗЕРВНУЮ КОПИЮ СВОЕЙ БАЗЫ ДАННЫХ
  • создайте резервную копию своей функции (файлов), если вы хотите использовать ее снова.
  • Установите Инструменты функций , перейдите на страницу "воссоздать" для функции, снимите флажки со всех компонентов функций
  • Теперь нажмите кнопку "Безопасное автоматическое создание", чтобы воссоздать и заменить функцию пустой версией.

Теперь вы можете отключить модуль, не затрагивая ваш сайт конфигурация. Эти инструкции предназначены для D7, если вы используете D6, есть дополнительный шаг.

Смотрите проект ftools для получения более полной документации.

Http://drupal.org/project/ftools

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

 2
Author: autopoietic, 2020-06-15 09:13:00