Hallo, bekomme beim Update auf 5.5.8 folgende Fehlermeldung
Migration konnte nicht angewendet werden (Migrations_Migration1457). Fehler: SQLSTATE [23000]: Verletzung der Integritätsbedingung: 1062 Doppelter Eintrag ‘0-1’ für Schlüssel ‘element_id_shop_id’
Bitte versuchen Sie, diesen Fehler zu beheben, und starten Sie das Update erneut.
Antwort
{"gültig": false, "errorMsg": "Migration konnte nicht angewendet werden (Migrations\_Migration1457). Fehler: SQLSTATE [23000]: Verletzung der Integritätsbedingung: 1062 Doppelter Eintrag '0-1' für Schlüssel 'element\_id\_shop\_id'"}
Wo kann ich diesen Eintrag in der DB finden und was genau soll ich dann dort löschen ???
Danke für die Antwort aber von DB habe ich sehr wenig Ahnung…Ich habe mir die Datei (1457_add-minsearch-index-lenght.php) angeschaut - kann aber in der s_core_config_values keinen doppeleten Eintrag finden.
Was mache ich falsch oder besser gefragt - hat jemand eine Lösung dafür ???
Hat denn niemand eine Lösung ? In der 1457 steht folgendes
if ($modus === self::MODUS_UPDATE) {
$sql = „INSERT INTO s_core_config_values (element_id, shop_id, value)
SELECT @elementId, id,
‚i:0;‘
FROM s_core_shops
WHERE id NOT IN (SELECT shop_id FROM s_core_config_values WHERE element_id = @elementId)“;
$this->addSql($sql);
SELECT element.id FROM s_core_config_elements element WHERE element.name = "minSearchIndexLength" LIMIT 1
Eventuell mal dieses Select bei euch im Shop ausführen und schauen ob die ID schon in „s_core_config_values“ vorhanden ist. Bei mir im Testshop ist das die ID 4203.
Hm, komisch … eure Datenbank kaputt? Das sind eigentlich Einstellungen von der Suche.
was kann ich jetzt tun
Die MySQL Query aus der Migration1457 manuell durchgehen bzw. in der Datenbank vergleichen. Wenn etwas fehlt dann anlegen. Ist zwar Fummelarbeit, aber lässt sich halt nicht ändern.
Ich will das Thema nochmal aufgreifen. Wir haben nämlich das gleiche Problem
Wenn ich mir die Migration1457 mal ansehe, dann fällt mir darin auf, dass die Variable @element_id aus einer SELECT-Abfrage gefüllt wird.
Im unteren Abschnitt, da wo es darum geht per INSERT die s_core_config_values zu beschreiben, ist aber von der Variable @elementId die Rede (es fehlt der Unterstrich). Das würde bedeuten, dass eine nicht definierte Variable verwendet wird, diese dann den Wert 0 erhält und es dewegen zum Fehler kommt. Weil eben dann die Kombination 0-1 bereits existiert und das eine UNIQUE CONSTRAINT Fehlermeldung auswirft.