J’ai récemment effectué avec succès une migration de base de données bbPress en utilisant le script de migration intégré de Discourse. Je vais maintenant le partager sous forme de tutoriel étape par étape.
Note : Ce tutoriel concerne le plugin bbPress et non l’ancienne version autonome de bbPress.
Quelles données peuvent être importées ?
- Utilisateurs (y compris les utilisateurs anonymes)
- Catégories
- Sujets
- Messages
- Messages privés (via BuddyPress)
- Pièces jointes
- Liens permanents (permalinks)
Avant de commencer la migration, configurez un environnement de développement sur votre machine (ou dans une machine virtuelle) et exécutez l’importation depuis cet environnement plutôt que dans le conteneur Docker. Lorsque j’ai essayé de l’exécuter dans un conteneur Docker, j’ai rencontré une erreur peer authentication failed. Je vous recommande donc vivement d’utiliser une machine de développement. Consultez le guide d’installation pour macOS ou Ubuntu / Debian en mode développement.
Discourse nécessite Ruby 3.4+. Vous pouvez vérifier votre version de Ruby avec :
ruby -v
Nous devons maintenant installer la dépendance libmysqlclient-dev afin de pouvoir utiliser le gem mysql2.
sudo apt-get install libmysqlclient-dev
Après l’installation réussie, accédez au chemin d’installation de votre environnement de développement Discourse (généralement ~/discourse).
cd ~/discourse
Configuration de la connexion à la base de données
Le script d’importation bbPress lit tous les paramètres de connexion à la base de données depuis des variables d’environnement. Vous n’avez pas besoin de modifier le fichier du script. Les variables d’environnement suivantes sont prises en charge :
| Variable | Valeur par défaut | Description |
|---|---|---|
BBPRESS_HOST |
localhost |
Hôte de la base de données MySQL |
BBPRESS_USER |
root |
Nom d’utilisateur MySQL |
BBPRESS_PW |
(vide) | Mot de passe MySQL |
BBPRESS_DB |
bbpress |
Nom de la base de données MySQL |
BBPRESS_PREFIX |
wp_ |
Préfixe des tables WordPress |
BBPRESS_ATTACHMENTS_DIR |
/path/to/attachments |
Chemin vers le répertoire des pièces jointes bbPress |
Si vous migrez votre base de données depuis localhost, vous n’avez généralement besoin de définir que le nom de la base de données :
IMPORT=1 bundle && IMPORT=1 BBPRESS_DB="my_bbpress" bundle exec ruby script/import_scripts/bbpress.rb
Si vous migrez votre base de données depuis un serveur externe, vous devrez également définir l’hôte, le nom d’utilisateur et le mot de passe :
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
Félicitations ! Votre base de données a été migrée avec succès de bbPress vers Discourse
![]()
Prenez maintenant une sauvegarde depuis la page d’administration /admin/backups et importez-la sur votre site Discourse en production.
Après avoir déplacé votre forum bbPress vers Discourse, si vous continuez à utiliser votre site WordPress comme site principal et que vous souhaitez le connecter à Discourse, installez le plugin WordPress officiel de Discourse.


