Im Shopware 6-Shop eines Kunden wurde eine Staging-Erweiterung getestet. Ziel war es, schnell und mit Mausklick Staging-Umgebungen zu erstellen, in denen Shop-Updates oder Änderungen am Shop getestet werden können, ohne den Produktivshop zu gefährden. Leider stellte sich das Addon als unzureichend heraus und es gab Probleme, die auch mit dem Support nicht gelöst werden konnten.
Dummerweise meldete das Addon beim Versuch es zu deinstallieren und zu kündigen einen Fehler:
Internal Server Error Attempted to load class "ProfileDefinition" from namespace "AddonName\Core\Content\Profile". Did you forget a "use" statement for another namespace
Und danach meldete das Shopware-Backend auch nur noch einen Error 500 – das Frontend war weiter erreichbar.
{"errors":[{"code":"0","status":"500","title":"Internal
Server Error","detail":
"The \u0022\/html\/shopware6\/custom\/plugins\/AddonName\/\/src\/Resources\/views\u0022
directory does not exist
(\u0022\/html\/shopware6\/custom\/plugins\/AddonName\/\/src\/Resources\/views\u0022)."}]}
Offenbar war das Addon nicht sauber entfernt worden, ein weiterer Hinweis, dass es nicht empfehlenswert ist, wenn sogar die Deinstallation fehlschlägt und es danach weiterhin nach seinen Pfaden sucht. Ich werde eine entsprechende Bewertung im Shopware 6-Addon-Shop verfassen.
Lösen konnte ich das Problem durch Deaktivieren des Addons in der Shopware-Datenbank. Die mit einem geeigneten Tool aufrufen (zum Beispiel phpMyAdmin) und
- nach der Datenbanktabelle „plugin“ suchen.
- In der Tabelle nach dem Namen des Addons suchen und den Eintrag bearbeiten
- die Spalte „active“ auf „0“ setzen
- Speichern
Das Backend ist wieder erreichbar. Auf keinen Fall den Plugin-Eintrag aus der Datenbank entfernen, vorerst nur den „active“-Wert ändern (weitere Arbeiten kann man bei Bedarf vornehmen, nachdem man wieder ins Backend kommt).
Kommentar: Ich habe Kenntnisse in mySQL, würde mich nicht als Highend-Crack bezeichnen, aber: Gerade bei einem Staging-Plugin, das ja eingesetzt wird, um Probleme zu umgehen oder rechtzeitig zu erkennen, finde ich es merkwürdig, dass ein Fremdschlüsselprüfung zu einem Fehlschlagen der Erzeugung der Staging-Umgebung führt. Man könnte ja auch einfach die Fremdschlüsselprüfung zeitweilig deaktivieren, wie es bei mySQL gängige Praxis ist, um solchen Problemen aus dem Weg zu gehen, und eine Warnmeldung anzeigen. Dass der Anbieter des Staging-Addons diesen Weg nicht geht, finde ich schwer nachvollziehbar.

