Fehler beim Update auf 5.2.5: Duplicate entry

Beim Update erscheint folgende Fehlermeldung:

Error
Received the following error message:
Could not apply migration: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'frontend/checkout/confirm-1-ConfirmHeaderBilling-234' for key 'namespace'

Please try to fix this error and restart the update.
Response
{"valid":false,"errorMsg":"Could not apply migration: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'frontend/checkout/confirm-1-ConfirmHeaderBilling-234' for key 'namespace'"}

Es kommt mir so vor, als müsste ich irgendeinen doppelten Eintrag in der Datenbank löschen., Aber die Idee bringt mich erstmal auch nicht weiter.

Und wie das so ist, war das backend dann auch nicht mehr erreichbar. Dann musste ich den update-Ordner löschen, um wenigstens ins backend zu kommen. Frontend war allerdings noch nicht erreichbar. Also kompletten Datenbank-Restore… Jetzt ist alles wieder beim Alten. Wieso kann ein Update nicht einfach funktionieren?

Hi,

der Großteil hat diese Probleme ja nicht. 
Man muss sich in so einem Fall den Fehler genauer ansehen. Es gibt dazu ja extra einen Artikel in der Doku, der aufzeigt, wo man sehen kann, welche Datenbank Migration fehlgeschlagen ist. Dann kannst du auch die Migration im Detail prüfen, was gemacht wird.
http://community.shopware.com/Shopware-Updates-Debuggen-von-Fehlern-und-FAQ_detail_1378.html

Wenn es bei einem Update mit dieser Meldung schief läuft, dann ist das i.d.R. immer ein Anzeichen, dass im Vorfeld bereits etwas mit der Umgebung nicht passte.
Ansonsten weiß Shopware ja welche Migration durchgeführt wurde und welche nicht.

Also man kann eigentlich jedes Update und jeden Updateversuch noch sauber zu Ende führen. Ein Backup muss daher nicht unbedingt direkt eingespielt werden. Hat man die Ursache, kann dieses manuell lösen, die Migration als erfolgreich markieren und das Update einfach wieder ausführen. Shopware macht dann an der Stelle weiter und führt das Update zu Ende durch.

Sebastian

Danke für die Antwort.
Ich habe jetzt verstanden, wie ich die Fehler beseitigen kann. Dafür muss ich allerdings jedes Mal den Code der Migration lesen, um zu sehen, welche SQL Befehle abgesetzt werden. Diese kann ich dann aus den Daten, die ich aus dem Fehler heraus lesen kann, rekonstruieren und in phpMyAdmin versuchen manuell oder per SQL-Query durchzuführen.

Dumm dabei ist, dass ich nie weiß, wann es endet. Ich behebe hier nur noch Snippet-Fehler… Irgendwas stimmt mit einigen Übersetzungen einfach nicht.

EDIT: War nicht so dramatisch. Nur 10 Zeilen musste ich löschen, da sie so noch angelegt werden sollten. Es war die türkische Übersetzung, an der es lag.

Hallo,

wir stehen gerade vor genau diesem Problem. Update von 5.1.3 auf 5.2.16 führt zu folgendem Fehler:

 

Error

Received the following error message:
Could not apply migration (Migrations_Migration726). Error: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry ‚frontend/checkout/confirm-1-ConfirmHeaderBilling-190‘ for key ‚namespace‘ 

Please try to fix this error and restart the update.

Response

{„valid“:false,„errorMsg“:"Could not apply migration (Migrations_Migration726). Error: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry ‚frontend/checkout/confirm-1-ConfirmHeaderBilling-190‘ for key ‚namespace‘ "}

 

Wie lässt sich das beheben?

Danke vorab!

Moin zusammen,

schade dass es hier bisher keine Lösung gab.

Was mir geholfen hat, war alle besagten Entrys zu löschen.

Alle fehlerhaften Entrys hatten gemeinsam, dass der Value ein leerer String war.

Also habe ich diese wie folgt gelöscht:

DELETE FROM s_core_snippets WHERE value = "";

Grüße

André