So importieren Sie Beiträge am besten im Bulk, wenn Sie keine Ruby-Skripte verwenden können?

Hey, ich verlagere eine Menge Inhalte von meiner alten (proprietären) Forum-Software zu einem neuen Discourse-Forum.

Da ich kein Ruby-Entwickler bin, konnte ich die von Discourse bereitgestellten Beispiel-Importskripte nicht wirklich nutzen – das wäre für mich keine gute Lösung. Deshalb rufe ich einfach die API auf, um alle Schritte zu erledigen.

Das Problem ist, dass ich unterwegs auf viele Probleme stoße, hauptsächlich Rate Limiting, aber auch Probleme mit wiederholten Foren und das Einbringen des Nachrichteninhalts durch alle „Realitätschecks" (zum Beispiel: Mindestlänge eines Beitrags, was ich schließlich in den Einstellungen auf ‘1’ geändert habe).

Gibt es eine andere oder bessere Option? Kann ich Daten irgendwie direkt in die Datenbank schreiben oder …?

Wenn du Programmiersprachen kennst, ist der Einstieg über die bestehenden Import-Skripte der richtige Weg. Die Bulk-Import-Skripte modifizieren zwar direkt die SQL-Datenbank, sind aber immer noch in Ruby geschrieben.

Ok… ich werde mir die Skripte ansehen… Ich bin ein erfahrener Entwickler in anderen Sprachen, nur nicht in Ruby/RoR.

Ok, ich bin zurück, nachdem ich die bestehenden Import-Skripte auf GitHub angesehen habe. :wink: Soweit ich das überblicke, sieht es sehr ähnlich aus wie der Code, den ich bereits für meine Importe geschrieben habe: viele Schleifen, um die Benutzer, die Themen und schließlich die Nachrichten zu holen. Spezieller Code für Anhänge (getrenntes Hochladen, Abrufen der internen Discourse-URL und Anhängen an den Nachrichtentext).

Gibt es spezielle API-Aufrufe oder sonstiges, das in diesen Skripten fehlt und mir helfen könnte? Das Problem ist nicht, dass ich kein eigenes Import-Skript schreiben kann (unter Verwendung der API), sondern dass es sich etwas klobig anfühlt. Ich frage mich, ob es eine elegantere Lösung gibt. Wenn es in den Beispielskripten irgendwelche „Tricks

Deshalb habe ich empfohlen, es nicht zu verwenden.

Heh, ja, das haben wir bereits geklärt, und wir haben auch festgestellt, dass ich RoR nicht kenne. Daher ist es für mich ebenfalls keine gute Lösung, Zeit in das Umschreiben eines der bestehenden Skripte zu investieren. Falls du noch andere Empfehlungen hast, die mir hier weiterhelfen könnten :wink: würde ich mich (aufrichtig) sehr freuen, davon zu hören. Danke.

Hallo Eric,

Die Kern-Migrations-Skripte sind ein ausgezeichneter Ausgangspunkt. Vor einem Monat hatte ich ebenfalls noch nie in Ruby programmiert.

Tatsächlich habe ich vor ein paar Tagen ein benutzerdefiniertes PHP-Skript zur Unterstützung der Migration geschrieben (eine lange Dekade PHP-Jahre liegen hinter mir), habe mich aber dafür entschieden, es in Ruby neu zu schreiben, und „es ist ein Kinderspiel

Danke – ja, RoR lernen steht auf der Liste! :wink: