Как я могу переустановить модуль?

12

Я создаю на Drupal 8 модуль. Я использовал пользовательскую таблицу для хранения данных, собранных из форм. Почему-то во время установки таблицы не создаются из-за проблемы в файле установки. Теперь я исправил проблему и хочу снова установить модуль.

Как я могу переустановить модуль?

Из этого и этого обсуждения я знаю, что функциональность модуля Disable была удалена.

Есть ли другой способ переустановить модуль, чтобы создать его таблицы базы данных?

mohit_rocks
источник

Ответы:

17

Модуль Devel также может помочь здесь.

Это делает страницу «Reinstall modules» доступной в / devel / reinstall, которая позволяет вам переустанавливать модули оптом.

Стоит также упомянуть Drush; dis(очевидно) не работает больше, но pm-uninstallи до enсих пор. И если у вас установлен Devel, вы можете вызвать переустановку с помощью

drush dre module1 module2
Клайв
источник
Обратите внимание, что devel еще не поддерживает изменения, доступные
anavarre
1
Я начал проблему, чтобы исправить это drupal.org/node/2292425
anavarre
Я думаю, что все ответы, размещенные здесь, являются неправильными. Оригинальный вопрос, как «переустановить». Это не то же самое, что удалить, а затем установить. Все сценарии здесь, к сожалению, делают деинсталляцию, которая является важным шагом назад для D8, поскольку это уничтожит конфигурацию для этого модуля. Я все еще ищу правильный ответ о том, как "повторно загрузить" конфигурацию установки для модуля (без удаления).
liquidcms
9

Как вы сказали "Отключить функциональность удаляется из Drupal 8" ..

Краткий ответ - вы, вероятно, ищете вкладку «Удалить», которая находится на странице «Расширить» (Модули) / admin / modules / uninstall

Больше нет серой области между включенным модулем и активным против выключенного и «очищенного». «Отключено» больше не вещь. Удаление модуля означает удаление всех его следов.

Зайдите в admin / modules / uninstall и удалите модуль ... Затем включите модуль со страницы списка модулей. Это должно установить модуль снова.

Например ....

Перед установкой модуля Ban в Drupal 8 ... модуль ban_ip не существует в базе данных ..

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

После установки модуля Ban в Drupal 8 ... создается таблица ban_ip, и модуль не может быть отключен, но может быть удален в admin / modules / uninstall

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

Теперь, если вы удалите модуль. Таблица будет удалена из базы данных, и модуль может быть установлен снова, что создаст таблицы в базе данных.

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

Анил Сагар
источник
Большое спасибо за такое удивительное объяснение. Я проверил список модулей на вкладке удаления , но не смог найти свой модуль. Если вы хотите проверить код здесь github.com/mohit-rocks/messaging . В настоящее время вы можете установить модуль и настройки, связанные формы.
mohit_rocks
3

Решение 1. Удалите и снова установите вручную

Использование интерфейса Drupal:

  • Перейти на страницу « Расширить» из меню администратора
  • Перейти на страницу удаления модуля
  • Удалите модуль, который вы хотите
  • Снова перейдите на страницу Расширения (где у вас есть список модулей)
  • Установите только что удаленный модуль

Используя Drush (вы должны попробовать, если не используете):

  • drush pm-uninstall MODULE -y && drush pm-enable MODULE -y
  • ИЛИ вкратце drush pmu MODULE -y && drush en MODULE -y

Замените МОДУЛЬ на название вашего модуля.

Решение 2. Переустановите с помощью модуля Devel

Предполагая, что у вас установлен модуль devel.

Использование Drupal UI:

  • Посетить путь /devel/reinstall
  • Переустановите модули, которые вы хотите

Используя Drush:

  • drush devel-reinstall MODULE -y
  • ИЛИ вкратце drush dre MODULE -y

Замените МОДУЛЬ на название вашего модуля.

Jigarius
источник
1

Если ничего не работает, попробуйте следующее для Drupal 8.

  1. Удалите проблемные файлы модуля и его папку

    • rm -rf modules / your_problematic_module
  2. Удалить кэшированные шаблоны веток

    • rm -rf sites / default / files / php
  3. Очистить кеш Drupal

ПРИМЕЧАНИЕ. Обязательно сделайте резервную копию кода и базы данных, прежде чем делать это.

Риджас Мадуракужи
источник
1

Если вы хотите переустановить (перезагрузить) конфигурацию установки для определенного модуля, вы можете использовать эту команду drush:

drush cim --partial --source=modules/custom/MY_MODULE/config/install
liquidcms
источник