Seite 1 von 1

Zusammenführen zweier Datenbestände

Verfasst: 31.12.2005 23:22
von Martin Truckenbrodt
Hallo,
ich habe zwei Datenbestände für ein phpBB Forum.
Mit einem Portal MOD bzw. dessen Deinstallation hatte ich mir ein Forum vor etwa einem Jahr zerschossen. Daraufhin habe ich das Forum komplett neu installiert und von vorne gestartet sprich ich habe keine Daten übernommen.
Im letzten Jahr habe ich Einiges über phpBB gelernt und so heute die alten Tabellen aufgeräumt und möchte nun die zwei Datenbestände zusammenführen.

Nachtrag: Es sind keine MODs installiert, die Veränderungen an der Datenbank bzw. den Tabellen vornehmen. Ich habe beide Datenbestände momentan in zwei getrennten Foren installiert, einmal produktiv und einmal Testumgebung.

Gibt es hierfür ein Script?

Danke und Gruß Martin

Verfasst: 01.01.2006 10:25
von Martin Truckenbrodt
Hallo,
ich stehe nicht unter Zeitdruck und werde wohl ein Skript schreiben.
Folgende Schritte habe ich mir überlegt:
  • 1. Hinweis auf Voraussetzungen!
    1.1 Beide phpBBs in selber Datenbank installiert
    1.2 DB Maintenance installiert
    1.3 Backup durchgeführt
    2. Eingeben der table prefixes – parent (alter Datenbestand) und child (neuer Datenbestand) ), Startbutton Ja (Deaktivieren beider Foren) – Nein (Abbruch des Skripts)
    3. Forumstruktur
    3.1 Auslesen beider phpbb_forums Tabellen
    3.2 Darstellen gleicher forum_names und Eingabebestätigung anfordern
    3.3 Schreiben eines Arrays mit den neuen forum_ids und cat_ids für Foren aus dem child phpBB
    3.4 Hinzufügen nicht übereinstimmender Foren in eine neue Kategorie in die phpbb_forums des parent phpBB
    4. Auslesen der phpbb_users Tabellen
    4.1 Nachschauen, ob im parent phpBB schon ein User mit gleicher user_email existiert
    4.2 Nachschauen, ob im parent phpBB schon ein User mit gleichem username existiert, wenn ja Anzeigen und Eingabebestätigung anfordern
    4.3 Schreiben eines Arrays mit den neuen user_ids für die User aus dem child phpBB
    4.4 Schreiben der neu hinzukommenden User und Überschreiben bereits vorhandener User in die phpbb_users des parent phpBB
    5. Ermitteln der höchsten topic_id (und der höchsten post_id ???) aus dem parent phpBB
    6. Umzug der Beiträge
    7. Hinweis auf weitere notwendige Schritte
    7.1 Ändern der config.php oder alternativ Umbenennen der Tabellen
    7.2 Ausführen der DB Maintenance
    7.3 Aktivieren des Forums
Ich bin für jedes Feedback dankbar!

Gruß Martin

Verfasst: 01.01.2006 11:42
von Fennias Maxim
Sicherlich ein brauchbares script.

Ich würd mir alle tabellen als csv ins exel holcen und die beiden tabellen die jeweils gemergt werden sollen in ein Arbeitsblatt. Mit den User_id etc wird das ja einfach aber es gibt sicher auch ne funktion die dir anzeigt ob was doppelt vorkommt. Wie z.B. Username und Emailadresse etc.

Da fällt mir ein, wenn du die alten topics in die bei ihnen angegebenen Foren speicherst könnte das zu einem heillosen durcheinander führen. Daher sollte es ein neues "resurection" Forum geben in dem erstmal alle Topics gespeichert werdne und dann manuell verschoben werden, es sei denn das der allte Forenname mit dem neuen überinstimmt.