Сломанные модули не откатываются


Я пытаюсь разработать модуль D8 с сущностями. Их очень много ^^. Но есть проблема с тем, как D8 обрабатывает создание таблиц в процессе установки. Если определение сущностей неверно, D8 не сможет создать таблицу. Но модуль все равно включен.

Теперь D8 не может удалить модуль. Я пытался drush pm-uninstall, drush cr, drush dre на модуле. Процесс удаления завершается неудачей каждый раз, потому что D8 не может найти таблицу и, очевидно, не осведомлен о неудачной установке модуля.

Единственный способ, который я понял, состоял в том, чтобы создать таблицы с первичным ключом, а затем удалить модуль. Это работает, но отнимает очень много времени. Как я могу принудительно удалить свой модуль, даже если соответствующие таблицы не существуют? И почему D8 игнорирует тот факт, что модуль изначально был установлен неправильно?

 1
Author: kiamlaluno, 2016-05-10

2 answers

Это известная ошибка: https://www.drupal.org/node/2563515

В качестве обходного пути удалите определение типа сущности (например, удалив @, чтобы он не анализировал его как аннотацию), очистите кэш, затем удалите.

 4
Author: Berdir, 2016-05-10 18:35:15

Вы можете удалить модуль из базы данных из config.extension и удалить большой двоичный объект там. Я знаю, что это очень глупо, но до сих пор у нас есть это решение.

 0
Author: Davinder Snehi, 2016-05-10 18:42:01