Oxremark tabelle löschen/leeren

Hallo an alle,

kann man die tabelle “oxremark” bedenkenlos immer (wieder) leeren? Das problem ist dass die tabelle mittlerweile eine größe von 4 GB hat. Beim sichern ist es noch nicht so tragisch aber beim einspielen eines db-dumbs dauert das ganze dann schon mal locker ein paar stunden. Zeit die man beim testen nicht hat und bei einem notfall schon mal garnicht.

Soweit ich weiß sind dort nur die mitteilungen der bestellungen gespeichert. Daher sollte es kein problem darstellen?!

Grüße

Warum ausgerechnet so viel in die remarks gespeichert wird, weiß ich auch nicht.
Allerdings sagte ein community Mitglied in einem anderen forum, dass die Bestellungen in der Bestellhistorie nicht mehr angezeigt werden, wenn oxremark dazu fehlt.
Du könntest eine Testbestellung machen und dann deren remark löschen, um es zu testen.

@gajel : danke für den Tipp - die oxremark in einem Projekt hat auch schon viele MBs :slight_smile:
@vanilla : hier ist sicher die Bestellhistorie im Kundenkonto (frontend) gemeint?
-> kann man ja die Einträge der letzten 12 Monate beibehalten …

-> schreibe gerade ein modul, das Einträge automatisch löscht wenn admin sich anmeldet
-> erweitert oxuser->login() :

function login($sUser, $sPassword, $blCookie = false) {
if ($this->isAdmin()) {
$myConfig = $this->getConfig();
$oDb = oxDb::getDb();

  $iCleanUpDays = $myConfig->getConfigParam( 'iCleanUpDays' );
	if ($iCleanUpDays > 0) {
	  $iCleanUpDate = date('Y-m-d', time() - ($iCleanUpDays * 86400)); 
      $sSql = "delete from oxremark where oxremark.oxcreate < '$iCleanUpDate' ";
	  $oDb->execute($sSql);
	  } 
  	}
return parent::login($sUser, $sPassword, $blCookie);

}

habe das ganze mal in ein Modul gepackt
Default Einstellungen:

  • Bestellungen in oxremark älter als 365 Tage löschen
  • Newsletter älter als 7 Tage löschen
  • Bemerkungen älter als 3 Tage löschen
    Anmerkung: beim Aktivieren des Moduls wird auch ein Index in oxremark auf oxcreate erstellt - notwendig bei sehr grosser Tabelle oxremark!

Super, danke für das modul. :slight_smile:

Ich habe zum test trotzdem mal 5 bestellungen in der tabelle gelöscht und sie erscheinen nach wie vor in meiner bestellübersicht ohne jeglichen fehler. Ich bin wirklich kurz davor die ganze tabelle zu leeren und anschliessend die tabelle mehr oder weniger leer zu halten.

Das wären eben mal knappe 4 GB + (1,5 GB von der oxlogs) weniger von einer 6,5 GB großen datenbank. Die datenbank würde von 6,5 auf 1 GB schrumpfen. Schon witzig irgend wie und für das dumpen und wieder einspielen natürlich extrem von vorteil…

Grüße

wie schon im Beitrag #3 vermutet: wenn in der oxremark keine Bestellungen mehr vorhanden sind wird auch dem Kunden im Kundenkonto (frontend) nicht mehr angezeigt.
-> deshalb lasse ich diese Einträge ein Jahr drin

manche Newsletterprogramme greifen auf die oxremark zu um sicherzustellen dass der Kunde nicht 2 Newsletter am gleichen Tag bekommt -> muss man prüfen …

Cool. @patchwork, gibt’s einen Grund, das Modul nicht auf GitHub zu stellen? Dort könnte man ggf. auch eine Lizenz angeben :wink:

Gruß

@marco, ich bin da zu doof zu :o
wenn Du magst, kannst Du es gerne hochladen

[QUOTE=patchwork.de;181842]@marco, ich bin da zu doof zu :o[/QUOTE]
Bist Du nicht :slight_smile:
Wenn Du Lust hast, kann ich Dir das mal in einer Privatsession zeigen.

[QUOTE=patchwork.de;181842]wenn Du magst, kannst Du es gerne hochladen[/QUOTE]
https://github.com/OXIDprojects/cleanup_oxremark - steht jetzt natürlich mit meinem Namen da…

Gruß

many thanks !

[QUOTE=patchwork.de;181834]wie schon im Beitrag #3 vermutet: wenn in der oxremark keine Bestellungen mehr vorhanden sind wird auch dem Kunden im Kundenkonto (frontend) nicht mehr angezeigt.[/QUOTE]

Wie gesagt, ich habe einige Bestellungen in der Tabelle gelöscht und in dem entsprechendem Kundenkonto (frontend) waren die alten/alle Bestellungen noch ganz normal zu sehen.

Oder liegt hier die Betonung auf “wenn in der oxremark [B]keine[/B] Bestellungen”?! Also wenn wirklich alle Bestellungen von einem Kunden gelöscht werden.

Ich teste das noch mal …

Grüße

[QUOTE=gajel;181850]Wie gesagt, ich habe einige Bestellungen in der Tabelle gelöscht und in dem entsprechendem Kundenkonto (frontend) waren die alten/alle Bestellungen noch ganz normal zu sehen. [/QUOTE]
scheinbar liefert die Tabelle nur die Infos für den Reiter ‘Historie’ in Bestellungen / Kunden im Backend - habs gerade auch noch mal getestet