Gerade wenn beispielsweise der Bild-Upload per Schnittstelle geschieht, sammeln sich gerne zahlreiche Dateien, die eigentlich nicht mehr benötigt werden. Für diesen Fall gibt es theoretisch den Garbage-Collector von Shopware. Dieser hat jedoch den Nachteil, dass nicht nur Artikelbilder sondern auch alle anderen Alben durchsucht werden.
Alternativ zum Garbage-Collector dient folgender SQL-Befehl um die nicht verlinkten / verwendeten Produktfotos in den Papierkorb zu schieben:
UPDATE s_media AS m LEFT JOIN s_articles_img AS ai ON m.id = ai.media_id SET albumID = -13 WHERE albumid = -1 AND ai.id IS NULL
3 Antworten
Hallo,
Danke der SQL Befehl hat mir gerade sehr geholfen, irgendwie lief der CLI Befehl nicht und auch der Cronjob brach ab, bei 60k+ Bilder ist das Automatische reinigen anscheint Server Performance abhängig und brach immer ab.
Mit dein Tipp ging es in 2 Sekunden durch
thnx
Super gut, hat mir ein großes Problem gelöst. Danke!
Ihre Methode funktioniert aber nur wenn die Bilder noch eine Verknüpfung in der Datenbank haben, oder? Wenn die betroffenen Bilder aber keinen Verweis mehr in der Datenbank haben, was dann? Unser Webspace ist mit unzähligen Fotos gefüllt, welche aber keinen Verweis in die Datenbank haben und liegen auch nicht im Papierkorb.