Hallo,
ich hänge hier gerade am Update 6.5.8.7 auf 6.5.8.8.
Im Update-Prozess hängt es hier:
Run Post Update
Get collection for identifier: "core"
migrate Migrations
0/2 [░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 0% < 1 sec/< 1 sec 103.0 MiB08:03:19 ERROR [app] Migration: "Shopware\Core\Migration\V6_5\Migration1707807389ChangeAvailableDefault" failed: "An exception occurred while executing a query: SQLSTATE[HY000]: General error: 1553 Cannot drop index '': needed in a foreign key constraint"
---------- ----------------------
Action Number of migrations
---------- ----------------------
Migrated 0 out of 2
---------- ----------------------
Jetzt habe ich in der Migration1707807389ChangeAvailableDefault.php nachgeschaut, was hier gemacht werden soll:
$connection->executeStatement('ALTER TABLE `product` CHANGE `available` `available` tinyint(1) NOT NULL DEFAULT \'0\';');
Dann habe ich der product Tabelle nachgeschaut und festgestellt, dass hier ein leerer foreign key existiert. Jetzt könnte ich den löschen und dann nochmal probieren. Aber ich fürchte, dass hier noch mehr fehlt und vielleicht andere foreign keys bei irgendeinem vorherigen Update verloren gegangen sind. Dasselbe Problem habe ich auch in 3 anderen Instanzen
Gibt es ein Tool, um in Shopware 6 für die jeweilige Shopware-Version die foreign keys zu reparieren? Im Forum habe ich Beiträge zu SW5 gesehen. Da gab es das scheinbar. Aber zu SW6 hab ich nix gefunden.
Oder gibt es irgendwo die offiziellen Tabellen-Definitionen für die einzelnen SW6 Versionen? Aus der ich mir dann ggf. fehlende ForeigenKeys wieder rekonstruieren könnte?
Vielen Dank im Voraus
PS: Mal noch eine generelle Frage. Ich habe (wie ihr an der Version sehen könnt) eine Weile keine Updates gemacht. Aktuelle Version ist 6.6.6.1. Würdet ihr da jedes einzelne Update ausführen, also 6.5.8.8, 6.5.8.9. 6.5.8.10, …? Oder kann man auch größere Sprünge machen? Aber dann passiert vermutlich genau sowas, dass dann irgendwo ein index oder foreign key fehlt … oder Schlimmeres
Wie macht ihr das mit den Updates?