Seite 1 von 1
Anzahl Privater Nachrichten in Datenbank stimmt nicht
Verfasst: 30.03.2015 13:33
von PatrickS3
Hallo,
ich experimentiere gerade mit einer Konvertierung von phpBB3 zu WBB4.
Dabei ist mir aufgefallen, dass in der Datenbank wesentlich mehr Privaten nachrichten vorhanden sind, als im Frontend im Forum.
Beispiel: Ich habe im Forum ca. 200 PN, in der Datenbank sind mit meiner User ID aber weit über 400 PN vorhanden.
Dies ist aber nicht nur bei mir sondern auch bei anderen Usern so.
Und nein, ich lese keine fremden PN, die Info, dass andere User auch "zu viele" PN haben habe ich von eben diesen Usern.
Beispiel: Mein CoAdmin hat aktuellim Forum 33, im WBB4 dann 185. In der Datenbank hat er ebenfalls so viele.
Zum Einsatz kommt phpBB 3.0.13.
Hat jemand einen Tipp, wie man das aufräumen / korrigieren kann?
Patrick
Re: Anzahl Privater Nachrichten in Datenbank stimmt nicht
Verfasst: 30.03.2015 13:55
von Lehrling
Hallo,
in der Datenbank sind alle PNs, die du jemals geschrieben hast, gespeichert, also nicht nur die, die momentan bei dir im Posteingang oder einem Ordner liegen.
LG Beate
Re: Anzahl Privater Nachrichten in Datenbank stimmt nicht
Verfasst: 30.03.2015 14:16
von PatrickS3
Und warum werden gelöschte nicht auch in der Datenbank gelöscht?
Bei einer Konvertierung oder auch Wiederherstellung unter phpBB3 gibt das doch Probleme.
Wenn zum Beispiel die Größe des PN Ordners auf 150 PN eingestellt ist und 400 wieder hergestellt werden sollen, wie soll das gehen?
Re: Anzahl Privater Nachrichten in Datenbank stimmt nicht
Verfasst: 30.03.2015 14:40
von Lehrling
PatrickS3 hat geschrieben:Und warum werden gelöschte nicht auch in der Datenbank gelöscht?
Weil eine PN nicht nur Sache des Absenders, sondern auch Sache des Empfängers ist. Wenn du eine geschriebene PN löschst, bedeutet dies ja nicht, dass sie aus dem Posteingang des Empfängers verschwindet.
Bei einem Restore gibt es keine Probleme, denn es wird in der Datenbank auch abgespeichert, wo die PN lagert, bzw. ob sie von dir aus deinem Postfach gelöscht wurde oder nicht. Aber es ist tatsächlich so, dass sämtliche PNs, die jemals verschickt wurden, für immer und ewig in der Datenbank lagern.

Re: Anzahl Privater Nachrichten in Datenbank stimmt nicht
Verfasst: 30.03.2015 14:46
von PatrickS3
Ok, danke.
Re: Anzahl Privater Nachrichten in Datenbank stimmt nicht
Verfasst: 30.03.2015 15:53
von Talk19zehn
Hi,
Lehrling hat geschrieben:Aber es ist tatsächlich so, dass sämtliche PNs, die jemals verschickt wurden, für immer und ewig in der Datenbank lagern.
Nebenbei gefragt:

Die Tatsache habe ich zugegebenermaßen niemals kontrolliert. Greift ggf. jener Versuch einer *DB-Löschung und/oder ist *jener
DB-Vorgang via Befehl tatsächlich niemals möglich bzw. realistisch ausführbar? Hat sich die beschriebene Vorgehensweise gar geändert? Welcher-DB-Spezialist kann mir/uns/euch eine hilfreiche Antwort dahingehend geben. Ich würde mich sehr freuen!
BTW: Ich setze zudem eine DB-Sicherung vor dem Löschungsvorgang voraus.
Irritierte Grüße
Re: Anzahl Privater Nachrichten in Datenbank stimmt nicht
Verfasst: 30.03.2015 19:33
von PatrickS3
Die Privaten Nachrichten kann man problemlos löschen, indem man mit einem geeigneten Programm - phpmyadmin oder mysqldumper - einfach die beiden im anderen Thread genannten Tabellen leert.
Habe ich schon so durchgeführt, damit ich für eine Testumgebung nicht die ganzen großen Tabellen importieren muss.
Re: Anzahl Privater Nachrichten in Datenbank stimmt nicht
Verfasst: 06.05.2015 18:55
von gn#36
Dass die PNs für immer in der DB liegen stimmt so nicht. Die Funktion delete_pm kontrolliert bei jedem Löschen, nachdem die PN aus dem Ordner des jeweiligen Users entfernt wurde ob noch irgendjemand existiert, bei dem die PN in irgend einem Ordner liegt. Wenn nein, wird auch die PN selbst gelöscht.
Im Grunde so ähnlich wie Hard Links bei einem Dateisystem: Man kann die selbe Datei in beliebig viele Ordner legen und auch aus beliebig vielen wieder löschen ohne dass die Daten selbst mehr Speicherplatz verbrauchen, aber erst wenn man auch den letzten Hard Link auf die Datei löscht gibt das Dateisystem den belegten Speicher frei.