wann immer ich einen angelegten Artikel oder Verkaufskanal löschen möchte, wird zwar kein Fehler ausgegeben, jedoch auch nichts gelöscht. Und wenn ich einen angelegten Artikel ändern möchte, wird beim Speichern der Änderung der Fehler “Beim Speichern der Entität “Artikelname” ist ein Fehler aufgetreten” ausgegeben (statt “Artikelname” steht dann da der Name des Artikels). Ich habe den Shop mehrfach neu aufgesetzt, aber der Fehler tritt direkt ab Start auf.
wann immer ich einen angelegten Artikel oder Verkaufskanal löschen möchte, wird zwar kein Fehler ausgegeben, jedoch auch nichts gelöscht. Und wenn ich einen angelegten Artikel ändern möchte, wird beim Speichern der Änderung der Fehler „Beim Speichern der Entität „Artikelname“ ist ein Fehler aufgetreten“ ausgegeben (statt „Artikelname“ steht dann da der Name des Artikels). Ich habe den Shop mehrfach neu aufgesetzt, aber der Fehler tritt direkt ab Start auf.
Was kann hier schieflaufen?
Umgebung…
Shopware v6.1.0 Release Candidate 3
Ubuntu 18.04.3 LTS
Plesk Obsidian 18.0.21 Update Nr. 4
PHP 7.4
Apache 2.4.29
Nginx 1.16.1.3
MariaDB 10.3.21
Kann ich so nur bestätigen. Ich denke die Programierer, die echt gute Arbeit leisten, sollten die 6er Version einmal überarbeiten, denn allein die Ladezeiten sind extrem hoch und es treten immer wieder vermehrt Fehler auf.
Als erstes müsste man mal nach der Fehlermeldung schauen. Ich denke über die Browserkonsole im Netzwerktab sollte man erkennen können, welchen Fehler die API wirft. Auf Basis dessen kann man dann auch genauer sagen, an was es liegt.
Bei einer Neuinstallation vom RC3 habe ich die Probleme nicht.
…wird da jemand schlau draus? Den 403 bekomme ich beispielsweise bei jedem Änderungs- oder Löschversuch, das erstmalige Anlegen eines neuen Artikel (oder Verkaufskanals oder einer sonstigen Entität) klappt jedoch.
Ich hatte anscheinend irgend ein Konfigurationsproblem beim Zusammenspiel von Apache und Nginx – auf einem Webserver, der ausschließlich mit Apache lief, trat das Problem nach einer Neuinstallation mittels Shopware-Installer nicht auf. Ich habe es dann bei der reinen Apache-Konfiguration belassen. Die genaue Ursache konnte ich nicht feststellen.
Also, nach ein wenig Recherche und Suche habe ich mein Problem lösen können. Es hängt in meinem Fall mit den vorhandenen Bestellungen zusammen.
Fehlermeldung in der Datenbank…
Cannot delete or update a parent row: a foreign key constraint fails (sw6Datenbank.order_line_item, CONSTRAINT fk.order_line_item.cover_id FOREIGN KEY (cover_id) REFERENCES media (id) ON UPDATE CASCADE)
Interessant war auch, dass die Dateien auf File-Ebene bereits nicht mehr existierten. (Stand auch so in der Browser Console, 404 not found)
Im Log taucht keine Meldung auf. Auf der Gui gibt es nur die Meldung Fehler beim löschen
Nach dem Löschen der Bestellungen konnte ich die „Leichen“ bei den Produktbildern entfernen.
Ähnliches Phänomen bei mir: Bild-Dateien (Medien) von alten Themes, die mal zum Test installiert waren, konnten nicht sauber gelöscht werden.
Es wurde die Datei physikalisch auf dem Webserver gelöscht. OK.
Der Datenbankeintrag und damit die Datei im Media Ordner blieb mit einem „roten X“ erhalten
Ein händisches Löschen in „media“ innerhalb der SQL schlug fehl
Lösung: Die Datenbankeinträge waren mit „theme_media“ noch hart verlinkt. Dort musste zuerst der passende Eintrag pro Datei entfernt werden, der die Mediendatei mit dem Theme scheinbar in der Datenbank verlinkt. Durch löschen der Datei-ID (media_id) aus der „theme_media“ konnte danach auch der Eintrag in „media“ erfolgreich entfernt werden.
Der Consolen-Befehl bin/console media:delete-unused funktioniert überhaupt nicht.
@@Shopware-Team: → ZWEI BUGS:
Mediendateien, die mit einem Theme verlinkt sind, werden nicht sauber aus der Datenbank gelöscht
Console media:delete-unused funktioniert nicht. Fehler bei mir
$ >> Field „id“ in entity „media“ was not found.
./bin/console media:delete-unused
15:34:05 CRITICAL [console] Error thrown while running command "media:delete-unused". Message: "Field "id" in entity "media" was not found." ["exception" => Shopware\Core\Framework\DataAbstractionLayer\Dbal\Exception\UnmappedFieldException^ { …},"command" => "media:delete-unused","message" => "Field "id" in entity "media" was not found."]
In EntityDefinitionQueryHelper.php line 198:
Field "id" in entity "media" was not found.
media:delete-unused
Hallo,
es gibt dazu Tickets im Issuetracker (https://issues.shopware.com/). Ob eines davon zutrifft, lässt sich anhand der Meldung nicht sagen.
Wenn Ihr die gleiche Meldung erhaltet, habt Ihr an irgend einer Stelle eine Medien-ID, die aber nicht nicht (mehr) in der Medientabelle eingetragen ist.
Auch bei gleicher oder ähnlicher Meldung kann das unterschiedliche Ursachen haben, daher wäre der erste Schritt erst einmal das ganze genauer zu untersuchen (Protokolle, vollständige Meldung, ID zu finden? usw.)