Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.15 veröffentlicht (16.03.18)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Forenumzug
#1
Hallo,

ich habe vom alten Forenbetreiber eine Textdatei mit allen Usern bekommen. Username, Mailadresse etc.
Könnte ich jetzt nicht die Spalten in der Textdatei anpassen, wie sie in der MyBB DB unter mybb_users stehen (uid,username,email und anschließend das Textfile über phpMyAdmin importieren?

Dann müssten doch alle User wieder hinterlegt sein, außer das PW, dass müßte der User dann zurücksetzen lassen.

Das gleiche dann noch für Thema (mybb_posts)  und Beiträge (mybb_threads)?
Zitieren
#2
1. In welcher Form liegt diese Datei genau vor?
Falls die aus einem alten Forum stammt, könnte es auch ein Export aus der alten Datenbank sein. Dann könnte man die Felder und Inhalte anpassen und als SQL wieder importieren.
Falls nicht, müsste man sie konform machen, um sie dann als Import nutzen zu können

2. Welche Felder sind in der Datei enthalten?
Die Tabellen für User, Themen und Beiträge haben umgangreichen Inhalt, d.h. mehr als nur Name, Email, Passwort. Da werden Einstellungen/Parameter gespeichert, diverse Datumsangaben, Counter, PM-Postfächer, etc. hinterlegt. Einiges davon kann man im Nachinein neu zählen und aktualisieren lassen.

Unterm Strich:
Eine Migration ist natürlich möglich. Allerdings hängt der Aufwand vom Format und den vorhandenen Feldern ab deiner Quelldatei ab...

[ExiTuS]
Zitieren
#3
Genau, dass ist gerade mein Problem.
Die Community hat nur 5 Felder. Username,Gender,email,lastname, Vorname

Nach dem Import, werden teilweise falsche Felder befüllt. Ich muss jetzt herausfinde, wie die Felder in MyBB heißen und diese dann befüllen.
Zitieren
#4
Da kommen wir der Sache schon näher Smile
Also wenn du ein neues Forum aufbauen willst, dann musst du sowieso die MyBB Foren-Software installieren.
Mit der frischen MyBB-Installation, erstellst du (1. Benutzer: Administrator) einen zweiten Benutzer als einfaches Mitglied. Somit hast du schon das Grundgerüst eines Benutzers in der Datenbank.

Mit einer DB-Administration (phpMyAdmin, adminer.php, etc) schaust du dir die Tabelle mybb_user an.
Am besten du exportierst den Datensatz des angelegten Benutzers und nimmst diese SQL als Vorlage, um deine bisherigen Benutzer zu übertragen. Die meisten fehlenden Felder kannst du aus diesem Export übernehmen.
Falls es zu deinen genannten Felder noch ein Passwort gibt (entweder in Klartext oder als md5-Hash) kannst du mit einer Anpassung sogar die Passwörter mit übernehmen.

Ich würde das Augenmerk erst auf die User richten, dann Themen, dann Posts. Je nachdem wie diese Quelldaten aussehen, musst du wieder ran und anpassen. Am besten nach gleichem Schema, also ein Test-Thema erstellen, den Datensatz für die Vorlage exportieren, die Datenfelder vergleichen und anpassen. Dann dasselbe mit Posts.

Wie steht es um die Migration von ...
- Privaten Nachrichten
- Umfragen in Themen
- Bewertungen (User, Themen)

... oder beschränkt es sich erst einmal nur auf Benutzer, Themen und Beiträge?

[ExiTuS]
Zitieren
#5
(11.06.2018, 17:57)[ExiTuS] schrieb: Mit einer DB-Administration (phpMyAdmin, adminer.php, etc) schaust du dir die Tabelle mybb_user an.
Am besten du exportierst den Datensatz des angelegten Benutzers und nimmst diese SQL als Vorlage, um deine bisherigen Benutzer zu übertragen. Die meisten fehlenden Felder kannst du aus diesem Export übernehmen.
Falls es zu deinen genannten Felder noch ein Passwort gibt (entweder in Klartext oder als md5-Hash) kannst du mit einer Anpassung sogar die Passwörter mit übernehmen.

Ich würde das Augenmerk erst auf die User richten, dann Themen, dann Posts. Je nachdem wie diese Quelldaten aussehen, musst du wieder ran und anpassen. Am besten nach gleichem Schema, also ein Test-Thema erstellen, den Datensatz für die Vorlage exportieren, die Datenfelder vergleichen und anpassen. Dann dasselbe mit Posts.

Wie steht es um die Migration von ...
- Privaten Nachrichten
- Umfragen in Themen
- Bewertungen (User, Themen)

... oder beschränkt es sich erst einmal nur auf Benutzer, Themen und Beiträge?

[ExiTuS]

"Am besten du exportierst den Datensatz des angelegten Benutzers und nimmst diese SQL als Vorlage, um deine bisherigen Benutzer zu übertragen. Die meisten fehlenden Felder kannst du aus diesem Export übernehmen."

Ok, ich habe eine Vorlage aus dem ersten user erstellt. Aber wie mache ich weiter und wo liegt jetzt die Vorlage???

...Wie steht es um
kann ich komplett ignorieren.
Zitieren
#6
Also geht es nur um Benutzer, Themen und Beiträge. Super, das macht die Sache schon mal weniger kompliziert Smile

Du kommst nicht drumherum, mit einer DB-Verwaltung direkt an die Datenbank zu gehen, d.h. Zugriff auf die Tabellenstruktur, die Datensätze, etc.
Hast du die Möglichkeit z.B. phpMyAdmin (als Feature deines Webhostings) zu nutzen. Alternativ kann ich "adminer.php" empfehlen: einfach auf deinen Webspace hochladen, mit Browser aufrufen und einloggen.

Hast du solch einen Zugriff auf die Datenbank, so kannst du Tabellen und Datensätze exportieren.
Mit einem Export erhältst du eine SQL-Ausgabe, die du bearbeiten kannst.

Beispiel: Wähle den Datensatz des angelegten Benutzer. Exportiere diesen Datensatz. Du erhältst die Ausgabe mit folgendem Inhalt:
"INSERT INTO mybb_user (...) VALUES (...)"
Die Punkte sind 1. die Tabellenfelder und 2. die Werte dieser Felder.
Dies wäre die SQL-Syntax, die du später zum Ausführen brauchst, um deine alten Mitglieder hinzuzufügen. Natürlich musst du die entsprechenden Felder anpassen und die Werte mit denen deiner Mitglieder ersetzen - also Name, Email, etc.

[ExiTuS]
Zitieren
#7
Für die User habe ich es jetzt erst mal so gelöst, dass ich die Textdatei angepasst und anschließend importiert habe über myphpadmin. Alle User sind im neuen Forum. Jetzt müssen sie nur noch ihr PW zurücksetzen lassen und alle sind wieder online. Bin gespannt, wie es mit den Themen und Beiträgen läuft.
Zitieren
#8
@[ExiTuS] meine momentane Herausforderung für den Import der Themen+Beiträge besteht darin, dass ich ja schon Kategorien im neuen Forum angelegt habe. Muss ich die jetzt wieder löschen, denn die Themen sollen ja schon in die einzelnen Kategorien verschachtelt werden zB. Bouldern im Frankenjura - Allgemeine Fragen. In der Datenbank werden ja alle Themen unter "mybb_threads" abgelegt. Wird die Unterscheidung, wo das Thema hin soll über die Forum-PID gelöst? Bzw. wie kann ich das Thema in das richtige Forum importieren?

2. ich habe mal ein Thema als SQL exportiert und eine Datei vorliegen.
Wie bekomme ich jetzt alle Themen aus dem Textfile des alten Forums, in diese Datei zum Import, oder habe ich das falsch verstanden?

Oder muss ich die SQL-Vorlage nehmen, das Thema und den Ersteller aus dem alten Forum hier eintragen und importieren und diesen Vorgang händisch, einzeln, für jedes Thema durchführen?

http://forum.boulderrausch.de

VG
Zitieren
#9
Was die Forum-ID angeht, würde ich folgenden Weg vorschlagen:

Da du sicher mehr Themen als Foren hast, ändere nicht die Forum-ID in jedem Thema, sondern belasse sie. Ändere stattdessen die ID des angelegten Forums... d.h. das Feld "fid" in der Tabelle mybb_forums. Anhand deiner Themen solltest du abschätzen können, welche bisherigen ID's zu welchem Unterforum gehört. Also kannst du sicher die ID's unterscheiden und dementsprechend die fid des neuen Forums ändern Smile

Es ist natürlich abhängig davon, welche Felder deine Quelldateien haben. Handhabe es genauso, wie mit den Benutzern. Nimm ein Test-Thema, exportiere es und nimm diese SQL als Vorlage für deine bisherigen Beiträge.
Die wichtigsten Felder in mybb_threads sind:
- tid: Thread-ID
- fid: Foren-ID
- subject: Betreff
- uid: User ID
- username
- dateline: Timestamp Erstellung
- firstpost: Post ID des ersten Post im Thema
- lastpost: Timestamp letzter Post
- lastposter: Benutzername letzter Post
- lastposteruid: User ID letzer Post
- views: Aufrufe (kann man ggf. durch einen eigenen Wert ersetzen)
- replies: Anzahl Antworten im Thema

Die wichtigsten Felder in mybb_posts sind:
- pid
- tid
- replyto
- fid
- subject
- uid
- username
- dateline
- message
- includesig=1 (ggf. optional auf 1 setzen)

Um wieviel Themen und Posts handelt sich und in exakt welchem Format liegen sie in der Textdate vor. Je nach Menge wäre es idiotisch, jedes einzelne Thema und jeden Post von Hand in eine Import-SQL zu verwursten...
Eventuell ließe sich das script-basiert und automatisiert erledigen.
Wie und in welchem Format liegen die Datensätze für Threads und Posts im Original vor?
Kannst du ein oder zwei Datensätze (anonymisiert) liefern?

[ExiTuS]
Zitieren
#10
Das kann ich so alles nicht nutzen, da in der Quelldatei.txt völlig andere Werte enthalten sind. Da gibt es keine PID,FID etc. Auch habe ich bei den Usern nichts exportiert. Ich habe da die Quelldatei mühsam angepasst und diese als CSV hochgeladen.

So sieht meine Quelldatei im .txt Format aus (entstanden aus .MDB)

Code:
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|        ID         |      BoardID      |       Date        |     MessageID     |     Emoticon      |      Author       |       Title       |    TotalViews     |     Published     |      Locked       |       Stick       |
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|            527633 |            999922 | 2002-06-10        |           2060493 |                 8 | webmaster         | das forum ist     |               210 |                -1 |                 0 |                 0 |
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|            548888 |            999922 | 2002-06-19        |           2168062 |                 6 | Hannes            | Tabasco trav.     |               564 |                -1 |                -1 |                 0 |
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|            552522 |            999922 | 2002-06-21        |           2186738 |                 6 | webmaster         | christopher...... |               554 |                -1 |                 0 |                 0 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Ich denke, ich werde, wie du sagtest, ein Thema aus dem neuen Forum als .txt exportieren und dort alle neuen themen einpflegen. Der Vorteil ist, dass man die richtige Zuordnung durch die FID und PID einstellen kann. Der Nachteil, mühsame Handarbeit...
Ich habe es jetzt mal mit dem Export in eine .sql probiert.
Ich passe die Werte im Textfeld an und speicher sie ab. Nach dem Hochladen kommen diverse Fehler.

Den Code möchte ich über SQL in phpMyAdmin einfügen:

INSERT INTO `mybb_threads`(`tid`, `fid`, `subject`, `prefix`, `icon`, `poll`, `uid`, `username`, `dateline`, `firstpost`, `lastpost`, `lastposter`, `lastposteruid`, `views`, `replies`, `closed`, `sticky`, `numratings`, `totalratings`, `notes`, `visible`, `unapprovedposts`, `deletedposts`, `attachmentcount`, `deletetime`) VALUES (`1``11``Test``0``0``0``2``test``1528788192``26``1528788192``test``2``1``0``0``0``0``0``notes``1``0``0``0``0`)

Fehlermeldung: #1054 - Unbekanntes Tabellenfeld '1`11`Test`0`0`0`2`test`1528788192`26`1528788192`test`2`1`0`0`0`0`0`notes`1`0`0`0`0' in field list
Zitieren


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Forenumzug von phpBB nach myBB Kurt Singer 5 203 13.06.2018, 00:19
Letzter Beitrag: Kurt Singer