Seite 1 von 1

Import über Textdatei (Datenbank nicht verfügbar)

Verfasst: 13.02.2017 01:26
von Balu1
phpBB Version 3.2

Hallo liebe Gemeinde,
ich habe folgendes Problem.
Das Forum liegt bei einem Forenhoster, der Inhaber ist nicht mehr erreichbar. Also kein Datenbankbackup oder ähnliches.
Nun müssen alle Beiträge mit der Hand am Arm kopiert und in das neue Forum eingefügt werden. Ist nicht so toll.
Wie kann ich die kopierten Daten in die Datenbank kopieren?
Ich muss importieren:
  • Forumnamen
  • Datum
  • Uhrzeit
  • Benutzernamen
  • Textinhalt
Wenn ich die Daten kopiere (über den Browser) in einen Editor einfüge, dann alles Überflüssige lösche. Entsprechend aufarbeite müsste ich die Daten doch in die Datenbank importieren können.
Die oben genannten Felder bekomme ich ja noch über die Datenbank heraus. Wobei, wenn mir jemand die Tabellennamen sagen kann, gerne.
Was muss ich aber noch beachten.
Über Tips wäre ich dankbar
Liebe Grüße
Balu

Re: Import über Textdatei (Datenbank nicht verfügbar)

Verfasst: 13.02.2017 08:29
von Mahony
Hallo
Warum willst du das unbedingt über die Datenbank machen? Das macht ja noch mehr Arbeit, als wenn Du das direkt über die Forenfunktionen machst.

Ich würde das so machen:

1. Die entsprechenden Kategorien anlegen.
2. Die entsprechenden Foren anlegen.
3. Alle Benutzer anlegen, die Beiträge im alten Forum verfasst haben.
4. Die Themen und Beiträge im Forum anlegen.
5. Die Beiträge den Benutzern zuordnen (das geht über die Moderatorenfunktionen - Moderations-Bereich --> Beitrags-Details --> Ändere Autor).
6. Die Uhrzeiten der Beiträge ändern. Das kannst du in deiner Datenbank unter der Tabelle phpbb_posts in der Spalte post_time ändern. Hier kannst du die Zeit umwandeln. Den ausgegeben Wert trägst Du dann in der Spalte post_time ein.
Das kannst Du aber auch über eine Extension machen --> https://www.phpbb.com/customise/db/exte ... post_time/ <-- Die deutsche Sprachdatei dafür findest Du hier https://www.phpbb.com/customise/db/exte ... pic/156371

Grüße: Mahony

Re: Import über Textdatei (Datenbank nicht verfügbar)

Verfasst: 13.02.2017 17:10
von Joyce&Luna
Hallo Balu

Aus deinem alten Forum (ich weiß wo du bist) würde ich gar keine Tabellen übertragen, die Fehler sind dort auch weiterhin vorhanden.
So viel ich weiß hast du kein Backup von deinem Forum es sei denn du hast es beantragt und er hat es Frei geschaltet.

So kann ich dir nur empfehlen was schon Mahony dir geschrieben hat. Das ist die einzige Möglichkeit.
Trommel dir einfach ein paar fleißige Helfer aus deinem Forum zusammen und dann klappt das ganze auch zügig.
So kannst du direkt auch ausmisten.

Anke

Re: Import über Textdatei (Datenbank nicht verfügbar)

Verfasst: 13.02.2017 22:36
von Balu1
Danke für die Antworten.
Neues Forum ist angelegt.
Kategorien, Foren und Unterforen sind angelegt
Alle User sind angelegt.
Beiträge fehlen.
Ich hatte mir das etwa so gedacht:
  1. Alle Beiträge einer Seite kopieren.
    Nun habe ich alle Beiträge mit Datum, Uhrzeit und Benutzer in einer Textdatei.
  2. Über Suchen und Ersetzen die Daten bereinigen
  3. Ebenfalls über Suchen und Ersetzen die Tabellennamen für die Datenbank an die "richtigen" Stellen eintragen.
  4. Per Mysql in die Datenbank importieren.
Wenn ich alle benötigten Tabellen mit ihren Voraussetzungen kenne, sollte das eigentlich schneller gehen, als alles per Hand zu kopieren.
Wenn ich die Voraussetzungen selbst zusammensuchen und ausprobieren muss, ist das kopieren per Hand vermutlich wirklich schneller.
Also werden wir wohl weiter kopieren.
@Mahony Danke für den Tip, die Extension habe ich schon gefunden und auch installiert.
Liebe Grüße
Balu

Re: Import über Textdatei (Datenbank nicht verfügbar)

Verfasst: 13.02.2017 23:14
von Mahony
Hallo
Du stellst dir das etwas zu einfach vor, denn die Daten müssen ja auch erst für den Import in die Datenbank vorbereitet werden.

Beispiel für einen Themen-Eintrag:

Code: Alles auswählen

INSERT INTO `phpbb_topics` (`topic_id`,`forum_id`,`icon_id`,`topic_attachment`,`topic_reported`,`topic_title`,`topic_poster`,`topic_time`,`topic_time_limit`,`topic_views`,`topic_status`,`topic_type`,`topic_first_post_id`,`topic_first_poster_name`,`topic_first_poster_colour`,`topic_last_post_id`,`topic_last_poster_id`,`topic_last_poster_name`,`topic_last_poster_colour`,`topic_last_post_subject`,`topic_last_post_time`,`topic_last_view_time`,`topic_moved_id`,`topic_bumped`,`topic_bumper`,`poll_title`,`poll_start`,`poll_length`,`poll_max_options`,`poll_last_vote`,`poll_vote_change`,`topic_visibility`,`topic_delete_time`,`topic_delete_reason`,`topic_delete_user`,`topic_posts_approved`,`topic_posts_unapproved`,`topic_posts_softdeleted`,`topic_prefix`) VALUES ('735','31','0','0','0','neues Passwort per phpmyadmin','2','1485038637','0','16','0','0','4624','Mahony','AA0000','4624','2','Mahony','AA0000','neues Passwort per phpmyadmin','1485038637','1486658092','0','0','0','','0','0','1','0','0','1','0','','0','1','0','0','Tipp');
und der Beitrag dazu

Code: Alles auswählen

INSERT INTO `phpbb_posts` (`post_id`,`topic_id`,`forum_id`,`poster_id`,`icon_id`,`poster_ip`,`post_time`,`post_reported`,`enable_bbcode`,`enable_smilies`,`enable_magic_url`,`enable_sig`,`post_username`,`post_subject`,`post_text`,`post_checksum`,`post_attachment`,`bbcode_bitfield`,`bbcode_uid`,`post_postcount`,`post_edit_time`,`post_edit_reason`,`post_edit_user`,`post_edit_count`,`post_edit_locked`,`post_visibility`,`post_delete_time`,`post_delete_reason`,`post_delete_user`) VALUES ('4624','735','31','2','0','xxx.xxx.xx.xxx','1485038637','0','1','1','1','1','','neues Passwort per phpmyadmin','Hallo\nWill man sein Passwort in [b:2ctg2oi2]phpBB3.1.x[/b:2ctg2oi2] ändern und hat keinen Zugriff auf sein ACP (weil das Passwort vergessen wurde, der alte Admin verschollen ist und man nur noch das Backup hat u.s.w...), kann man mit folgendem SQL Befehl sein Passwort ändern.\n\n[code:2ctg2oi2]UPDATE phpbb_users SET user_password = MD5( \'<mein_Passwort>\' ) WHERE username = \'<mein_nickname>\';[/code:2ctg2oi2]\n[b:2ctg2oi2]<mein_Passwort>[/b:2ctg2oi2] und [b:2ctg2oi2]<mein_nickname>[/b:2ctg2oi2] sind natürlich entsprechend zu ersetzen.\n\nGrüße: Mahony','59e087fbda91ff568b4093521a52c453','0','QIA=','2ctg2oi2','1','0','','0','0','0','1','0','','0');
Du musst für jedes Thema mindestens eine einmalige topic_id und eine forum_id angeben und du kannst den Text nicht unbedingt im Klartext angeben (für einen Absatz musst du z.B. \n angeben). Bei den Beiträgen musst Du mindestens eine eindeutige post_id, topic_id und forum_id angeben und die (topic_id und forum_id) müssen auch mit der topic_id und forum_id aus der Themen-Tabelle (phpbb_topics) übereinstimmen. Dann gibt es noch die Tabelle phpbb_forums in welcher die Kategorien und Foren stehen, in denen die Themen und Beiträge verlinkt sind.

Du siehst also: Das kopieren direkt ins Forum kostet dich garantiert weniger Zeit, als wenn du die Daten versuchst per SQL-Befehl einzulesen denn das Aufbereiten der Daten dauert da eine kleine Ewigkeit und der kleinste Fehler in der aufbereiteten Datei wird zu einem Abbruch des Einlesens per SQL-Befehl führen.

Grüße: Mahony

Re: Import über Textdatei (Datenbank nicht verfügbar)

Verfasst: 17.02.2017 23:14
von Balu1
@Mahony
nachdem ich einen mysql-dump gemacht habe, und mir die Datensätze angesehen habe, war mir die Problematik auch klar.
Ich komme aus dem Bereich der nichtrelationale Datenbank, sprich dokumentenorientierten Datenbank. (Lotus Domino).
Da ist die Umstellung nicht ganz einfach, in jeder Hinsicht. Aber man muss sich ja weiterentwickeln :lol:
Ich denke, mit der Unterstützung hier im Forum werde ich im laufe der Zeit auch mit mysql und was es sonst noch gibt klar kommen.
Sicherlich werde ich noch viele Fragen stellen müssen, hoffentlich irgendwann auch Antworten auf Fragen geben können.
Einen lieben Gruß
Balu