Модуль удален, но таблицы остаются в базе данных в Magento2


10

Я создал один модуль / расширение, используя скрипт установки в magento2.

После этого я удалил его, но таблицы в базе данных остались прежними.

Может кто-нибудь сказать мне, как полностью удалить модуль / расширение и удалить таблицы расширения / модуля из базы данных?

Ответы:


11

Если вы устанавливаете модуль через composer, вы можете создать Setup/Uninstall.phpфайл, который будет выполняться при запуске bin/magento module:uninstall -r [Namespace]_[Module].

Uninstall.phpФайл должен выглядеть следующим образом :

<?php

namespace Namespace\Module\Setup;

class Uninstall implements \Magento\Framework\Setup\UninstallInterface
{
    public function uninstall(
        \Magento\Framework\Setup\SchemaSetupInterface $setup,
        \Magento\Framework\Setup\ModuleContextInterface $context
    ) {
        if ($setup->tableExists('table_name_here')) {
            $setup->getConnection()->dropTable('table_name_here');
        }
    }
}

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


Я установил модуль вручную
Сурья

Затем вы должны очистить базу данных.
Мариус

1
У меня такая же проблема. Я удалил таблицы вручную, но не могу переустановить его, используя installer script.
Привет
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.