Hallo,
danke an t2oh4e und wimpernshop, tatsächlich ist der Tipp Gold wert, bei den Update-Fehlern des Autoupdaters darauf zu achten, welche Nummer hinter “Migration” steht. Es handelt sich bei dieser Nummer dann um ein ziemlich kurzes Skript, welches zu finden ist unter
/files/update/update-assets/migrations
Diese Skripte kann man dann ansehen (oder auch sogar patchen, sie sind wirklich sehr kompakt) und somit den Fehlern näher auf die Spur kommen.
Letztlich ist die Vorgehendweise bei Datenbankproblemen während des Updates so, dass man ein paralleles Fenster mit myPHPadmin aufhat, um die fehlenden oder zuviel vorhandenen DB-Einträge dann händisch zu bearbeiten. Das Update startet man dann im Updatefenster neu, indem man einfach die im Browser stehende URL (die jetzt noch den Update-Fehler anzeigt) um das letzte Wort kürzt (dann endet die URL mit sowas wie “/dbmigration” oder ähnlich, weiß ich grad nicht mehr genau) und neu sendet. Der Updater wiederholt dann nur den letzten Schritt und macht ab dort weiter.
Trotzdem bin ich am Ende der DB Migration, nach dem Aufräumen, dann auf einen Fehler gelaufen, der mir sagte, dass die Attribute Models nicht mehr in Ordnung wären. Eine Reparatur war zu diesem Zeitpunkt nach dem eigentlich sehr guten Hilfe-Artikel http://community.shopware.com/Shopware-Updates-Debuggen-von-Fehlern-und-FAQ_detail_1378.html nur noch möglich, in dem man auf die Konsole zugreift (denn Backend ist ja gesperrt). Konsolenzugriff habe ich aber nicht.
Ich konnte das Problem dann lösen, indem ich ein Rollback gemacht habe und von vorne angefangen habe:
- Erst Sicherheitskopie der kompletten DB und der Dateien
- Alle Caches über das Backend löschen. Alle!
- myPHP Admin für die Datenbank öffnen
- Die Foreign-Key-Reparatur anwenden, siehe Artikel http://community.shopware.com/Foreign-Keys-reparieren_detail_954.html
- Nochmal alle Caches löschen
- Das Auto-Update starten (bei mir wurden Plugins DHL und Backend-Bestellungen als nicht kompatibel gemerkt - aber wie lange soll man denn da warten? Also ignoriert).
- Bei jedem auftretenden Fehler im Updater parallel den Fehler in myPHPadmin behoben (Hinweise ggfs noch aus den Migration-Skripten [siehe mein Text weiter oben] nutzen).
- Updater DB-Migration neu starten (Einfach URL im Browser um den letzten Begriff kürzen und Enter)
So habe ich es schließlich nach viel Schweiß geschafft, sauber auf 5.2.3 zu kommen. Läuft alles problemlos jetzt.
Ich vermute übrigend, der Fehler in meiner DB hat sich irgendwann mal eingeschlichen, weil ich ein Rollback/Restore gemacht habe, indem ich ein Backup per Import in eine neuere Version gespielt habe. Die beiden Versionen wurden somit gemerget. Ich hätte vorher natürlich die alte DB LÖSCHEN müssen. Wann das genau war, weiß ich nicht mehr. Egal, jetzt ist der Fehler behoben.