Ich habe den kleinen Update von 5.6. auf 5.6.1 gemacht und nun kommt der shop nicht mehr aus dem Wartungsmodus. Auch wenn ich das BAckend aufrufe, erscheint das Wartungsfenster.
Dazwischen kam eine Fehlermeldung, die ich aber nicht wieder sichtbar machen kann.
Was kann ich tun?
Fatal error : Cannot redeclare Shopware\Models\Attribute\OrderBasket::$orderBasket in /home/loedxgof/jvshop5/var/cache/production_201908270823/doctrine/attributes/OrderBasket.php on line 126
Deine Foreign Keys scheinen kaputt zu sein - hat weniger was mit dem Update zu tun, das Update leert nur den Cache für die Models, daher merkt man das Problem erst häufig nach dem Update.
Vielen Dank. Ich habs versucht und bekomme diesen Fehler bei der ausführung von repairForeignKeys_5.5.7.sql:
Was ist nun zu tun?
-- Add missing foreign key
ALTER TABLE `s_emotion_attributes` ADD FOREIGN KEY ( `emotionID` ) REFERENCES `s_emotion` (
`id`
) ON DELETE CASCADE ON UPDATE NO ACTION
MySQL meldet:
#1452 - Kann Kind-Zeile nicht hinzufügen oder aktualisieren: eine Fremdschlüsselbedingung schlägt fehl (usrdb_loedxgof4.#sql-30d_5c5481, CONSTRAINT #sql-30d_5c5481_ibfk_1 FOREIGN KEY (emotionID) REFERENCES s_emotion (id) ON DELETE CASCADE ON UPDATE NO ACTION)
Im Prinzip kann das mit jeder Tabelle passieren. Unten im Docs-Artikel hast du ein Beispiel dafür wie man das machen kann. Du musst auf Basis der Fehlermeldung anpassen. Das kann so aussehen für die Meldung die du bekommst:
DELETE ca
FROM `s_emotion_attributes` ca
LEFT JOIN s_emotion c
ON c.id = ca.emotionID
WHERE c.id IS NULL
Das müsste man dann ausführen und danach nochmal die Foreign Key Reparatur von vorne starten.
Problem der Key ist gelöst. Vielen Dank für die Hilfe.
Jetzt muss ich noch das Problem mit SwagPaymentPaypal lösen. Ich hab erstmal das Plugin in der DB deaktiviert, damit der Shop wiederonline ist und ich ins Backend komme.