Willkommen in der Webstatt Zum Webstatt Blog und Stories
F4n4T!C F4n4T!C am 12.09.06 22: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)(bsp:Das 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)!

netcup.de Warum gibt es hier Werbung?
Sven Sven am 13.09.06 02: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.

milahu milahu am 13.09.06 12: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

F4n4T!C F4n4T!C am 13.09.06 17: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!!!!

Christian am 13.09.06 17: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?

F4n4T!C F4n4T!C am 13.09.06 21:36

Quote
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! :D :D

F4n4T!C F4n4T!C am 17.09.06 12:27

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

Franky Franky am 17.09.06 12:33

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


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

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt