• Wenn du hier im Forum ein neues Thema erstellst, sind schon Punkte aufgeführt die du ausfüllen musst. Das dient im Allgemeinen dazu die notwendigen Informationen direkt mit der Frage bereitzustellen.
    Da in letzter Zeit immer wieder gerne das Formular gelöscht wurde und erst nach 3 Seiten Nachfragen die benötigten Infos für eine Hilfe kommen, werde ich nun jede Fragestellung die nicht einmal annähernd das Formular benutzt, sofort in den Sondermüll schicken.
    Füllt einfach die abgefragte Daten aus und alle können euch viel schneller helfen.

XF2.3 Frage nach Import-Test

Schwalbe

Mitglied
Lizenzinhaber
Registriert
24. März 2025
Beiträge
20
Punkte
18
XF Version
  1. 2.3.4
XF Instanz
Hosting
PHP-Version
8.3.19
Vor dem Umstieg ist nach dem Umstieg ... also fast:
Ich habe jetzt einen ersten Test Import aus VB 3.8 gemacht. Eigentlich lief das ganz gut. Aber ich habe einen Stand von ca. Ende März. Ich hatte inzwischen bestimmt 1500 inaktive User ohne Beiträge schon im alten Forum gelöscht. Die sind alle wieder da. Dafür fehlen alle Beiträge der letzten Wochen.

Was mir jetzt aufgefallen ist: Ich hatte am 22.03. eine Datensicherung gemacht und die steht als sql Datei auch noch im Verzeichnis auf dem Server. Hat der Import jetzt diesen Stand genommen? Eigentlich war ich davon ausgegangen, dass der Importer auf die "Live-Datenbank" zugreift.

Evtl. hat hier jemand mehr "Verständnis" für den Import als ich.
 
Zuletzt bearbeitet:
Nein, der Importer kennt die SQL Datei sicherlich nicht. Der greift auf die Live Datenbank zu. Die trägst ja die Zugansgdaten dazu ein.

Hast du evtl. eine Datenbank Kopie gemacht, und er hat die genommen? Aber wie gesagt. du gibts ja vor, auf was er Zugreifen soll.

Das gelöschte User wieder da sind... keine Ahnung. Wurden die im 3.8er nur geflaggt und das wurde nicht berücksichtigt? Oder die sind in einer Gruppe "Gelöschte Benutzer"?

Warum aber Beiträge fehlen ist mir Schleierhaft.
 
Ich bin mir inzwischen sicher, dass der Import den Stand vom 22.03. genommen hat. Sehe ich an den letzten Beiträgen vieler User. Die sind alle von diesem Datum. Konnte ich erst nicht erkennen, da die rss feeds zunächst einmal zugeschlagen hatten und mir 6 Seiten Neue Beiträge anzeigen. Muss ich mir auch noch was zu überlegen.

Es gibt aber nur zwei Datenbanken, die "echte" und die Test. Und dann wie gesagt diese Datensicherung als Datei.
 
Wie Hoffi schon geschrieben hat:
Der Importer kann keine Dumps verarbeiten, er kann nur aus einer bestehenden Datenbank importieren die Du im ersten Schritt des Import explizit konfigurieren musst.

Was Du da konfiguriert hast kann dir keiner (ohne Zugriff auf deinen Server, selbst mit wäre das ggf nicht möglich) sagen, das musst Du schon selbst wissen - es ist dein Server :)

Mögliches Szenario
Du hast am 22.03. einen Dump der vBulletin DB erstellt, diesen dann in die XenForo DB importiert (das geht i.d.R. da die Tabellenpräfixe unterschiedlich sind, empfehlenswert ist es keineswegs!) und darauf in XenForo den Import durchgeführt.
Oder Du hast am 22.03 die Test DB erstellt, dann den vBulletin Dump da rein importiert, anschließend in die selbe DB XenForo installiert und dann den Import durchgeführt.
Ob eines dieser beiden Szenarien (die letztlich im Grunde identisch sind: vBulletin Quelle und XenForo sind in einer DB) zutrifft kannst Du feststellen indem Du dir anschaust was es da für Tabellen gibt - in einer reinen XenForo DB sollte es nur Tabellen geben die mit xf_ beginnen (es sei denn Du hast such 3rd Party Add-ons installiert die sich nicht an die Code-Standards halten)

Aber wie gesagt, das sind nur Hypothesen - letzten Endes musst Du wissen was Du gemacht hast :)

Empfehlung
  1. Live-System vollständig klonen, d.h. komplett separate Instanz
  2. Dort einen weiteren virtuellen Host mit eigener DB für XenForo erstellen
  3. XenForo installieren
  4. Import durchführen
  5. Alles testen, konfigurieren, etc.
 
Zuletzt bearbeitet:
Okay danke - dann werde ich mal in mich gehen und überlegen, was ich da gemacht habe :rolleyes:

Die möglichen Szenarien möchte ich aber schon mal ausschließen, da ich am 22.03. noch nicht einmal wusste, ob ich auf xf umsteigen möchte. Bin seit dem 24.03. hier angemeldet und habe dann erst ein paar Fragen im Thema "vor dem Kauf" gehabt.
 
Zuletzt bearbeitet:
Habe noch einmal die ersten Seiten des Imports aufgerufen. Viel verkehrt machen kann man ja da eigentlich nicht. Die Datenbank zeigt auch nur xf Tabellen an und natürlich das Protokoll. Ich werde jetzt aber erst einmal einiges mit den vorhandenen Daten testen und dann User, Foren u.a. löschen und noch mal einen Import starten. Ca. 700 Tsd. Beiträge von zweieinhalbtausend Usern hatten eine gute halbe Stunde gedauert. Ist ja überschaubar. Der Import sieht übrigens auf den ersten Blick sehr sauber aus (bis auf das nicht aktuelle Datum) vor allem auch bei den Benutzergruppen. Da hatte ich hier in einigen Themen ganz "merkwürdige" Sachen gelesen.

Kann also noch was dauern bevor ich hier vom nächsten Import berichte ;)
 
Okay, das ist echt seltsam.
Ist die Import-Session schon komplett geschlossen?

Falls nicht:
SQL:
SELECT * FROM xf_data_registry WHERE data_key = 'importSession'

Das ist die serialisierte Import-Session, dieser kann man die Quell-DB entnehmen.
 
Sehe ich folgendes richtig?
Profilnachrichten aus VB werden importiert, während die Privaten Nachrichten jetzt Direktnachrichten heißen und nicht importiert werden, also verloren gehen.
 
Nö, wird beides importiert.
 
So, 2. Import Test: gleiches Ergebnis. Der Importer nimmt den Stand vom 22.03., wo auch immer der den herholt. Ich glaube, ich melde mich mal bei meinem Hoster, ob der sich das erklären kann. Anhänge und Avatare wurden übrigens nicht importiert, obwohl das System nach einer Korrektur nicht mehr über den Pfad gemeckert hatte. Ich habe jetzt für den nächsten Test erst einmal alles in die Datenbank verschoben.
 
Support meint, ich solle den Entwickler vom Script fragen...
Aber noch etwas anderes: Ich habe jetzt erst einmal alles importierte wieder gelöscht. In der Datenbank ist mir aufgefallen, dass die drei Tabellen mit den "Privaten Nachrichten" nicht leer sind. Also xf_conversation_master, _message und _recipient. Diese wurden also nicht mit dem Löschen aller User aus der Datenbank entfernt. Diese Tabellen kann ich doch leeren, oder? Ebenso ist die Tabelle xf_ip noch 147 MIB groß. Da stehen wohl noch alle IP-Adressen der längst gelöschten Beiträge drin. Ein Leeren dieser Tabelle kann doch nichts anrichten?
 
Entschuldigung, dass ich hier im Stakkato schreibe, aber ich habe jetzt etwas entdeckt, dass ich nicht erklären kann. Es gibt unter VB 3.8 im admin cp einen Punkt Wartung. Da kann man z.B. Tabellen reparieren und einfache Wartungsfunktionen durchführen. Evtl. erinnert sich der ein oder andere. U.a. gibt es da einen Punkt Diagnose. Dort kann ich unter Systeminformation den Tabellen-Status aufrufen. Und siehe da, dort steht unter Create_time 2025-03-22. Aber wieso? Das übersteigt jetzt meine rudimentären Kenntnisse über Datenbanken usw. Im Forum selber sieht alles in Ordnung aus. Da merkt man von diesem Datum nichts. Da werden z.B. auch viel weniger User angezeigt als noch am 22.03. vorhanden waren. Jede Menge "Karteileichen" habe ich danach gelöscht, auch in Hinblick auf den Import in XF. Vielleicht kann das jemand erklären.
 
Der Importer nimmt den Stand vom 22.03., wo auch immer der den herholt.
Der Importer nimmt exakt das als Quelle was Du im ersten Schritt des Import konfigurierst:
1748031062808.png

Anhänge und Avatare wurden übrigens nicht importiert, obwohl das System nach einer Korrektur nicht mehr über den Pfad gemeckert hatte.
Nicht meckern heißt nur dass der Pfad existiert und grundsätzlich lesbar ist, der muss aber keineswegs korrekt sein (das wird an der Stelle nicht geprüft, wäre auch schwer möglich).

Ich habe jetzt für den nächsten Test erst einmal alles in die Datenbank verschoben.
Autsch! :)

Support meint, ich solle den Entwickler vom Script fragen...
Die werden dir (ohne Zugriff auf der Server) kaum viel mehr weiterhelfen können als wir, denn sie haben wie wir keinen Einblick in dein Setup.
Dein Hoster hat diesen und sollte mit ausreichend Sachverstand (und dem Willen wirklich helfen zu wollen) in der Lage sein dich weiterzubringen, aber wenn Du nicht gerade bei einem richtig teuren Premium-Hoster (oder einem engagierten 1-Man--Betrieb) bist sind die Chancen da i.d.R. eher schlecht.

Aber noch etwas anderes: Ich habe jetzt erst einmal alles importierte wieder gelöscht. In der Datenbank ist mir aufgefallen, dass die drei Tabellen mit den "Privaten Nachrichten" nicht leer sind. Also xf_conversation_master, _message und _recipient. Diese wurden also nicht mit dem Löschen aller User aus der Datenbank entfernt.
Sollten automatisch geleert werden wenn es keine Teilnehmer mehr gibt.

Bitte beachten:
Nach "visuellem" Abschluss einer Massen-User-Löschung laufen noch viele Cleanup-Jobs im Hintergrund, wirf mal einen Blick in Tabelle xf_job - ich würde vermuten dass die noch nicht abgeschlossen sind.

Aber klar, Du kannst die 4 Tabellen (xf_conversation_user nicht vergessen) sowie xf_ip einfach per Hand leeren, da passiert nix.

Und siehe da, dort steht unter Create_time 2025-03-22. Aber wieso?
Das ist der Zeitpunkt der Erstellung (oder letzten Neuerstellung) der Tabelle, es sagt nichts darüber aus wie alt die Daten in der Tabelle sind - die können neuer oder älter sein - oder beides.

Aber das bringt mich zu einer neuen Theorie (die eingentlich nur eine Variante der bereits in XF2.3 - Frage nach Import-Test geäußerten Theorie ist):
Hast Du es evtl. irgendwie fertig gebracht am 22.03. einen Dump der vBulletin-DB mit anderem Tabellenpräfix wieder in die vBulletin DB einzuspielen?

Dann hättest Du in dieser DB jetzt 2x vBulletin - einmal das Produktivsystem und einmal den Dump Stand 22.03.

Könntest Du einmal eine Liste aller Tabellen in all deinen DBs posten?

Denn wie gesagt, es gibt eigentlich nur zwei Möglichkeiten warum nach einem Import der Stand in XF nicht dem in vBulletin entspricht:
  1. Die Konfiguration der Quelldatenbank war nicht korrekt und es wurde daher etwas anderes importiert
  2. Die Quelldatenbank ist dermaßen inkonsistent / kaputt dass aus dieser keine Daten importiert werden können die neuer sind als X
2) ist zwar theoretisch denkbar, IMHO aber extremst unwahrscheinlich - insbesondere dann wenn die eigentlich noch im Produktivbetrieb läuft?
 
Zuletzt bearbeitet:
Testimport 3: Juhu :)
Dein @Kirby permanenter Hinweis ;) auf die Tatsache, dass der Importer nur das importieren kann, was ich eingebe, hat mir ja keine Ruhe gelassen. Auf nochmalige Nachfrage beim Hoster habe ich jetzt herausgefunden, dass es tatsächlich zwei Datenbanken mit gleichem Namen gibt. Am besagten 22.03. gab es ein Update der MySQL Version, bis der der Hoster feststellte, dass VB darauf nicht läuft. Darauf wurde mein Forum auf einen alten Server gezogen mit anderen Zugangsdaten (Name, Port) als bisher. Mit den Daten hat jetzt der Import funktioniert, inklusive aller Anhänge und Avataren aus der Datenbank :cool:.

Jetzt kann ich weiter testen. Vielen Dank an die guten Tipps. "K(l)eine Drohung": Es kommen eventuell noch mehr Fragen.
 
Ich hatte ja geschrieben, ich finde noch was ...
Folgende Kleinigkeit: Beim Import der VB Profilfelder wird ein Feld nicht als XF Benutzerfeld übernommen und ich kann nicht erkennen, warum dieses eine eben nicht. Vielleicht hat jemand eine Idee. Ein paar Screenshots dazu. Aus 11 Feldern werden also 10, was dazu führt, dass der Inhalt aus dem VB 11. Feld (Interessen) importiert wird in das XF Feld Informationen bei Benutzerdetails/Persönliche Daten. Das steht jetzt im Profil ein bisschen verloren rum.
 

Anhänge

  • benutzer_1.JPG
    benutzer_1.JPG
    35,2 KB · Aufrufe: 5
  • benutzer_2.JPG
    benutzer_2.JPG
    122,4 KB · Aufrufe: 5
  • benutzer_4.JPG
    benutzer_4.JPG
    39,4 KB · Aufrufe: 5
  • benutzer_3.JPG
    benutzer_3.JPG
    41,2 KB · Aufrufe: 5
Beim Import der VB Profilfelder wird ein Feld nicht als XF Benutzerfeld übernommen und ich kann nicht erkennen, warum dieses eine eben nicht. Vielleicht hat jemand eine Idee.
Der Importer ist explizit so programmiert, Du kannst das nicht ändern (ohne den Code zu patchen).

Aber Du könntest das nach dem Import vmtl. relativ leicht per Query aktualisieren.
 
Zurück
Oben