模块已删除,但表仍保留在Magento2的数据库中


10

我在magento2中使用安装程序脚本创建了一个模块/扩展。

之后,我将其删除,但数据库中的表仍保持原样。

谁能告诉我如何完全卸载模块/扩展并从数据库中删除扩展/模块的表?

Answers:


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');
        }
    }
}

如果手动安装模块,则需要手动清理数据库,还需要删除模块添加的表。


我已经手动安装了模块
Surya

然后,您必须清理自己的数据库。
马吕斯

1
我有同样的问题。我已经手动删除了表格,但无法使用重新安装它installer script
HiMs 2016年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.