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.