Daten wiederhergestellter User rekonstruieren?

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
wannabeadmin
Mitglied
Beiträge: 16
Registriert: 08.01.2009 18:22

Daten wiederhergestellter User rekonstruieren?

Beitrag von wannabeadmin »

Hallo zusammen,

mit dem support toolkit habe ich in meinem alten Chemieforum ex-User, die sich wieder beteiligen wollten, mittels Support Toolkit 1.0.5 reanimiert. Das hat ganz gut geklappt.

Aber: Das Anmeldedatum das angezeigt wird, ist natürlich von heute und nun will ich von immerhin einigen -zig bis hundert Usern das Datum der Anmeldung (user_regdate) wieder auf das Datum ihres ersten Beitrags setzen. Wer neu dazukommt, sieht nämlich so nicht, wie lange ein User schon aktiv ist. Dieses Datum wird unter dem Avatar angezeigt. So soll es auch wieder sein, aber mit einem sinnvollen Datum und nicht eins das lange nach dem ersten Beitrag liegt.

Das ist eher ein SQL-Problem, Datenbankfummeleien auf elementarem Niveau machen mir nichts aus, aber ich habe keine Idee, wie ich die Befehlszeilen formulieren soll um allen Usern mit einem Wert von user_id größer als z.B. 770 (alle nach der Wiederherstellung) einen Wert für user_regdate zu verpassen, der dem wert von post_time ihres jeweils ersten beitrags entspricht.

Danke und Gruß
Wannabeadmin
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Daten wiederhergestellter User rekonstruieren?

Beitrag von Miriam »

Code: Alles auswählen

UPDATE phpbb_users SET user_regdate = (
SELECT min( post_time )
FROM phpbb_posts
WHERE user_id = poster_id
AND poster_id >770
) 
Hab's nicht getestet!
DB Sicherung VORHER nicht vergessen.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
wannabeadmin
Mitglied
Beiträge: 16
Registriert: 08.01.2009 18:22

Re: Daten wiederhergestellter User rekonstruieren?

Beitrag von wannabeadmin »

Jaaa :D
Das sieht plausibel aus und damit kann ich weiter arbeiten.
Herzlichen Dank!
wannabeadmin
wannabeadmin
Mitglied
Beiträge: 16
Registriert: 08.01.2009 18:22

Re: Daten wiederhergestellter User rekonstruieren?

Beitrag von wannabeadmin »

Da bin ich schon wieder ;)
Richtig funktioniert hat es nicht:
Nur die wiederhergestellten User wurden damit korrekt auf das richtige user_regdate gesetzt, alle anderen auf Null, als hättten sie sich am 1.1.1970 registriert.
Ich habe ein paar mal herumprobiert, aber immer ergebnislos.

Die Lösung: Die Tabelle runterladen und zusammensetzen aus dem richtgen Teil der ursprünglichen und der mit Deinem Skript "behandelten" Tabelle. dann alles wieder hochladen, eintragen per mysqldumper - fertig :)

Ist eine etwas rustikale Methode, aber immerhin .

Vielen Dank nochmal!

Wannabeadmin
Benutzeravatar
Nuramon
Mitglied
Beiträge: 250
Registriert: 05.02.2012 21:45
Wohnort: Solingen
Kontaktdaten:

Re: Daten wiederhergestellter User rekonstruieren?

Beitrag von Nuramon »

Probier es mal so:
UPDATE phpbb_users SET user_regdate = (
SELECT min( post_time )
FROM phpbb_posts
AND poster_id >770
)
WHERE user_id = poster_id
Das Pinke Forum
Das Pinke Forum - werde Teil einer freundlichen Community, die dir bei Fragen rund um Liebe, Sex, Ernährung, Schule oder bei Problemen aller Art zur Seite steht! Verfasse Beiträge, erstelle Threads und lern nette Leute kennen; kostenlos und toll betreut.
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Daten wiederhergestellter User rekonstruieren?

Beitrag von Miriam »

Mach es so:
  • Code: Alles auswählen

    UPDATE phpbb_users AS u LEFT JOIN (
    SELECT user_id, min( post_time ) AS first_post
    FROM phpbb_users, phpbb_posts
    WHERE user_regdate > post_time
    AND user_id = poster_id
    GROUP BY poster_id
    ) AS p ON u.user_id = p.user_id
    SET u.user_regdate = p.first_post
Jetzt werden alle Zeiten des ersten Posts als Reg.-Zeit der jeweiligen User benutzt, deren aktuelles Reg.-Datum nach dem ersten Post liegt.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
wannabeadmin
Mitglied
Beiträge: 16
Registriert: 08.01.2009 18:22

Re: Daten wiederhergestellter User rekonstruieren?

Beitrag von wannabeadmin »

Besten Dank nochmal.
Das ist ein sehr nützliches Tool für Forumsarchäologen ;)

Mir hat schon der erste Vorschlag geholfen, weil ich die Tabelle einfach "zu Fuß" zusammengesetzt habe.

Grüße vom
wannabeadmin
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Daten wiederhergestellter User rekonstruieren?

Beitrag von Miriam »

Mit SQL & php kann ja jeder :-P

Hatte es nur zu spät gesehen, als ich mit Tüfteln fertig war.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Antworten

Zurück zu „[3.0.x] Mod Support“