Hi Marcus,
besten Dank für die ausführliche Antwort. Ich sitze gerade am SQL Statement und wollte erst mal rausselektieren, was denn überhaupt gebraucht wird.
Das sieht dann so aus wie unten. Eventuell ja für jemanden interessant.
Da kommen bei mir jetzt so ca. 2000 Ergebnisse. Das passt.
Aber insgesamt sind in der MediaStorage Tabelle über 200.000 Datensätze und ich weiß noch nicht genau, wo die überhaupt herkommen. Das ist ein bisschen viel, um das auf fehlerhafte Importe zurückzuführen.
Bevor ich da was lösche, würde ich gerne nochmal nachfragen: Werden denn z.B. die Bilddaten aus dem Pagebuilder auch in der Mediastorage-Tabelle gespeichert?
Super wäre, wenn so ein Task irgendwann mal zentral unter dem Wartungs-Bereich im Backend verfügbar wäre:
"remove unused pictures" oder so
*************
select MediaStorage.id, Picture.MediaStorageId, Product_Picture_Mapping.ProductId as product, Category.id as category, Product.MainPictureId as productmainpicture, Manufacturer.PictureId as manufacturer
FROM MediaStorage
JOIN Picture ON MediaStorage.Id=Picture.MediaStorageId
LEFT JOIN Product_Picture_Mapping ON Picture.Id=Product_Picture_Mapping.PictureId
LEFT JOIN Category ON Picture.id=Category.PictureId
LEFT JOIN Product ON Picture.id=Product.MainPictureId
LEFT JOIN Manufacturer on Picture.id=Manufacturer.PictureId
WHERE
NO Manufacturer.PictureId IS NULL OR NOT Product.MainPictureId IS NULL OR NOT Product_Picture_Mapping.ProductId IS NULL OR NOT Category.Id IS NULL