Update 6.7.8.2 auf 6.7.9.0 Fehler

Hallo Leute,

ich habe Heute ein update versucht und das logfile bringt folgenden Fehler:

Run Post Update
Get collection for identifier: „core“
migrate Migrations
0/13 [░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 0% < 1 ms/< 1 ms 62.5 MiB22:04:43 ERROR [app] Migration: „Shopware\Core\Migration\V6_7\Migration1772178695ChangeProductExportProductStreamDeleteRule“ failed: „An exception occurred while executing a query: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (shop6ware12.#sql-alter-13b4e7-289139, CONSTRAINT fk.product_export.product_stream_id FOREIGN KEY (product_stream_id) REFERENCES product_stream (id) ON UPDATE CASCADE)“


Action Number of migrations


Migrated 0 out of 13


22:04:43 CRITICAL [console] Error thrown while running command „database:migrate core --all=1“. Message: "
Migration error: An exception occurred while executing a query: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (shopware_db.#sql-alter-13b4e7-289139, CONSTRAINT fk.product_export.product_stream_id FOREIGN KEY (product_stream_id) REFERENCES product_stream (id) ON UPDATE CASCADE)\n
Trace: \n\

was möchte mir das update da genau mitteilen?

Gruß ré

Moin @rene ,

es gibt Probleme die Migration in folgender Datei auszuführen: Shopware\Core\Migration\V6_7\Migration1772178695ChangeProductExportProductStreamDeleteRule

So wie es aussieht wird da ein Primärschlüssel nicht gefunden, der als Referenz ergänzt werden soll. Ich würde mir di Migrationen aus der Datei einmal ansehen und manuell in der Datenbank prüfen.

Grüße
Matthias

Hallo Matthias,

da die Datei auf produkt_export verweist habe ich dort den einen der beiden Einträge doofinder gelöscht da ich doofinder nicht nutze, das brachte allerdings nur weitere Probleme. Also den Eintrag wiederhergestellt aber das Problem bleibt hartnäckig. siehe Bild :frowning:

Gruß ré

Hast du die Migration den nachtäglich ausgeführt oder hast du den Update Prozess komplett neu gestartet?

ALTER TABLE `product_export`
ADD CONSTRAINT `fk.product_export.product_stream_id`
FOREIGN KEY (`product_stream_id`) REFERENCES `product_stream` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE;

Das ist die Migration. Dann kannst du ja schauen, welche Daten in deiner Datenbank vorab des Updates schon inkonsistent sind.

Hallo,

ich habe nur das update ausgeführt, die Migration müsste eine Teil des updates gewesen sein. Ich habe allerdings nach dem fehlgeschlagenem update die Dateien vor dem update wieder zurück kopiert da das Backend weiß war mit blauem drehendem Rad. Wie finde ich heraus welche Daten der Datenbank inkonsistent sind?

Gruß ré

Moin @rene,

du kannst es herausfinden, indem du die in dem Fehler genannte Migration prüfst. @Max_Shop hat dir diese herausgesucht. Du müsstest nun also prüfen, ob es in der Tabelle „product_export“ die Spalte „product_stream_id“ gibt und in der Tabelle „product_stream“ die Spalte „id“. Hier kann laut Fehlermeldung keine Verknüpfung zwischen den beiden Tabellen hergestellt werden. Einzelne Datensätze in der Datenbank löschen oder zu bearbeiten bringt hierbei nichts, da es ein Strukturproblem und kein Inhaltsproblem ist.

Grüße
Matthias

Hallo,

ok, das habe ich geprüft und ein Eintrag in product_stream_id fehlte, diesen haben ich aus einem Backup wiederhergestellt. Ich werde gleich noch mal das update ausführen.

vielen dank für die Geduld und Hilfe ré

P.S. update lief nun durch :wink: