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

10

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

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

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

Surya
источник

Ответы:

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.
Привет