Modul entfernt, aber Tabellen verbleiben in der Datenbank in Magento2

10

Ich habe ein Modul / eine Erweiterung mit dem Installationsskript in magento2 erstellt.

Danach habe ich es entfernt, aber die Tabellen in der Datenbank bleiben unverändert.

Kann mir jemand sagen, wie man das Modul / die Erweiterung vollständig deinstalliert und die Tabellen der Erweiterung / des Moduls aus der Datenbank entfernt?

Surya
quelle

Antworten:

11

Wenn Sie das Modul über Composer installieren, können Sie die Setup/Uninstall.phpDatei erstellen, die beim Ausführen ausgeführt wird bin/magento module:uninstall -r [Namespace]_[Module].

Die Uninstall.phpDatei sollte folgendermaßen aussehen:

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

Wenn Sie das Modul manuell installiert haben, müssen Sie Ihre Datenbank manuell bereinigen und die vom Modul hinzugefügten Tabellen löschen.

Marius
quelle
Ich habe Modul manuell installiert
Surya
Dann müssen Sie sich die Datenbank selbst bereinigen.
Marius
1
Ich habe das gleiche Problem. Ich habe Tabellen manuell entfernt, aber ich kann es nicht mit neu installieren installer script.
HiMs