Nachdem der Importer in meiner ersten Testumgebung erfolgreich funktioniert hat, wollte ich das alte Forum nun erneut / frisch in eine neue, zur echten Umgebung werden sollende Umgebung importieren, doch jetzt ist es fehlgeschlagen.
Ich erhalte folgenden Fehler:
/var/www/discourse/plugins/discourse-migratepassword/plugin.rb:71:in `crypt’: Inkompatible Zeichenkodierungen: ASCII-8BIT und UTF-8 (Encoding::CompatibilityError).
Offensichtlich tritt dies beim dritten Benutzer auf, und dieser enthält ein Umlaut.
Was habe ich seit dem erfolgreichen Import geändert?
Neue VM mit Ubuntu 18.04.3 LTS (die alte war eine 16)
Es sieht so aus, als würde dies einen Fehler im migratepassword-Plugin auslösen. In meinen Tests funktioniert es einwandfrei, daher bin ich mir nicht sicher, was hier genau passiert. Ich schlage vor, das Plugin während der Migration zu deaktivieren. Es wird ohnehin während der Migration nicht benötigt.
Ich habe einen phpBB3-Datenbankexport lokal vorliegen.
Ich habe eine lokale Discourse-Installation auf meinem Mac mit Docker for Desktop eingerichtet.
Jetzt versuche ich, den Anweisungen in diesem Thema zu folgen, stecke aber fest, da ich Docker verwende, aber nicht Ubuntu, und es sich um eine lokale Umgebung handelt. Ich weiß also nicht, wie ich weitermachen soll
In meinem Discourse-Verzeichnis gibt es keine app.yml-Datei.
Könnte mir jemand sagen, welche Schritte ich unternehmen soll?
Entschuldigung, ich habe keine Erfahrung mit Mac, Docker und Ihrem Setup. Sie könnten versuchen, den Abschnitt Importieren mit der Entwicklungsumgebung grob zu befolgen … aber ich kann Ihnen dabei leider keine Unterstützung bieten.
Hurra, ich habe den Import erfolgreich abgeschlossen!
Am Ende habe ich mich einfach für einen DO-Droplet entschieden und bin davon ausgegangen. Und es hat funktioniert!
Sofern Sie kein Backup für die Wiederherstellung auf einem anderen Server benötigen, ist alles in Ordnung. Sie können es einfach verwenden, und Sidekiq wird die Aufgaben verarbeiten.
Hallo, derzeit versuche ich, Daten aus einem phpBB 3.1-Forum in Discourse zu importieren. Allerdings funktioniert der Import von Umfragen bei mir nicht:
Wenn der Thread-Inhaber (Ersteller der Umfrage) gelöscht wurde, erhalte ich während des Imports folgende Fehlermeldung:
Fehler beim Erstellen des Beitrags 70978. Wird übersprungen. [“Sie sind nicht berechtigt, Umfragen zu erstellen.”]
Bei den folgenden Umfrageoptionen
<12
12
12
erhalte ich folgende Fehlermeldung:
Fehler beim Erstellen des Beitrags 345655. Wird übersprungen. [“Eine Umfrage muss unterschiedliche Optionen haben.”]
Normale Threads von gelöschten Benutzern werden ordnungsgemäß importiert. Wie kann ich das Importskript so anpassen, dass auch Umfragen von gelöschten Benutzern importiert werden?
Ich versuche gerade zum ersten Mal eine Migration von phpBB und frage mich, ob ein späteres Discourse-Backup alle Metadaten aus dem Import enthält (wie die ursprüngliche Beitrags-ID aus phpBB). Der Grund ist, dass ich den Import auf einer leistungsstärkeren Maschine durchführen möchte, um den Import zu beschleunigen, und das Forum später auf einem VPS betreiben werde. Möglicherweise führe ich nach dem Umzug alles auf den VPS einen weiteren inkrementellen Import durch. Ich frage mich, ob es ausreicht, ein Discourse-Backup zu erstellen und erneut zu importieren, oder ob ich die Datenbank besser auf andere Weise dumpen sollte (auf welche?).
Und noch eine weitere Frage: Sind die URL-Umschreibungen im Importer sicher für eine spätere Domainänderung? Ich plante, für die initiale Migration eine andere Domain oder Subdomain zu verwenden und später auf die echte Domain umzusteigen.
Ja, das Backup enthält die ursprüngliche Beitrags-ID in einem benutzerdefinierten Feld. Der endgültige Import in der Cloud sollte problemlos funktionieren.
Ich habe gerade die erste Testmigration abgeschlossen und möchte vor allem @gerhard und allen anderen, die dazu beigetragen haben, meinen Dank aussprechen. Es ist erstaunlich, wie gut das beim ersten Versuch funktioniert hat. Es hat mich etwa 24 Stunden gekostet, knapp 900.000 Beiträge inklusive Benutzer, private Nachrichten und Co. zu importieren, und alles sieht für einen ersten Versuch wirklich gut aus. Es ist einfach großartig, einen so hervorragenden Importer zu haben, um das zu erledigen.
Es gibt jedoch ein paar Dinge, und das Wichtigste, das ich gerade versuche herauszufinden, ist, dass einige interne Links völlig falsch zu sein scheinen, während andere recht gut funktioniert haben. Genauer gesagt scheinen weitaus mehr korrekt als falsch zu sein. Ich versuche, ein Muster zu finden, bei denen sie nicht funktioniert haben. Kann jemand einige Einblicke dazu geben, wie diese Änderung interner Links funktioniert? Gibt es wahrscheinlich einige Fallstricke, bei denen es scheitern könnte?
Nebenanmerkung: Direkt nach dem Import habe ich gesehen, dass alle Avatare in Zitaten fehlten, aber dann festgestellt, dass sie scheinbar generiert werden, und es sieht so aus, als wäre nach 20 Minuten alles da. Faszinierend
Bezüglich der Importzeit: Dies fand auf einem Hetzner-4-Kern-VPS mit exklusiven CPU-Kernen statt – ich denke, ich werde das für den Import auf einem Bare-Metal-Server wiederholen, um die Migrationszeit zu verbessern. Zuerst muss ich sehen, wie das Verschieben des Discourse-Backups funktioniert.
Das Umstrukturieren interner Links schlägt fehl, wenn ein Beitrag einen Link zu einem anderen Beitrag enthält, der noch nicht importiert wurde. Beiträge werden in der Reihenfolge ihrer ursprünglichen Erstellung importiert.
Das ist ein interessanter Hinweis. Ich kann nicht recht einsehen, warum das in einigen der Fälle, die ich geprüft habe, so gewesen sein sollte, aber ich werde diesen Weg definitiv einschlagen. Das Merkwürdige ist, dass es in meinem Fall die falschen Beiträge verlinkt. Im Falle eines Fehlers würde ich annehmen, dass nichts passiert oder der Link unverändert bleibt. Leider sind meine Ruby-Kenntnisse nahezu null, aber ich werde mir den Code trotzdem ansehen.
Gibt es eine Möglichkeit, dieses Problem zu umgehen? Ich denke, das könnte häufig bei Tutorial-Beiträgen passieren, die immer wieder bearbeitet und ergänzt werden und bei denen Links hinzugefügt werden. Besteht eine Chance, das ohne manuelle Änderungen an diesen Beiträgen zu lösen?
Hmm, ich habe gerade bemerkt, dass Benutzergruppen nicht importiert wurden, und auch gesehen, dass sie im ersten Beitrag hier nicht aufgeführt sind, obwohl sie tatsächlich zu den ersten Dingen gehören, die beim Importer aufgelistet werden. Ich frage mich, ob es eine Möglichkeit gibt, sie zu importieren, einschließlich der Zuordnung von Benutzern zu diesen Gruppen, oder ob das einfach noch nicht funktioniert? Im letzteren Fall müssten wir wahrscheinlich eine Umgehungslösung finden.
Ja, das ist seltsam. Das deutet darauf hin, dass einige Ihrer lokalen Links in einem Format vorliegen, das das Importskript nicht erwartet, wodurch die reguläre Ausdruckslogik den falschen Beitrag zum Suchen auswählt. Wenn jemand einen Beitrag später bearbeitet hat, um auf einen Beitrag zu verweisen, der zum Zeitpunkt der ursprünglichen Verfassung noch nicht existierte (haben Sie das bestätigt?), dann könnte er eine andere Methode zur Erstellung des Links verwendet haben, die das Skript verwirrt hat.
Es ist überraschend, wie sehr jeder Import (insbesondere bei einem ausgereiften Forum) ein Unikat ist. Es ist eher selten, dass ein Import einfach nur das Ausführen eines Skripts ist (aber ich vermute, dass Menschen mich eher beauftragen, wenn ihr Import Komplikationen aufweist).