Hallo, seit dem Update auf die Version 4.0.4 RC erhalten wir ab und zu - bislang kein Muster erkennbar - folgende Fehlermeldung, die den ganzen Shop lahmlegt: Fatal error: Cannot redeclare Shopware\Models\Attribute\Blog::$blog in /serverpfad_zum_kunden/installationsverzeichnis/engine/Shopware/Models/Attribute/Blog.php on line 132 Dieser Fehler lässt sich derzeit nur so lösen, dass ich im FTP im Ordner /engine/Shopware/Models/Attribute die Datei Blog.php lösche. Bei irgend einer Gelegenheit wird sie wieder erstellt. Das Komische ist, wir nutzen das Blog-Modul gar nicht. Dennoch erhalten wir jenen Fehler. Was kann das wohl sein?
Hallo, das sieht nach einem Problem in der Datenbank aus. Exportiere mal nur die Tabelle s_blog_attributes und prüfe, wie viele foreign keys gesetzt sind. Die Meldung besagt, dass mehrere vorhanden sind - es darf aber nur einer vorhanden sein… Es geht um diesen Befehl, der im Export nur einmal vorkommen darf: ALTER TABLE s_blog_attributes
ADD CONSTRAINT s_blog_attributes_ibfk_1
FOREIGN KEY (blog_id
) REFERENCES s_blog
(id
) ON DELETE CASCADE ON UPDATE NO ACTION;
Guten Morgen Sebastian, [quote=„Sebastian Klöpper“]Hallo, das sieht nach einem Problem in der Datenbank aus. Exportiere mal nur die Tabelle s_blog_attributes und prüfe, wie viele foreign keys gesetzt sind. Die Meldung besagt, dass mehrere vorhanden sind - es darf aber nur einer vorhanden sein… Es geht um diesen Befehl, der im Export nur einmal vorkommen darf: ALTER TABLE s_blog_attributes
ADD CONSTRAINT s_blog_attributes_ibfk_1
FOREIGN KEY (blog_id
) REFERENCES s_blog
(id
) ON DELETE CASCADE ON UPDATE NO ACTION;[/quote] vielen Dank für die nächtliche Antwort. Um diese Zeit hatte ich das gar nicht erwartet. :thumbup: Mein SQL-Argument sieht so aus: ALTER TABLE `s_blog_attributes` ADD CONSTRAINT `s_blog_attributes_ibfk_3` FOREIGN KEY (`blog_id`) REFERENCES `s_blog` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION, ADD CONSTRAINT `s_blog_attributes_ibfk_1` FOREIGN KEY (`blog_id`) REFERENCES `s_blog` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION, ADD CONSTRAINT `s_blog_attributes_ibfk_2` FOREIGN KEY (`blog_id`) REFERENCES `s_blog` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION;
Das sind dann also drei, statt nur eins. Und was mache ich jetzt?
Also ich hätte wirklich nichts dagegen, wenn jetzt eine Antwort auf mein letztes Posting erschiene.
Hallo, die überflüssigen Fremdschlüssel kannst du folgendermaßen löschen: ALTER TABLE s\_blog\_attributes DROP FOREIGN KEY s\_blog\_attributes\_ibfk\_2; ALTER TABLE s\_blog\_attributes DROP FOREIGN KEY s\_blog\_attributes\_ibfk\_3;
Viele Grüße Benjamin Cremer :shopware:
Hallo, [quote=„Benjamin Cremer“]Hallo, die überflüssigen Fremdschlüssel kannst du folgendermaßen löschen: ALTER TABLE s\_blog\_attributes DROP FOREIGN KEY s\_blog\_attributes\_ibfk\_2; ALTER TABLE s\_blog\_attributes DROP FOREIGN KEY s\_blog\_attributes\_ibfk\_3;
Viele Grüße Benjamin Cremer :shopware:[/quote] den Befehl habe ich ausgeführt und zur Prüfung die Tabelle nochmals exportiert. Die beiden überflüssigen Einträge sind fort. Zum Testen habe ich nun die originale Blog.php (aus dem 4.0.4.-Release) wieder eingestellt. Und es klappt wieder nicht: dieselbe Fehlermeldung wie oben schon erwähnt. Ich habe auch noch einmal in der Datenbank nachgesehen, die zusätzlichen Einträge in der Tabelle s_blog_attributes gibt es nicht mehr, auch nicht erneut. Der Fehler besteht jedoch noch immer. Was nun?
Hi, hast du schon auf die finale 4.0.4 upgedatet ? Hier sollte dein Problem gelöst sein. Grüße, Marcel
[quote=„Marcel S“]Hi, hast du schon auf die finale 4.0.4 upgedatet ? Hier sollte dein Problem gelöst sein. Grüße, Marcel[/quote] Huch!? Ich wusste gar nicht, dass die 4.0.4. jetzt final ist. Muss ich gleich mal nachholen… ich melde mich wieder.
Okay… erste Tests ergeben keine Fehler. Sieht schonmal gut aus. *hoff*