Nach Cache leeren, bzw. nach Plugin deaktivieren ist der Shop nicht mehr erreichbar

Ich arbeite mit Shopware 6.5.8.7

Guten Tag, ich habe ein Problem. Wenn ich über Einstellungen/Sytem den Cache leere, ist der Shop danach nicht mehr erreichbar. Beim Aufrufen der Seite erhalte ich dann einen HTTP ERROR 500.

Sobald ich ein Plugin deaktiviere erhalte ich folgende Fehlermeldung.

Error: Class Shopware\Core\Migration\V6_5\Migration1694426018AddEntityIndexToStateMachineHistory contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Shopware\Core\Framework\Migration\MigrationStep::updateDestructive)

Kann mir da bitte jemand helfen?
mille777

Ich habe das selbe Problem.

Ich habe in einem meiner Shops (6.5.7.3) auch dieses Problem. Vorherige Updates oder Löschen des Cache gingen ohne Probleme.

Welche PHP Version war denn im Einsatz?

Was sagt die Browser Konsole?

es ist PHP Version 8.3.6

Stelle mal auf 8.2 um… 8.3 macht immer mal Probleme.

danke für deinen Tipp Teddie, dies wurde alles schon getestet und war leider erfolglos. Sobald ich ein Plugin deaktiviere bzw, den Cache leere geht nichts mehr. Selbst wenn ich ein Plugin über php admin deaktiviere, oder in der Datenbank lösche erhalte ich diese Fehlermeldung.

Ist es bei allen Plugins so oder nur bei einem ganz speziellen Plugin?

Habe die gleiche Shopware-Version und die Datei ist bei mir nicht vorhanden.
Kannst du den Quelltext der Datei mal posten?

Was ich mir vorstellen könnte:

Es wird versucht ein Index anzulegen, dieser ist bereits vorhanden. → Fehler.

Meine Lösung: Datei löschen. :sweat_smile:

Hi gib es schon eine Lösung des Problems ?

Hallo zusammen :wave:

weil ich das auch gerade zu bearbeiten hatte, hier ein einfacher Quick-Fix:
In der Datei vendor/shopware/core/Framework/Migration/MigrationStep.php findet ihr die Zeile

abstract public function updateDestructive(Connection $connection): void;

Wenn ihr die hierdurch ersetzt, sollte es gehen:

public function updateDestructive(Connection $connection): void{
}

Viele liebe Gruesse
Marcus

Leider nicht ideal, wird bei einem Update überschrieben und es ist generell nicht sinnvoll, im vendor-Verzeichnis Code zu ändern.

1 „Gefällt mir“

Hallo @Anotherone

da hast du natuerlich vollkommen Recht - allerdings ist deine vorgeschlagene Aenderung auch im vendor-Verzeichnis :smiley:
Shopware hat die Methode in zukuenftigen Versionen ohnehin nicht mehr „abstract“ - ich wuerde also sagen, es ist egal, welche Loesung man verwendet.
Ohnehin geht es hier ja nur darum, den Shop wieder zum Laufen zu bringen und mit dem naechsten Update sollte sich das Problem eh erledigen.

Viele Gruesse
Marcus

Da hast Du natürlich Recht, aus meiner Sicht war das aber der Fehler und ist kaum anders zu umgehen. Hatte ich nicht gesehen, im 6.6 ist es nicht mehr abstract. Vielleicht gab es da eine blöde Überschneidung?

1 „Gefällt mir“

Ja, das waere auch meine Vermutung :+1:
Ich koennte mir vorstellen, dass das irgendwie mit bestimmten Versionen bzw. Versionsspruengen auftritt.