H2OH2O MemberComments: 10 Received thanks: 0 Member since: April 2016

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?

Comments

  • ShyimShyim MemberComments: 872 Received thanks: 346 Member since: May 2015

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

    Thanked by 1mmnvie
  • H2OH2O MemberComments: 10 Received thanks: 0 Member since: April 2016

    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 "}
  • Moritz NaczenskiMoritz Naczenski AdministratorsComments: 8029 Received thanks: 2349 Member since: September 2013

    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.

  • H2OH2O MemberComments: 10 Received thanks: 0 Member since: April 2016

    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 :(

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

  • Moritz NaczenskiMoritz Naczenski AdministratorsComments: 8029 Received thanks: 2349 Member since: September 2013

    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.

  • H2OH2O MemberComments: 10 Received thanks: 0 Member since: April 2016

    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 =)

  • mrseelemrseele MemberComments: 2 Received thanks: 0 Member since: September 19

    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´é

  • Moritz NaczenskiMoritz Naczenski AdministratorsComments: 8029 Received thanks: 2349 edited September 19 Member since: September 2013

    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.

    Thanked by 1mrseele
  • mrseelemrseele MemberComments: 2 Received thanks: 0 Member since: September 19

    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?

  • Moritz NaczenskiMoritz Naczenski AdministratorsComments: 8029 Received thanks: 2349 Member since: September 2013

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

  • awprintawprint MemberComments: 84 Received thanks: 6 Member since: August 2012

    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.

  • mmnviemmnvie MemberComments: 4 Received thanks: 0 Member since: May 4

    Habe selbiges Problem.

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

    Werde mal probieren.

  • hifibauhifibau MemberComments: 490 Received thanks: 11 Member since: April 2013

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

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

    image

  • mmnviemmnvie MemberComments: 4 Received thanks: 0 Member since: May 4

    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?
  • hifibauhifibau MemberComments: 490 Received thanks: 11 Member since: April 2013

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

  • mmnviemmnvie MemberComments: 4 Received thanks: 0 Member since: May 4

    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 ;-)
  • hifibauhifibau MemberComments: 490 Received thanks: 11 Member since: April 2013

    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

     

    image

  • Moritz NaczenskiMoritz Naczenski AdministratorsComments: 8029 Received thanks: 2349 Member since: September 2013

    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: https://github.com/shopware/shopware/blob/5.6/_sql/migrations/1616-add-mail-log-table.php#L80

    Thanked by 1hifibau
  • hifibauhifibau MemberComments: 490 Received thanks: 11 Member since: April 2013

    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.

  • Moritz NaczenskiMoritz Naczenski AdministratorsComments: 8029 Received thanks: 2349 Member since: September 2013

    Eine reine Liste wird man da nicht machen können.

    Schick mir mal die Zugangsdaten an forum@shopware.com (PHPmyAdmin, FTP), dann spiele ich dir das Update ein.

    Denke ich komme da im Laufe des Tages zu.

    Thanked by 1hifibau
  • hifibauhifibau MemberComments: 490 Received thanks: 11 Member since: April 2013

    Klasse, prima....werde Dir die Daten im heute Mittag zu kommen lassen Thumb-Up

  • pfannengundelpfannengundel MemberComments: 38 Received thanks: 3 Member since: January 2014

    Hallo zusammen, vielleicht hilft es ja. Ich hatte aufgrund des nicht durchgeführten SQL Befehls ebenfalls Probleme und habe zwar ein Backup der 5.5 über Plesk wieder eingespielt, aber vermutlich nicht mit dem "alten" DB Bestand. 

    Egal, auf jeden Fall hatte ich auch die Fehlermeldungen und habe folgendes in der Datenbank durchführen müssen, damit ich Upgraden konnte. Vielleicht hilft es ja dem ein oder anderen:

    1. Tabelle "s_plugin_schema_version" löschen
    2. Tabellen "s_mail_log", s_mail_contact, s_mail_document, s_mail_recipient löschen und die Frage nach der Foreign-Key Prüfung bestätigen
    3. (Nochmal) die Tabellen "s_mail_log", s_mail_contact löschen (sind bei 2. leider nicht gelöscht worden)
    4. Tabelle s_categories_manual_sorting löschen
    5. Tabelle s_content_types löschen
    6. Die Spalte (column) content_type    in der Tabelle s_core_menu  entfernen
    7. Den Dateneintrag (!) in der Tabelle s_core_menu  mit dem Namen "Inhaltstypen" entfernen

    Danach lief das Upgrade bei mir (Gott Sei Dank) problemlos durch. 

    Grundsätzlich verstehe ich jedoch auch nicht, warum um alles in der Welt der SQL Befehl für das Löschen der verwaisten Einträge nicht in das Update-Skript mit eingebaut wurde. Da hätte ich mir (und auch ein paar andere hier) viel Ärger erspart. Alternativ wäre ein HInweis: "Wichtig: Bitte vor dem Update die Doku (Link) lesen, da ein SQL Befehl ausgeführt werden muss." Oder irgend so etwas.

    VG

    Thanked by 3mmnvie hifibau doitauto
  • hifibauhifibau MemberComments: 490 Received thanks: 11 Member since: April 2013

    Eine reine Liste wird man da nicht machen können.

    Schick mir mal die Zugangsdaten an forum@shopware.com (PHPmyAdmin, FTP), dann spiele ich dir das Update ein.

    Denke ich komme da im Laufe des Tages zu.

    An dieser Stelle noch mal vielen Dank an Moritz....top Service!! 

Sign In or Register to comment.