Error
Received the following error message:
An exception occurred while executing ‚ALTER TABLE product_tag DROP FOREIGN KEY fk.product_tag.tag_id;‘: SQLSTATE[42000]: Syntax error or access violation: 1091 Can’t DROP FOREIGN KEY fk.product_tag.tag_id; check that it exists
Please try to fix this error and restart the update.
Response
{„valid“:false,„errorMsg“:„An exception occurred while executing ‚ALTER TABLE product_tag DROP FOREIGN KEY fk.product_tag.tag_id;‘:\n\nSQLSTATE[42000]: Syntax error or access violation: 1091 Can’t DROP FOREIGN KEY fk.product_tag.tag_id; check that it exists“}
Selber Fehler passiert auch bei Update auf 6.4.11.1 wieder Backup aufspielen–heul
Error
Received the following error message:
An exception occurred while executing ‚ALTER TABLE product_tag DROP FOREIGN KEY fk.product_tag.tag_id;‘: SQLSTATE[42000]: Syntax error or access violation: 1091 Can’t DROP FOREIGN KEY fk.product_tag.tag_id; check that it exists
Please try to fix this error and restart the update.
Response
{„valid“:false,„errorMsg“:„An exception occurred while executing ‚ALTER TABLE product_tag DROP FOREIGN KEY fk.product_tag.tag_id;‘:\n\nSQLSTATE[42000]: Syntax error or access violation: 1091 Can’t DROP FOREIGN KEY fk.product_tag.tag_id; check that it exists“}
Hast du von einer lange zurück liegenden Version aktualisiert? Überprüfe auch, ob deine MySQL-Version den Anforderungen entspricht.
MySQL 5.7.21 oder höher
Die MySQL Versionen 8.0.20 und 8.0.21 sind auf Grund von technischen Problemen in diesen Versionen nicht kompatibel.
oder
MariaDB 10.3.22 oder höher
Die MariaDB Versionen 10.3.29, 10.4.19 und 10.5.10 sind auf Grund von technischen Problemen in diesen Versionen nicht kompatibel.
Als kruder Hack kannst du nach dem Statement suchen und es ausmerzen oder fixen. grep -F "ALTER ABLE product_table DROP FOREIGN KEY fk.product_tag.tag_id" -r . vom Shopware-Ordner aus, um die Datei zu finden. Falls nichts dabei herauskommt, wird das Statement irgendwie zusammengebaut. Irgendwo tief im Quellcode-Wald sind die Dateien für DB-Migrationen. Kämpfe dich durchs Unterholz, bis du den Übeltäter gefunden hast.
Das hat oft was mit den Plugins zu tun, man sollte lieber nicht gleich ein System Update von Shopware 6 durchführen, denn meine Beobachtung ist: Erst nach 1-2 Wochen sind fast alle Plugins auf den neuesten Stand, wenn dann z.B. nur ein Plugin noch nciht soweit ist, kann man es vor dem System Update deaktivieren und nach dem Update wieder aktivieren, denn sollte es danach ein problem geben, dann weiß man schon eher , dass es an diesem Plugin liegt, aber wenn 3-4 Plugins noch nciht so weit sind, dann kann man die Fehlerquelle nciht gleich auf ein ebsteimmtes Plugin zurückführen. Außerdem finde ich es von Shopware 6 nicht gut, dass man ein System update anbietet, obwohl einige Plugins noch eien Aktualisierung benötigen. Es ist auch so, dass nach 5 tagen plötzlich bereit sind für das Plugin, da sollte man schon dem User irgendwie klar machen, dass das System Update, welches ja im backend vorgeschlagen wird, jetzt ein aufgefrischtes system Update ist, was aber natürlich noch die gleiche Seriennummer hat, das irrtiert udn was erfährt man nur wenn man auch alnge mit Shopware arbeitet, aber für neue Anweder kann das alles schon problematisch werden…
ich vermute, dass durch das Update der Key bei dir entfernt worden ist und anschließend ein Fehler aufgetreten ist. Wenn jetzt weiterhin versucht wird das Update erneut einzuspielen, tritt der genannte Fehler auf, da versucht wird etwas zu entfernen, was nicht mehr existiert.
Du hast hier zwei Möglichkeiten. Entweder erstellt zu den Foreign Key in der Tabelle product_tag wieder her oder
du lädst dir das Update ZIP herunter, entfernst den entsprechende Eintrag aus der Datei, erstellt eine neue ZIP und führst das Update mit der neuen ZIP Datei aus.
Hallo, danke für die Tipps! —da ich aber leider noch nicht so ganz in der Dateistruktur durchblicke, wo in der update.zip sind die Datenbankänderungen? Für Hilfe wäre ich sehr dankbar lg Peter
ich muss auch etwas importieren - wenn ich das mache geht es aber nicht er sagt auch das da schon nen key exisitiert bei der Installation bricht er aber ab und sagt ich soll gucken ob der Key existiert.
ALTER TABLE product_tag ADD CONSTRAINT fk.customer_address.salutation_id FOREIGN KEY (tag_id) REFERENCES tag (id) ON DELETE CASCADE ON UPDATE CASCADE;