Plugin-Daten unwiderruflich löschen

Hallo zusammen,

Ist jemandem schon aufgefallen wenn man Plugin`s entfernt und „Alle Plugin-Daten unwiderruflich löschen“ wählt dass dann in der DB die Einträge vom Modul nicht entfernt werden?
Wenn man doch „Alle Plugin-Daten unwiderruflich löschen“ wählt sollten doch sämtliche Einträge in der DB entfernt werden vom Modul!

Das ist bei SW5 schon so, so gut wie jedes PlugIn was du auch nur mal testest, belässt bei der Deinstallation seine Daten in der Datenbank. Eigentlich ein Unding …

Aus diesem Grund wäre ja bestimmt die Funktion “Alle Plugin-Daten unwiderruflich löschen” die jedoch nicht Funktioniert oder auf jedenfalls bei mir nicht!

genau damit habe ich jetzt auch ein problem: ich kriege mollie nicht aus meiner installation, zusammen mit einem merkzettel plugin wurde der checkout blockiert und nun soll auch noch meine SW installation durch einen datenbankfehler zerstört worden sein und sitze nun da, da mollie er wieder weiter macht, wenn dieses problem hier behoben ist

Weil der Vergleich mit SW5 gemacht wurde:
Plugin-Daten, die über die config.xml angelegt werden, werden auch gelöscht. (SW5)
Da “Shopware” aber nicht wissen kann, welche weiteren Daten, Tabellen, Verknüpfungen das Plugin im InstallContext selber anlegt, kann Shopware diese nunmal auch nicht selber löschen. Dafür gibt es den “UninstallContext” in SW5 - und da muss der Plugin-Hersteller schon selber für das Aufräumen sorgen, z.B. so:

/**
     * @param UninstallContext $context
     */
    public function uninstall(UninstallContext $uninstallContext)
    {
        if ($uninstallContext->keepUserData()) {
            return;
        }

        $this->removeAttributes();        
    }

Mit SW6 habe ich mich noch nicht beschäftigt, aber ich bin mir sicher, dass es dort ein vergleichbares Prozedere vorgesehen ist.

Wenn ein Plugin also alten Müll zurück lässt, bitte an den Plugin-Hersteller wenden, denn nur er kann wissen, was gelöscht werden kann und was nicht, um die Integrität der Datenbank nicht zu gefährden.

1 „Gefällt mir“

als normaler user weißt du das ja gar nicht. gerade wer einen SW6 shop aufbaut, wird viele plugins erstmal austesten. die hersteller husten mir was, wenn die jetzt alle nachschauen und ihr altes zeug aufräumen sollen

@sonic‍ wie wird dieses „UninstallContext“ abgespeichert ?

@brettvormkopp‍ da wird nichts gespeichert, das wird nur beim “uninstall” vom Plugin-Manager aufgerufen - SW5
Die Funktion wird aufgerufen, da kann Du beim Uninstall also Code ausführen.

https://developers.shopware.com/developers-guide/shopware-5-plugin-update-guide/#uninstall

Achso, hatte jetzt gedacht es wird als „Context“ abgelegt welche DBs/Tabellen er erstellt hat :stuck_out_tongue: