Update Fehler 5.5.10 -> 5.6 Migration1627

Hallo zusammen,

beim Update auf 5.6 bekomme ich folgenden Fehler:

Error
Received the following error message:
Could not apply migration (Migrations_Migration1627). Error: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (xxxxdb1.#sql-6d65_1002e2b, CONSTRAINT #sql-6d65_1002e2b_ibfk_1 FOREIGN KEY (orderID) REFERENCES s_order (id) ON DELETE CASCADE)

Please try to fix this error and restart the update.
Response
{„valid“:false,„errorMsg“:"Could not apply migration (Migrations_Migration1627). Error: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (c1w2db1.#sql-6d65_1002e2b, CONSTRAINT #sql-6d65_1002e2b_ibfk_1 FOREIGN KEY (orderID) REFERENCES s_order (id) ON DELETE CASCADE) "}

Hat jemand eine Lösung für das Problem?

Zweiter Hinweiß auf der Update Seite https://www.shopware.com/de/changelog-sw5/#5-6-0

3 „Gefällt mir“

Hallo Shyim,

vielen Dank für die schnelle Rückmeldung, nun kommt aber folgender Fehler:

Error

Received the following error message:
Could not apply migration (Migrations_Migration1605). Error: SQLSTATE[42S01]: Base table or view already exists: 1050 Table ‘s_plugin_schema_version’ already exists

Please try to fix this error and restart the update.

Response

 {"valid":false,"errorMsg":"Could not apply migration (Migrations\_Migration1605). Error: SQLSTATE[42S01]: Base table or view already exists: 1050 Table 's\_plugin\_schema\_version' already exists "}

Hast du zwischenzeitlich ein Backup eingespielt? Am besten das Backup in eine leere Datenbank. Bei dir gibt es Tabellen die erst während des Updates angelegt werden.

Hi Moritz,

hatte das Backup wieder eingespielt, weil ja nichts mehr funktionierte.

Ich dachte eigentlich wenn man ein Backup einspielt, das alles wieder wie zuvor ist und nicht Tabellen erhalten bleiben :frowning:

Gibts keinen Befehl das ich die ganze Datenbank komplett löschen kann und dann das Backup einspiele?

Oftmals spielt ein Backup nur die gesicherten Tabellen ein und alles das, was neu ist, bleibt erhalten. Ist natürlich nicht so gut.

Kommt etwas auf dein Hosting an, wie du das am besten machen kannst. Ich würde entweder in PHPMyAdmin alle Tabellen löschen (durch die Foreign Keys muss man dann 2-3x alle markieren und dann löschen) oder eine komplett neue DB anlegen und dort das Backup reinpacken. Danach die config.php anpassen für die neue DB.

Vielen Dank für die Hilfe, ich habe nun mit MySQLDumper die ganze Datenbank gelöscht und das Backup neu eingespielt.

Das Update lief jetzt einwandfrei durch und der Shop läuft =)

Hallo zusammen,

von welchem Backup ist hier die Rede? Ich habe gerade den zweiten Fehler beim Update auf die o.g. Version erhalten:
"Could not apply migration (Migrations_Migration1605). Error: SQLSTATE[42S01]: Base table or view already exists: 1050 Table ‚s_plugin_schema_version‘ already exists"

Ich werde nicht so richtig schlau aus dem Thread. Wenn ich eine neue DB anlege und dort das Backup einspiele, habe ich doch nichts an der Situation verändert… oder? Wie kann ich denn das Update überhaupt neu starten? Wäre über einen detaillierten Hinweis sehr dankbar. :-) 

 

Liebe Grüße
Ren´é

Die Fehlermeldung kommt, weil du schon einmal ein Update versucht hast und  dann ein Backup eingespielt hast. Das Backup muss in eine Leere Tabelle, sonst bleiben die Tabellen die bei einem Updateversuch angelegt werden bestehen und machen dann beim 2. Versuch probleme. Du hast quasi das Update mit einem “Misschstand”, irgendwo zwischen 5.5 und 5.6 gestartet.

Wenn du jetzt noch ein Backup von vor deinem ersten Versuch hast, kannst du das nehmen. Ansonsten wird es kompliziert, man muss quasi bei jeder Fehlermeldung die Tabelle die dort genannt wird als “already exists” löschen und dann nochmal das update starten, bis man durch ist.

1 „Gefällt mir“

Vielen Dank für die schnelle Antwort! 
Ich verstehe. Das heißt ich habe ein Problem, da ich kein altes Backup habe. Dann muss ich da eben durch. Gibt es denn einen schnellen Weg, das Update erneut anzustoßen?

Du kannst einfach die Seite neu laden wenn es einen Fehler gibt, wenn du eas Problem manuell behoben hast.

Ich hatte die gleiche Fehlermeldung.
Nachdem ich versucht hatte ein vorheriges Update wie vorgeschlagen zu installieren kam die gleiche Fehlermeldung.
Das nur als Info zu vorherigen Backups.

Habe selbiges Problem.

Kam bei mir an sich auch bereits beim ersten Mal – also nicht bei einem Zweitversuch.

Werde mal probieren.

Arbeite aktuell auch an dem Update…komme leider nur bis hier :-( 

Hat hier jemand noch eine Idee wo ich hier was machen muss

@hifibau schrieb:

Arbeite aktuell auch an dem Update…komme leider nur bis hier :-( 

Hat hier jemand noch eine Idee wo ich hier was machen muss

Hast du nachdem es erstmalig nicht geklappt hat die Datenbank aus den Backup wiederhergestellt und das Update nochmal eingespielt, nachdem du die MySQL-Abfrage DELETE from s_order_details WHERE orderID Not IN (Select id from s_order) ausgeführt hast?

Nein habe ich nicht…werde das noch mal testen! Guter Hinweis  Thumb-Up

@Shyim schrieb:

Zweiter Hinweiß auf der Update Seite https://www.shopware.com/de/changelog-sw5/#5-6-0

Vielen Dank dafür - ich muss ehrlich zugeben dass ich das nicht gesehen habe. Frage zwischendurch - wieso wird so eine Abfrage nicht einfach in’s Update integriert und ein Hinweis darauf gegeben, dass bei dem Update verwaiste Einträge gelöscht werden könnten? So würden glaube ich weniger Leute daran verzweifeln :wink:

Ich verzweifele noch an dem Update…nachdem ich alle mit  “s_mail_log……” Tabellen gelöscht habe, die das Update anmeckert, schreibt er mir nun die s_mail_log nicht anlegen zu können. Boahhh was bin ich froh wenn ich das Tema vom Tisch habe  Angry-Face

 

Grundsätzlich war wohl dein Backup fehlerhaft, da die Tabellen usw. alle noch da sind. Die gib es ja in einer 5.5 noch garnicht. Wahrscheinlich wirst du dich jetzt durch 20-30 Fehler manuell durcharbeiten müssen, um das wieder gerade zu biegen.

Laut Fehlermeldung ist einer der vielen Foreign-Keys schon vorhanden: shopware/1616-add-mail-log-table.php at 5.6 · shopware/shopware · GitHub

1 „Gefällt mir“

Danke Moritz…da mein Schulenglisch nicht allzu viel zu lässt komme ich mit dem “githup” nicht so gut zurecht. Jetzt wäre es natürlich im Vorfeld schön zu wissen welche Tabellen ich rausschmeißen muss, bevor ich das nächste Update versuche. Bei der “s_mail_log……” dreh ich mich etwas im Kreis. Wenn ich die lösche, schreibt er mir die beim Update versuch wieder neu rein…wenn Du hier sagen könntest wie ich da jetzt am besten vorgehe wäre ich Dir zu Dank verpflichtet.