Webstatt.org - Community seit 2006 - 2012 (2024?)

Komplette Datenbank umwandeln!

Avatar user-177
12.09.2006 20:51

Hi Jungs ich hab ein großartiges problem! Also ich will eine Datenbank die von einen Forum Stammt komplett umarbeiten, so das sie ich sie in ein komplett anderes Forum einfügen kann.

Das gestaltet sich natürlich schwierig da die Datenbanken sich etwas unterscheiden.

Passt auf, bisherige Datenbank:
id - xxx (fortlaufende Nummer)(bsp:2)
poster - xxx (bsp:Maik)
poster_id - x (Festdefinierte Nummer) (bsp: 2)
poster_ip - XXX.XXX.XXX.XXX(Festdefinierte Nummer) (bsp: 84.179.167.251)
poster_email - NULL (Standart)
message - xxx (Festdefiniert) (bsp: Das ist unser neues Forum)
hide_smilies - 0 (Standart)
posted - xxx (Festdefinierte Nummer) (bsp:1129042547)
edited - NULL (Standart - gibst Ausnahmen)
edited_by - NULL (Standart - gibt Ausnahmen)
topic_id - x (spezifische Nummer) (bsp:2)

Der MySQL Befehl dazu:
INSERT INTO `forum_posts` VALUES (2, 'maik', 2, '84.179.167.251', NULL, 'Das ist unser neues Forum', 0, 1129042547, NULL, NULL, 2);

---------------------------------------------------------
So hier die neue DB:
postid - x (fortlaufende Nummer)(bsp:2)
parentpostid - 0 (standart)
threadid - x (definierte Zahl)(bsp:2)
userid - x (definierte zahl) (bsp:1)
username - xxx (bsp:Maik)
iconid - 0 (Standart, kann so bleiben, Funktion gibst in der anderne Datenbank nicht)
posttopic - (bleibt leer) (gibst in der anderen Datenbank nicht)
posttime - xxx (fest definiert)(bsp: 1129042547)
message - xxx (fest definiert)(bspFettes Grinsenas ist unser neues Forum)
attachmentid - 0 (Standart)
edittime - 0 (gibt Ausnahmen)
editorid - 0 (standart) (gibt aber auch ausnahmen)
editor - NULL (Standart) (gibst aber ausnahmen)
editcount - 0 oder 1 (mehr gibst nicht, da es in der anderen nicht mit gezählt wurde)
allowsmilies - 1 (Standart - ohne Ausnahmen)
showsignature - 1 (Standart - ohne Ausnahmen)
ipaddress - spezifisch (bsp. 84.179.167.251)
visible - 1 (Standart - ohne Ausnahmen)
reindex - 0 (Standart - ohne Ausnahmen)


Der MySQL befehl:
INSERT INTO `forum_posts` VALUES (2, 0, 2, 1, 'Maik', 0, '', 1129042547, 'Das ist unser neues Forum', 0, 0, 0, '', 0, 1, 1, '84.179.167.251', 1, 0);



Also ohne es jetzt erstmal auszuprobieren, ich würde mir jetzt die Alte Datenbank schnappen und erstmal alle Tabellen die mir bekannt sind so im Namen ändern das sie mit der neuen Datenbank übereinstimmen. Anschließend würde ich die Zellen die es in der neuen gibt, aber in der alten nicht, in die alte Extra eintragen und mit einen Standartwert belegen! Das ganze noch alles in die Richtige Reihenfolge bringen und das ganze als Code Exportieren und in die neue Importieren.

Was meint ihr? Flieg ich damit uff de Fresse oder würde das gut gehen?
Es geht hierbei um eine umwandlung vom punBB (Forensofware version 1.2.12) in das wbb Lite (Forensoftware version 1.1)!

Avatar user-317
13.09.2006 00:11

Google mal nach entsprechenden Script, ich glaube da gibt es schon was.
Ich hatte mal die Aufgabe, die komplette User- und Threaddatenbank vom THWB in ein IPB zu kopieren. Da habe ich erstmal ein paar Testeinträge gemacht, damit ich sehe, was ich für neue Felder als Standardwert nehmen kann.

Avatar user-255
13.09.2006 10:47

> Also ohne es jetzt erstmal auszuprobieren, ich würde mir jetzt die Alte Datenbank schnappen und erstmal
> alle Tabellen die mir bekannt sind so im Namen ändern das sie mit der neuen Datenbank übereinstimmen.

Ungeschickt. Besser isses, die Daten mit nem Skript zu konvertieren, d.h. eine neue DB anlegen und die
einzelnen Tabellen und Datensätze dort mit neuem Layout ablegen.

Sven, ich konnte keinen PunBB nach WBB Konvertierer finden :S

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
Avatar user-177
13.09.2006 15:07

mhhh Jo, langsam blick ich da durch.
Mirg gehts ja im Endeeffekt nur um die threads und die Postings dazu, mehr will ich ja nicht, *fg* sind aber leider die größten Tabellen *fg*

Nun gut ich schätze mal meine Vorgehensweise so...! Ich werde also ne nue Tabelle erstellen namens forum_posts. In diese werde ich genau diese Spalten einfügen die ich für die neue Datenbank brauch, aber wie sag ich jetzt genau der Datenbank das sie diese Inhalte in diese neuen Spalten schiebt? Ich muss die alten Inhalte ja erstmal einzeln irgendwie herausfiltern!!!!

user-150
13.09.2006 15:37

Hm, ich hab leider keine Ahnung, aber für meine Logik müsste es doch klappen, wenn man

a, alle Datensätze ausliest
b, mit ner dollen schleife in die neue tabelle schreibt

mit php halt

oder wo liegt das problem?

Mehr schlaue Sprüche gibt es auf: anotherstyle.de Psicologia
Avatar user-177
13.09.2006 19:36

Original von Sucker
mit php halt


Mhh, das kann ich mit PHP nicht, wäre aber denkbar einfach!!!!!
Ich hätte ne Lösung mit PHPmyADMIN gesucht! Fettes Grinsen Fettes Grinsen

Avatar user-177
17.09.2006 10:27

Kann mir da keiner helfen? Wie ich das am einfachsten mit PHP Auslese und neu einlese????

Avatar user-182
17.09.2006 10:33

<?
$sql = mysql_query('SELECT <auslesen aus alten tabellen, ambesten schon mit ORDER BY usw. sortrieren>'zwinkern;
while($row = mysql_fetch_array($sql)){
mysql_query('INSERT INTO <neue tabelle vom wbblite>'zwinkern;
}
?>


mach einfach backups und wenn was falsch läuft, einfach erneut die tabelle löschen und das backup einspielen und nochmal anders versuchen.

für faule gibts auch noch die möglichkeit, einfach 25€ fürs wbb2 auszugeben. meistens gibts auch iwelche converter zum wbb2 (net lite!)

frag einfach ma in diesem Forum nach: http://woltlab.de/de/forum/board.php?boardid=59

Seid ihr auch schon wix'r? xD