Moin Jungs und Mädels,
ich muss einen Kunden-Shop updaten und stoße auf ein Problem, welches ich so noch nicht gesehen habe…
Ich lade das Update, entpacke es über die alten Dateien und führe dann unter recovery/update die index.php aus. Bei der Datenbank-Migration erhalte ich dann den folgenden Fehler:
Could not apply migration (Migrations_Migration1454). Error: SQLSTATE[42000]: Syntax error or access violation: 1118 Row size too large.
Leider sagt er mir aber nicht, um welche Tabelle es sich handelt.
Ich habe die Tabelle s_articles_attributes einmal geprüft, da sind aber „nur“ 25 Attribute drin, die jeweils nur 255 Zeichen haben, sollte also eigentlich kein Problem darstellen.
Kann mir hier jemand helfen?
Die Update-Voraussetzungen im Backend sind alle i.O.
Vielen Dank für eure Hilfe!
Moin,
habs nun selbst in den Griff bekommen.
Falls jemand mal die Lösung für eine solche Fehlermeldung benötigt:
Da der Shop schon länger existiert und laufend geupdated wurde, lief dieser auch auf älteren Versionen von mysql.
Daher waren die meisten Tabellen noch im alten Datenformat. Habe alle Tabellen auf den ROW_TYPE=DYNAMIC geändert, wodurch weitaus größere Datenmengen verarbeitet werden können. Anschließend keine Probleme mehr
Eine schnelle Lösung kann sein die bisherige Datenbank zu duplizieren (in unserem Fall Kopie der DB per PLESK). Es wird eine neue Datenbank angelegt und die Daten werden dort importiert. Die Tabellen der neuen DB sind dann bereits mit dem ROW_TYPE „DYNAMIC“ angelegt. Möglicherweise ist die Datenbankstruktur dann auch an anderen Stellen aktueller und man behält die alte DB als Sicherung.
Natürlich müssen dann in der Shopware-Konfiguration die Zugangsdaten ebenfalls auf die neue DB eingestellt werden.
Dies funktioniert auch, wenn das Update schon angestoßen wurde und stecken geblieben ist. Das Update läuft dann nach Reload der Update-Seite nahtlos weiter.