Ich habe kürzlich erfolgreich eine bbPress-Datenbankmigration mit dem integrierten Migrationsskript von Discourse durchgeführt. Jetzt teile ich dies als schrittweises Tutorial.
Hinweis: Dieses Tutorial gilt für das bbPress-Plugin, nicht für die veraltete eigenständige Version von bbPress.
Welche Daten können importiert werden?
- Benutzer (einschließlich anonymer Benutzer)
- Kategorien
- Themen
- Beiträge
- Private Nachrichten (über BuddyPress)
- Anhänge
- Permalinks
Bevor Sie mit der Migration beginnen, richten Sie eine Entwicklungsumgebung auf Ihrem Rechner (oder in einer virtuellen Maschine) ein und führen Sie den Import dort aus, nicht im Docker-Container. Als ich es im Docker-Container versucht habe, trat das Problem „peer authentication failed" auf. Daher empfehle ich Ihnen dringend, einen Entwicklungsrechner zu verwenden. Weitere Informationen finden Sie im Installationsleitfaden für die Entwicklung unter macOS oder Ubuntu / Debian.
Discourse erfordert Ruby 3.4+. Sie können Ihre Ruby-Version wie folgt überprüfen:
ruby -v
Nun müssen wir die Abhängigkeit libmysqlclient-dev installieren, um das mysql2-Gem verwenden zu können.
sudo apt-get install libmysqlclient-dev
Nach der erfolgreichen Installation wechseln Sie in den Pfad Ihrer Discourse-Entwicklungsinstallation (typischerweise ~/discourse).
cd ~/discourse
Konfigurieren der Datenbankverbindung
Das bbPress-Importskript liest alle Datenbankverbindungseinstellungen aus Umgebungsvariablen aus. Sie müssen die Skriptdatei nicht bearbeiten. Folgende Umgebungsvariablen werden unterstützt:
| Variable | Standard | Beschreibung |
|---|---|---|
BBPRESS_HOST |
localhost |
MySQL-Datenbankhost |
BBPRESS_USER |
root |
MySQL-Benutzername |
BBPRESS_PW |
(leer) | MySQL-Passwort |
BBPRESS_DB |
bbpress |
MySQL-Datenbankname |
BBPRESS_PREFIX |
wp_ |
WordPress-Tabellenpräfix |
BBPRESS_ATTACHMENTS_DIR |
/path/to/attachments |
Pfad zum bbPress-Anhangsverzeichnis |
Wenn Sie Ihre Datenbank von localhost migrieren, müssen Sie in der Regel nur den Datenbanknamen festlegen:
IMPORT=1 bundle && IMPORT=1 BBPRESS_DB="my_bbpress" bundle exec ruby script/import_scripts/bbpress.rb
Wenn Sie Ihre Datenbank von einem externen Server migrieren, müssen Sie zusätzlich den Host, den Benutzernamen und das Passwort festlegen:
IMPORT=1 bundle && IMPORT=1 BBPRESS_HOST="REMOTE_HOST_NAME" BBPRESS_USER="DB_USERNAME" BBPRESS_PW="MY_SECURE_PASSWORD" BBPRESS_DB="DB_NAME" bundle exec ruby script/import_scripts/bbpress.rb
Herzlichen Glückwunsch! Ihre Datenbank wurde erfolgreich von bbPress nach Discourse migriert
![]()
Erstellen Sie nun über die Admin-Seite /admin/backups ein Backup und importieren Sie es auf Ihrer Live-Discourse-Website.
Nachdem Sie Ihr bbPress-Forum zu Discourse verschoben haben, installieren Sie das offizielle WordPress-Plugin von Discourse, falls Sie Ihre WordPress-Website weiterhin als Hauptseite nutzen und diese mit Discourse verbinden möchten.


