Custom Products: Migration, nach Update, nicht möglich

Hallo,

wir hatten einen Shop mit der Version 5.1.5 laufen, dort auch Custom Products, in der Version 1.4.1. Klappte.

Jetzt - nach dem Shopupdate auf 5.3.6, wollten wir Custom Products (nach neuem Download), in der Version 4.0.1 installieren. Das funktioniert leider nicht. Wir erhalten stets folgende Meldung:

Error

An exception occurred while executing 'INSERT INTO s_core_menu (name, onclick, class, controller, action, shortcut, position, active, pluginID, parent) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)' with params ["Custom Products", null, "sprite-custom-products", "SwagCustomProducts", "index", null, 0, 1, 123, 1]: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'Custom Products-1' for key 'name'

Wieso hier etwas “duplicate” sein soll, verstehe ich nicht. Ein Update wurde noch nie versucht. Und aktuell gibt es im Backend-Menü auch nur EINEN Menüpunkt für Custom Products. Sollte ich dennoch den - anscheinend falsch doppelten - Eintrag händisch in der DB löschen? Oder liegt das Problem woanders?

Ich würde mir das INSERT-Statement kopieren und dann den Eintrag mal löschen. Was anderes machen die Kollegen im Support ja als ersten Versuch auch nicht.

@Moritz Naczenski schrieb:

Ich würde mir das INSERT-Statement kopieren und dann den Eintrag mal löschen. Was anderes machen die Kollegen im Support ja als ersten Versuch auch nicht.

Tjaaa… jetzt kommt aber der Spaß: Soeben in der DB nachgeschaut, den erwähnten Eintrag gibt es gar nicht. Nirgends in der ganzen DB und schon gar nicht in s_core_menu. Da gibt es nur ein einziges Mal den originalen Eintrag „Customer Products“ mit der ID 152.

@TomBOX schrieb:

@Moritz Naczenski schrieb:

Ich würde mir das INSERT-Statement kopieren und dann den Eintrag mal löschen. Was anderes machen die Kollegen im Support ja als ersten Versuch auch nicht.

Tjaaa… jetzt kommt aber der Spaß: Soeben in der DB nachgeschaut, den erwähnten Eintrag gibt es gar nicht. Nirgends in der ganzen DB und schon gar nicht in s_core_menu. Da gibt es nur ein einziges Mal den originalen Eintrag „Customer Products“ mit der ID 152.

Aber das sagt der Fehler ja… da ist schon ein Eintrag und er will einen neuen anlegen. Sicher die den Eintrag (oder die Datenbank) und lösch den einfach mal. 

@Moritz Naczenski schrieb:

@TomBOX schrieb:

@Moritz Naczenski schrieb:

Ich würde mir das INSERT-Statement kopieren und dann den Eintrag mal löschen. Was anderes machen die Kollegen im Support ja als ersten Versuch auch nicht.

Tjaaa… jetzt kommt aber der Spaß: Soeben in der DB nachgeschaut, den erwähnten Eintrag gibt es gar nicht. Nirgends in der ganzen DB und schon gar nicht in s_core_menu. Da gibt es nur ein einziges Mal den originalen Eintrag „Customer Products“ mit der ID 152.

Aber das sagt der Fehler ja… da ist schon ein Eintrag und er will einen neuen anlegen. Sicher die den Eintrag (oder die Datenbank) und lösch den einfach mal. 

Jetzt bin ich verwirrt. :wink:
Die Meldung will doch einen Eintrag namens „Custom Products-1“ speichern, nicht wahr? Exakt diesen Eintrag gibt es nicht, also mit „-1“ hinten dran. Nur ohne, gibt es ihn. Und das dürfte ja auch ziemlich korrekt sein, denn die alte Version von Custom Products existiert ja auch - muss ja. Immerhin verwenden wir sie ja. Demnach hätte ich jetzt gedacht, dass der Eintrag „Custom Products“ (dem alten CP zuzuordnen ist) und NICHT GLEICH dem neu einzutragenden „Custom Products-1“ ist.

Denke ich in eine falsche Richtung?
Wenn ich den einzigen Menüeintrag für Custom Products entferne, wird CP gar nicht mehr verfügbar sein, schätze ich. Ist fraglich was dann mit den ganzen Daten passiert…

Das mit dem -1 kommt von SQL, schau dir das INSERT Statement an - da steht klar als Name:

Custom Products

Einfach Backup machen und testen, ist ja nur ein Menüeintrag.

@Moritz Naczenski schrieb:

Das mit dem -1 kommt von SQL, schau dir das INSERT Statement an - da steht klar als Name:

Custom Products

Einfach Backup machen und testen, ist ja nur ein Menüeintrag.

Okay, danke erstmal. Das mit dem Backup ist schon klar. :wink: Ich bin halt nur etwas vorsichtig geworden. Ist ja immer neuer Aufwand und Zeit geht auch drauf.

Das Update scheint jetzt funktioniert zu haben. Ich konnte die Migration nun durchführen und das alte Plugin löschen. Soweit so gut. Jetzt stelle ich aber fest, dass das Frontend irgendwie „kaputt“ ist. Jedenfalls tut sich da rein gar nichts - es wird geladen und geladen und geladen und… aber sonst nix. Solange, bis das Timeout irgendwann kommt. Ich habe den gesamten Cache geleert (in Shop und Browser). Das Backend funktioniert tadellos, nur das Frontend gibt keinen Mucks mehr von sich. :frowning:

Im Systemlog ist nichts zu finden, kein Eintrag.
Allerdings stelle ich gerade noch fest, dass ich den HTTP-Cache nicht aufwärmen kann. Er beginnt und hängt sofort. Im Log steht dann

Warm up http-cache error with shopId 1 Server error response

Aber mein Server funktioniert definitiv. Alles andere jedenfalls. Hm… strange.

Dann musst du dir erstmal die Fehlermeldung besorgen: http://community.shopware.com/Fehlermeldungen-in-Shopware-debuggen_detail_1880.html

Mit dem Frontend Error-Reporter sollte da was kommen.

@Moritz Naczenski schrieb:

Dann musst du dir erstmal die Fehlermeldung besorgen: http://community.shopware.com/Fehlermeldungen-in-Shopware-debuggen_detail_1880.html

Mit dem Frontend Error-Reporter sollte da was kommen.

Okay, jetzt habe ich mal die config.php entsprechend erweitert. Wenn ich nun das Frontend aufrufe, erhalte ich nach etwa 60 Sekunden Wartezeit, folgende Meldung:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded; try restarting transaction' in /serverpfad/engine/Shopware/Components/Session/PdoSessionHandler.php:536 Stack trace: #0 /serverpfad/engine/Shopware/Components/Session/PdoSessionHandler.php(536): PDOStatement->execute() #1 /serverpfad/engine/Shopware/Components/Session/PdoSessionHandler.php(291): Shopware\Components\Session\PdoSessionHandler->doRead('ffc65eabeb844a1...') #2 [internal function]: Shopware\Components\Session\PdoSessionHandler->read('ffc65eabeb844a1...') #3 /serverpfad/engine/Library/Zend/Session.php(481): session_start() #4 /serverpfad in /serverpfad/engine/Shopware/Components/Session/PdoSessionHandler.php on line 536

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded; try restarting transaction' in /serverpfad/engine/Shopware/Components/Session/PdoSessionHandler.php:343 Stack trace: #0 /serverpfad/engine/Shopware/Components/Session/PdoSessionHandler.php(343): PDOStatement->execute() #1 [internal function]: Shopware\Components\Session\PdoSessionHandler->write('ffc65eabeb844a1...', '') #2 [internal function]: session_write_close() #3 {main} thrown in /serverpfad/engine/Shopware/Components/Session/PdoSessionHandler.php on line 343

 Was bedeutet das nun? :wink:

*hochschieb*

Sieht mir nicht nach CustomProducts aus, läufts denn, wenn du das Plugin aus machst?