Ich benötige etwas Unterstützung bei der Migration von NodeBB zu Discourse. Ich habe diesen Thread gesehen und festgestellt, dass @eatcodetravel das Skript erstellt hat. Ich verstehe nicht, wie diese Skripte ausgeführt werden. Muss ich Redis auch auf dem Server installieren, auf dem Discourse läuft, für den Import?
You need redis to run discourse. The nodebb importer is only available if you use redis as your nodebb database. Here is how I would do the migration.
Setup a discourse environment (it can be your machine or an instance in the cloud)
Change the nodebb importer configuration (take a look at the code, there’s comments on what you need to replace)
Run the importer with bundle exec ruby script/import_scripts/nodebb/nodebb.rb from the discourse folder
(Optional) make a backup of discourse and restore it where you need it
The importer will connect to your nodebb redis database and copy everything over discourse, the time it takes is related to the amount of data you have. Also, you need to wait for discourse to finish processing jobs before you do the backup, go to /sidekiq route as an admin and you will see the pending/completed jobs
Ich habe Discourse über Digital Ocean und Docker ausgeführt. Ich habe script/import_scripts/nodebb/nodebb.rb innerhalb des Containers bearbeitet und ATTACHMENT_DIR so angepasst, dass es das Verzeichnis enthält, in dem sich NodeBB befindet. Ich habe das NodeBB-Verzeichnis ebenfalls in den Container kopiert.
I neglected to write down the actual paths to files, I just had those notes from when I did it.
Are you using a dev environment outside of the Docker image? it might make it easier ensure redis is stopped when you replace the dump.rdb file.
Edit: I wrote this before finishing coffee. So the reason I suggest that you need to have redis stopped is that I don’t think it will read from the dump file until after it has been stopped (redis stores the database in memory and periodically writes to the dump.rdb file)
Ich habe versucht, Redis zu stoppen, aber es scheint unabhängig von meinen Aktionen weiterzulaufen. Ich habe den Prozess ein Dutzend Mal beendet, aber er läuft immer noch.
Ich versuche es erneut. Der gleiche Fehler tritt weiterhin auf und enthält dies:
FATAL: Peer-Authentifizierung fehlgeschlagen für Benutzer “discourse” (PG::ConnectionBad)
Sollte ich dies innerhalb des Docker-Containers ausführen? Das habe ich bisher als root getan. Ich habe es auch als discourse versucht, was zu folgendem führt:
FATAL: Datenbank “discourse_development” existiert nicht (ActiveRecord::NoDatabaseError)
Ich bin mir nicht sicher, was ich falsch machen könnte.