beeindruckend! auch wenn mein altes SMF keine schönen URLs verwendet?
was meinst du damit, nicht wirklich?
beeindruckend! auch wenn mein altes SMF keine schönen URLs verwendet?
was meinst du damit, nicht wirklich?
Zu deinen Fragen:
zumindest bleibt das Thema eine Referenz für spezifische Beiträge. Das ist mehr als ausreichend. Ausgezeichnet, vielen Dank für deine Antwort und dafür, dass du diese Anweisungen zusammengestellt hast.
Entschuldigung, ich habe vergessen zu fragen: Wenn mein SMF als Kategorie → Board → Unterboard eingerichtet ist, muss ich dann zuerst die Kategorie „Board“ entfernen, damit es nur noch zwei Ebenen tief ist (Forum → Unterforum), damit die Konvertierung zu Discourse korrekt funktioniert?
Hallo @marcozambi,
ich bin neugierig, wie du das zum Laufen gebracht hast. Ich habe den Importer am 19. Oktober verwendet, um ein großes Forum von SMF zu Discourse zu migrieren, und alle Links im alten Format sind im Grunde verloren (d. h. ich erhalte einen 404-Fehler, wenn ich die alten URLs verwende).
Zum Beispiel identifizierte der alte Link:
das folgende Thema:
Würdest du deine „Magie“ mit uns teilen? ![]()
Keine besondere Magie.
Als ich im September 2018 den Import aus SMF durchgeführt habe, hat das SMF2-Import-Skript die ganze Magie erledigt.
Nach dem Importieren jedes Beitrags erstellte das Skript die entsprechende Permalink.
Ich habe dennoch kleinere Anpassungen an den Skripten vorgenommen, die ich im ersten Beitrag dieses Themas im Detail beschrieben habe.
Das ist korrekt. Du musst deine vorhandene SMF-Unterseiten-Hierarchie auf zwei Ebenen „abflachen“.
Ja, und ich danke dir für deinen großartigen Beitrag. Ich habe ihm sorgfältig gefolgt und konnte erfolgreich ein Forum mit 6 Millionen Beiträgen migrieren.
Aber vielleicht wurden die Permalinks doch erstellt. Wie prüfst du darauf? Wenn sie in der Datenbank sind, könnte es nur ein Nginx-Problem sein, das ich beheben muss.
Sie können die Liste Ihrer Permalinks überprüfen, indem Sie zu Admin → Anpassen → Permalinks gehen.
Von dort aus können Sie bei Bedarf auch neue erstellen.
![]()
Es war leer, wie ich vermutet habe. Das bedeutet, dass dieser Teil des Skripts in unserem Fall nicht funktioniert hat.
Na ja, ich kann zumindest einige davon manuell erstellen (habe es gerade versucht und beim Beispiel, das ich oben gepostet habe, Erfolg gehabt).
Soll dieser Schritt die alten SMF2-Datenbankdetails enthalten oder genau ‘user’, ‘pass’, ‘db’?
Soll dieser Schritt die alten SMF2-Datenbankdetails enthalten oder genau wie angegeben: ‘db’, ‘user’ und ‘pass’?
Ist dies der einzige Schritt, bei dem ich die ursprünglichen alten SMF2-Datenbankdetails verwenden soll?
[quote=“Zup, post:53, topic:90314”]
Sollen hier die alten SMF2-Datenbankdetails angegeben werden oder genau wie spezifiziert: ‚db’, ‚user’ und ‚pass’?[/quote]
Dies sind die Zugangsdaten, um eine Verbindung zur Dockerisierten MySQL-Instanz herzustellen, in die der Datenbank-Dump deines SMF-Forums importiert wurde.
Genauer gesagt läuft die Dockerisierte MySQL auf demselben Server, auf dem Discourse läuft, und dient ausschließlich dazu, den Dump zu enthalten, den du von der SMF-Datenbank erstellt haben solltest.
[quote=“Zup, post:53, topic:90314”]
Ist dies der einzige Schritt, bei dem ich die originalen alten SMF2-Datenbankdetails verwenden soll?[/quote]
Dies ist der Befehl, den du auf dem Server ausführen musst, auf dem die ursprüngliche SMF2-Datenbank gehostet wird, um einen Dump zu erstellen. Diesen musst du anschließend in die oben genannte Dockerisierte MySQL-Instanz importieren.
Danke für deine Antwort.
Ja, ich habe die ursprüngliche SMF2-Datenbank bereits auf den Discourse-Server in der dockerisierten MySQL-Instanz importiert.
Mit den dockerisierten MySQL-Informationen in Settings.php erhalte ich beim Ausführen des Import-Skripts folgenden Fehler:
Lade bestehende Gruppen…
Lade bestehende Benutzer…
Lade bestehende Kategorien…
Lade bestehende Beiträge…
Lade bestehende Themen…
Erstelle Gruppen
Stacktrace (letzte Aufrufe zuerst):
11: von script/import_scripts/smf2.rb:701:in `’
10: von script/import_scripts/smf2.rb:28:in `run’
9: von /var/www/discourse/script/import_scripts/base.rb:47:in `perform’
8: von script/import_scripts/smf2.rb:66:in `execute’
7: von script/import_scripts/smf2.rb:77:in `import_groups’
6: von script/import_scripts/smf2.rb:281:in `query’
5: von script/import_scripts/smf2.rb:287:in `__query’
4: von /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-2.0.4/lib/patches/db/mysql2.rb:22:in `query’
3: von /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:130:in `query’
2: von /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:130:in `handle_interrupt’
1: von /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:131:in `block in query’
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:131:in `_query’: Tabelle ‘db.smf_membergroups’ existiert nicht ( Mysql2::Error )
Hast du eine Idee?
Ich habe diese Anleitung mehrfach Schritt für Schritt genau befolgt, bleibe aber immer an diesem Punkt hängen.
Vielen Dank.
Prüfen Sie in Ihrer MySQL-Datenbank, ob die Tabelle smf_membergroups existiert. Falls nicht, müssen Sie entweder
Die Dateiendung am Ende ist nicht entscheidend. Wenn die Datei gültige SQL-Anweisungen enthält, wird sie unabhängig davon geladen.
Außerdem kommt es häufig vor, dass die Datenbank ein anderes Präfix als smf_ verwendet. Viele Importtools bieten dies als Option an, aber ich habe dieses hier nicht überprüft.
Die Verwendung derselben Zugangsdaten aus der SMF2-Datenbank für die Dockerisierte MySQL-Instanz hat mein Problem gelöst. Danke, Leute!
@Paracelsus Ich scheine im selben Boot zu stecken; Permalinks sind leer. ![]()
Mein SMF2 läuft auf der Root-Domain, während Discourse auf einer Subdomain der Root-Domain von SMF2 läuft. Spielt das eine Rolle?
Ja… die Permalinks sind ein ziemlicher Ärger, aber ich habe gelernt, damit zu leben. Ich habe jede Webseite, die ich finden konnte, auf der ein Link zu unserem Forum stand (mit dem alten SMF-Format), bei Google gesucht, diese Seiten aufgerufen, einen Textstring oder einen transkribierten Absatz kopiert, im Discourse-Forum danach gesucht und einen Permalink eingefügt. Wenn du dein SMF-Forum noch online hast, empfehle ich dir, das jetzt zu erledigen, da diese Links, die Leute auf ihren Webseiten hinterlassen, manchmal keinen zugehörigen Zitat- oder Textstring enthalten, sondern nur die URL – und du kannst das richtige Thema trotzdem finden.
Bei uns haben wir zunächst die Version discourse.forumscp.com verwendet, während forumscp.com noch als „Produktionsforum
Du kannst nach einem anderen Importeur suchen, der Permalinks unterstützt, und den Code kopieren. VBulletin und phpBB sind wahrscheinlich gute Beispiele.