Recientemente realicé con éxito una migración de base de datos de bbPress utilizando el script de migración integrado de Discourse. Ahora lo compartiré como un tutorial paso a paso.
Nota: Este tutorial es para el plugin bbPress, no para la versión independiente heredada de bbPress.
¿Qué datos se pueden importar?
- Usuarios (incluidos los usuarios anónimos)
- Categorías
- Temas
- Publicaciones
- Mensajes privados (a través de BuddyPress)
- Archivos adjuntos
- Enlaces permanentes (Permalinks)
Antes de iniciar la migración, configure un entorno de desarrollo en su máquina (o dentro de una máquina virtual) y ejecute la importación allí en lugar de dentro del contenedor Docker. Cuando lo intenté dentro del contenedor Docker, obtuve el problema peer authentication failed. Por lo tanto, le recomiendo encarecidamente que utilice una máquina de desarrollo. Consulte la guía de instalación para desarrollo en macOS o Ubuntu / Debian.
Discourse requiere Ruby 3.4 o superior. Puede verificar su versión de Ruby con:
ruby -v
Ahora necesitamos instalar la dependencia libmysqlclient-dev para poder usar el gem mysql2.
sudo apt-get install libmysqlclient-dev
Después de la instalación exitosa, vaya a la ruta de su instalación de desarrollo de Discourse (típicamente ~/discourse).
cd ~/discourse
Configurando la conexión a la base de datos
El script de importación de bbPress lee toda la configuración de conexión a la base de datos desde variables de entorno. No es necesario editar el archivo del script. Se admiten las siguientes variables de entorno:
| Variable | Valor predeterminado | Descripción |
|---|---|---|
BBPRESS_HOST |
localhost |
Host de la base de datos MySQL |
BBPRESS_USER |
root |
Nombre de usuario de MySQL |
BBPRESS_PW |
(vacío) | Contraseña de MySQL |
BBPRESS_DB |
bbpress |
Nombre de la base de datos MySQL |
BBPRESS_PREFIX |
wp_ |
Prefijo de tabla de WordPress |
BBPRESS_ATTACHMENTS_DIR |
/ruta/a/adjuntos |
Ruta al directorio de archivos adjuntos de bbPress |
Si está migrando su base de datos desde localhost, generalmente solo necesita establecer el nombre de la base de datos:
IMPORT=1 bundle \u0026\u0026 IMPORT=1 BBPRESS_DB="mi_bbpress" bundle exec ruby script/import_scripts/bbpress.rb
Si está migrando su base de datos desde un servidor externo, también necesitará establecer el host, el nombre de usuario y la contraseña:
IMPORT=1 bundle \u0026\u0026 IMPORT=1 BBPRESS_HOST="NOMBRE_HOST_REMOTO" BBPRESS_USER="NOMBRE_USUARIO_DB" BBPRESS_PW="MI_CONTRASENA_SEGURA" BBPRESS_DB="NOMBRE_DB" bundle exec ruby script/import_scripts/bbpress.rb
¡Felicitaciones! Su base de datos se migró con éxito de bbPress a Discourse
![]()
Ahora tome una copia de seguridad desde la página de administración /admin/backups e impórtela en su sitio web de Discourse en vivo.
Después de mover su foro de bbPress a Discourse, si aún va a usar su sitio web de WordPress como sitio principal y desea conectarlo con Discourse, instale el plugin oficial de WordPress de Discourse.


