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?

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.


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.