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


10

Я створив один модуль / розширення за допомогою сценарію інсталятора в magento2.

Після цього я його видалив, але таблиці в базі даних все ще залишаються такими, як є.

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

Відповіді:


11

Якщо ви встановите модуль через композитор, ви можете створити 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');
        }
    }
}

Якщо ви встановили модуль вручну, вам потрібно буде очистити базу даних вручну, а також придбати скидання таблиць, доданий модулем.


Я встановив модуль вручну
Surya

Тоді вам доведеться самостійно очистити базу даних.
Маріус

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