Über ein Plugin importieren wir zahlreiche Daten per API/Repo in einen Shopware 6 Shop.
Problematisch: Jeder Commit auf einem Repo wird automatisch in die Tabelle version_commit_data in der Datenbank geloggt. Dadurch wird die Tabelle sehr schnell groß.
Gibt es eine Möglichkeit, das automatische Loggen bzw. die Versionierung in dieser Tabelle komplett oder für einen bestimmten API-Benutzer zu deaktivieren?
Im Plugin verknüpfen wir alle Änderungen auf dem Repo per Context mit einer AdminApiSource bzw. einem speziellen Admin-Benutzer, der nur für dieses Plugin verwendet wird.
Wir hatten mit sehr großen Problemen mit dem Version Manager zu kämpfen.
Scheint noch sehr buggy zu sein. Unter anderem hat es dazu geführt, dass Inhalte nicht korrekt oder überhaupt nicht abgespeichert wurden beim Pflegen von Inhalten.
Teilweise gabs dann auch das Problem dass wir Rollbacks hatten die bereits geänderte Inhalte wieder auf einen früheren Stand zurück gesetzt haben.
Den Versionmanager für einzelne User zu deaktivieren bzw. überhaupt etwas diesbzgl einzustellen ist meines Wissens nach nicht möglich. Lasse mich gerne eines besseren belehren.
Um den Versionmanager und die einhergehenden Probleme zu beheben haben wir kurzerhand das Schreiben in den Log komplett deaktiviert.
Dafür einfach jede Zeile mit $this->writeAuditLog in vendor/shopware/core/Framework/DataAbstractionLayer/VersionManager.php auskommentieren (wir haben dafür ein eigenes Repo for den core)
Seither absolut keine Probleme mehr gehabt und die Datenbank wächst auch nicht mehr ins Bodenlose.
Ob das langfristig eine gute Idee war oder ist, kann ich nicht direkt sagen. Bisher haben wir keine Probleme feststellen können.
Wir hatten mit sehr großen Problemen mit dem Version Manager zu kämpfen.
Scheint noch sehr buggy zu sein. Unter anderem hat es dazu geführt, dass Inhalte nicht korrekt oder überhaupt nicht abgespeichert wurden beim Pflegen von Inhalten.
Teilweise gabs dann auch das Problem dass wir Rollbacks hatten die bereits geänderte Inhalte wieder auf einen früheren Stand zurück gesetzt haben.
Den Versionmanager für einzelne User zu deaktivieren bzw. überhaupt etwas diesbzgl einzustellen ist meines Wissens nach nicht möglich. Lasse mich gerne eines besseren belehren.
Um den Versionmanager und die einhergehenden Probleme zu beheben haben wir kurzerhand das Schreiben in den Log komplett deaktiviert.
Dafür einfach jede Zeile mit $this->writeAuditLog in vendor/shopware/core/Framework/DataAbstractionLayer/VersionManager.php auskommentieren (wir haben dafür ein eigenes Repo for den core)
Seither absolut keine Probleme mehr gehabt und die Datenbank wächst auch nicht mehr ins Bodenlose.
Ob das langfristig eine gute Idee war oder ist, kann ich nicht direkt sagen. Bisher haben wir keine Probleme feststellen können.
Danke für die Info.
Aus unserer natürlich keine gute Lösung im Core Zeilen auszukommentieren…
Du solltest dir ein Cronjob einrichten, der diese Tabelle leert
Alles klar danke für den Hinweis.
Wie sieht es aus mit den Foreign Keys der Version IDs anderer Repos (z.B. version_id in der product Tabelle)?
GIbt es dabei keine Probleme, wenn man Daten einfach aus der version_commit_data Tabelle löscht?