Zusammenlegung 2er aktiver phpBBs

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
Buckaroo Banzai
Mitglied
Beiträge: 10
Registriert: 17.06.2004 16:45
Kontaktdaten:

Zusammenlegung 2er aktiver phpBBs

Beitrag von Buckaroo Banzai »

Hallo Leute,

hat jemand schon mal zwei "aktive" phpBB 2.0.x in eines zusammengeführt? Also mit sämtlichen Beiträgen, Usern, Topics, Posts, etc.?

Ich versuche gerade den Aufwand zu bestimmen, falls es keine Scripts oder kleinere Tools dafür geben sollte.

Ausgangssituation:

Forum A, phpBB 2.0.6 (keine oder ganz wenige kleine MODs)
ca. 800 User und viele Beiträge
DB und Programmfiles auf Web-Hoster A

Forum B, phpBB 2.0.8a (wenige kleinere überschaubare MODs)
ca. 300 User und einige Beiträge
DB und Programmfiles auf Web-Hoster B

Es existieren in Forum A User, die auch in Forum B registriert sind.
Somit unterschiedliche User-IDs vorweisen.

Die User-Daten zusammenzuführen stellt meiner Meinung nach einen einfacheren Schritt dar, als die Beiträge.

Soll heißen:
1) Vergleich der Usertabelle auf doppelte/gleiche Usereinträge.
2) Doppelte User merken, ID-A und ID-B und entscheiden welcher überleben darf ;-) Tote ID puffern (wegen PNs und Beiträge des "toten" Users)
3) User in eines der Foren übernehmen, neue IDs vergeben, alte ID puffern (wegen PNs und Beiträge)

Bei den Topics und Beiträgen sähe das etwas umfangreicher aus.
Topic-Ersteller Alt-ID > Neu-ID
Beitrag-Ersteller Alt-ID > Neu ID
usw.
usw.

Wenn sowas schon mal von jemanden durchgeführt wurde, würde mich freuen, wenn er mir ein paar Tips geben könnte. Ansonsten, wäre das
nicht eine Herausforderung für einen Migrations-MOD, wie gesagt, falls es noch keinen geben sollte ;-)
Bei mir würde das verdammt lange dauern, sowas zu coden, da ich mir die ein oder anderen SQL Queries und PHP Routinen erst anlernen müßte. Aber probieren würde ich's schon.

Gruß
Jürgen
Benutzeravatar
Mungo
Administrator
Administrator
Beiträge: 6613
Registriert: 03.05.2003 19:34

Beitrag von Mungo »

Hier gibts ein Script: http://www.phpbb.de/viewtopic.php?p=301080#301080
Jedoch weiß ich nicht, ob es schon einmal erfolgreich getestet wurde. Einfach mal testen. Vorher halt von beiden Foren ein Backup machen.

Ansonsten musst du es von Hand machen. Hier im Forum gibts aber schon eine Menge Posts dazu. Die Datenbankdoku sollte auch ganz nützlich sein.
Benutzeravatar
D@ve
Ehemaliges Teammitglied
Beiträge: 3842
Registriert: 28.08.2002 19:33
Wohnort: Bretzfeld
Kontaktdaten:

Beitrag von D@ve »

Hmm ich hab mal drüber nachgedacht da so ein kleines Script für zu schreiben habs dann aber wiede gelassen, da es wahrscheinlich keiner Braucht...

Also ich würde so vorgehen:
Quellboard: Von dem die User und Beiträge exportiert werden
Zielboard: Board in das die User Beiträge importiert werden

Die Änderungen würde ich erstmal komplett im Quellboard machen, schauen ob alles läuft und dann einen Dump machen. Zudem würde ich die Foren und Kategorien erstmal komplett rüberziehen und die Posts dann gegebenenfalls im ACP von Hand kopieren:

- erstmal beide Boards einfrieren und Backups machen (wenn irgendwas schief geht hast Du sonst ein Problem)
- Im Zielboard die höchste User-ID ermitteln und im Quellboard alle User-IDs um diesen Wert ehöhen (sicherheitshalber noch einen Puffer einbauen)
- Das macht man mit allen Tabellen-Feldern wo die User-ID vorkommt (imo users, topics, posts, vote_results, vote_voters)
- das wiederholt man nun mit post_ids, topic_ids, forum_ids, cat_ids und vote_ids
- optional kann man das natürlich noch Gruppen Privaten Nachrichten und dergleichen machen würde ich aber lieber im neuen Board einfach neu anlegen bzw. drauf verzichten.
- nun würde ich erstmal testen ob das Quellboard noch funktioniert und ob noch alles am richtigen Platz ist (Foren in der richtigen Kategorie, Beiträge im richtigen Forum etc). Da die IDs nicht fortlaufend sein müssen sollte noch alles funktionieren. Man sollte allerdings auf keinen fall irgendwelche Operation vornehmen die die DB verändern (User anlegen, neue Posts schreiben etc.)
- Nun macht man einen Dump (OHNE Drop- und Create-Tables) von den veränderten Tabellen (categories, forums, posts, posts_text, topics, users; vote_desc, vote_results, vote_voters)
- den Dump fügt man nun einfach im neuen Forum ein
- nun muss man nur die Doppelten Usernamen löschen. Hier würde ich so vorgehen, dass einfach doppelte Namen mit einem Index (zB Dave_1, Dave_2, Dave_3 etc) versehen werden (wer den "echten" Namen bekommt würde ich anhand des Anmeldungsdatum bestimmen) die User mit doppelten Namen können sich dann halt in einer Übergangsphase einen andern Namen aussuchen...

Gruß, Dave

Edit: @Mungo: Na toll, hättest Du nicht zehn Minuten früher posten können, dann hätte ich mir das sparen können :D
There are only 10 types of people in the world: Those who understand binary, and those who don't
Benutzeravatar
Mungo
Administrator
Administrator
Beiträge: 6613
Registriert: 03.05.2003 19:34

Beitrag von Mungo »

Sorry :D ;-)
Benutzeravatar
Buckaroo Banzai
Mitglied
Beiträge: 10
Registriert: 17.06.2004 16:45
Kontaktdaten:

Beitrag von Buckaroo Banzai »

Hi Mungo,
Hi D@ve,

danke für die Tips und den Link zu dem Script.

Ich werd mich mal dran machen und es Lokal mit zwei Boards testen und ggf. das Script anpassen/erweitern (mit Erlaubnis von QCO) :wink:

Bei meiner geschilderten Ausgangssituation habe ich einen kleinen Punkt vergessen zu erwähnen, der das ganze noch kniffliger macht :D

Die Kategorien und Foren in Forum A sind nicht die gleichen wie in Forum B. Läßt sich aber vorher zu 80% anpassen. Aber der Schritt 1, mit hochsetzen der entsprechenden User-/Topic/Post IDs im Quellforum ist eine gute Idee. Und erst danach die Daten von Quell nach Ziel Forum schieben.

Wer dann mal berichten wies läuft. Kann aber was dauern, da ich im Moment nicht allzu viel Zeit habe und nach dem Prinzip, Langsam ernährt sich das Eichhörnchen Schritt für Schritt diese Migration vorantreibe.


Gruß
Jürgen
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“