Seite 1 von 2
Wie Beiträge eines einzelnen Users restoren ?
Verfasst: 20.09.2008 21:21
von v800290
Moin zusammen...
Ein nicht ganz so netter Ex-User hat sich die Arbeit gemacht, und in langer kleinarbeit alle seine Beiträge gelöscht (Editiert und durch "..." ersetzt), was natürlich jetzt alle Diskussionen unverständlich macht...
Jetzt würde ich gern diese aus dem Backup des Vortages wiederherstellen...aber nur seine...
Müste ja mit nem Select-Statement gehen...ich bekomme das mit meinen rudimentären SQL-Kenntnissen nur nciht auf die Kette, alle Beiträge des Users mit der User_ID 1699 zu exportieren und im Live-System zu importieren...
Kann mir da einer hier weiterhelfen?
Phpbb2....
Zur Not kann ich ja aus Datenschutzrechtlichen Gründen nachträglich dann den User löschen (aktuell nur deaktiviert) und beibehaltung der Postings...
v800290
Verfasst: 20.09.2008 21:43
von Miriam
Hm, ... der User hat ja nur von seiner "boardgegebenen" Möglichkeit gebrauch gemacht, seine eigenen Beiträge zu editieren. Ist zwar irgendwie doof und reißt die Themen auseinander...
Aber es ist sein/ihr Wille.
Du hast Dein erstes Posting doch auch gerade gelöscht

*nur mal so nebenbei bemerkt*
Verfasst: 21.09.2008 11:25
von v800290
.....weil´s in der falschen Rubrik war....
ich hab ja schon geschrieben, das ich den Autor nachträglih dann unkenntlich machen würde...
Aber ungeachtet einer Grundsatzdiskussion:
Geht das (ich meine ja!) und wenn ja, dann wie?
Peter
Verfasst: 21.09.2008 11:35
von gloriosa
Hallo,
Du solltest ja regelmäßige Backup's der Datenbank haben. Das Letzte, bevor der User anfing seine Kommentare zu editieren, nimmst Du und spielst es in eine lokale phpBB-Installation (z.B. auf einem
XAMPP ) ein (siehe auch dazu >>> KB:umzug <<< ) und wenn Du das Board lokal am Laufen hast kannst Du händisch die reduzierten Mitteilungen ersetzen bzw. wiederherstellen.
Vorher musst Du jedoch den betreffenden User deaktivieren.

Verfasst: 21.09.2008 14:15
von Miriam
Oder so:
*Backup nicht vergessen*
Vorauss.: Dein Tabellenpräfix lautet
phpbb_.
- - das Board deaktivieren
- aktuelle phpbb_posts_text sichern (also die des laufenden Boards) und abspeichern !!!Sicherung mit vollständigen und FEHLEÜBERGREIFENDEN INSERTS durchführen!!! (also INSERT IGNORE INTO ....)
- das alte Backup der DB (z.B. lokal) installieren
- die Tabelle phpbb_posts_text lokal (des alten Backups) sichern und abspeichern
- die Tabelle phpbb_posts_text des aktuellen Boards leeren.
- das lokal gemachte Backup der Tabelle phpbb_posts_text (des ehemaligen Backups) in der DB des aktuellen Boards restoren.
- das Backup des Tabelle phpbb_posts_text des aktuellen Boards (das mit den fehlerübergreifenden Inserts) auch in der aktuellen DB restoren.
- Board aktivieren
fertig
Verfasst: 21.09.2008 18:30
von v800290
Nö....
Das brächte mich auf den Stand vom Backup....aber bei allen Usern...
Ich will nur die posts des einen Users restoren, dabei aber nicht die (z.B. nachträglich geänderten) Texte anderer User beeinflussen...
Ich dachte da ein ein "such mir aus phpbb_posts alle posts_id raus, wo poster_id = 1699 und exportiere alle Einträge der phpbb_Posts_text , bei denen phpbb_posts_text.post_id = phpbb_posts.post_id
Den Rotz importier ich dann und gut iss....
Aber ich kann leider kein Ausländisch (in dem Fall SQL)
v800290
Verfasst: 21.09.2008 18:48
von gloriosa
Hallo,
deshalb
v800290 hat geschrieben:Aber ich kann leider kein Ausländisch (in dem Fall SQL)
habe ich oben die händische Variante via
Cut & Paste beschrieben !

Verfasst: 21.09.2008 20:26
von Miriam
Restore das alte Backup (also das mit den zurückzuspielenden Daten) in die Tabellen <Tabellenpräfix>posts_text_alt und <Tabellenpräfix>posts_alt in der selben DB....
Dann lade die
verlinkte Datei herunter und passe die User_ID an. Hochladen und ausführen. Datei wieder löschen und fertig.
Verfasst: 21.09.2008 20:43
von S2B
Gib in phpMyAdmin
ein und exportiere das (Link ist unter der Ergebnisanzeige). Das gleiche machst du mit
Code: Alles auswählen
SELECT pt.* FROM phpbb_posts_text pt, phpbb_posts p WHERE p.post_id = pt.post_id AND p.poster_id = <ID>
Das ganze importierst du in das aktuelle Board.
Wie schon mehrfach gesagt, solltest du vorher auf jeden Fall ein Backup machen! Außerdem musst du alle Themen synchronisieren (MOD:maintenance).
Verfasst: 21.09.2008 21:53
von Miriam
Den Sinn des ersten SELECTs sehe ich gerade nicht.
Und welche Export-Option würdest Du für den Dump bevorzugen? Angeboten werden (bspw. bei mir):
- CSV-Daten
CSV-Daten für MS Excel
Microsoft Excel 2000
Microsoft Word 2000
LaTeX
Open Document Kalkulationstabelle
Open Document Text
PDF
XML