Recentemente, realizei com sucesso uma migração de banco de dados bbPress usando o script de migração integrado do Discourse. Agora, vou compartilhá-lo como um tutorial passo a passo.
Nota: Este tutorial é para o plugin bbPress, não para a versão autônoma legada do bbPress.
Quais dados podem ser importados?
- Usuários (incluindo usuários anônimos)
- Categorias
- Tópicos
- Publicações
- Mensagens privadas (via BuddyPress)
- Anexos
- Links permanentes (Permalinks)
Antes de iniciar a migração, configure um ambiente de desenvolvimento em sua máquina (ou dentro de uma máquina virtual) e execute a importação ali, em vez de dentro do contêiner Docker. Quando tentei fazer isso dentro do contêiner Docker, obtive o erro peer authentication failed. Portanto, recomendo fortemente que você use uma máquina de desenvolvimento. Consulte o guia de instalação para desenvolvimento no macOS ou Ubuntu / Debian.
O Discourse requer Ruby 3.4+. Você pode verificar sua versão do Ruby com:
ruby -v
Agora, precisamos instalar a dependência libmysqlclient-dev para poder usar o gem mysql2.
sudo apt-get install libmysqlclient-dev
Após a instalação bem-sucedida, vá para o caminho da sua instalação de desenvolvimento do Discourse (geralmente ~/discourse).
cd ~/discourse
Configurando a conexão com o banco de dados
O script de importação do bbPress lê todas as configurações de conexão do banco de dados a partir de variáveis de ambiente. Você não precisa editar o arquivo do script. As seguintes variáveis de ambiente são suportadas:
| Variável | Padrão | Descrição |
|---|---|---|
BBPRESS_HOST |
localhost |
Host do banco de dados MySQL |
BBPRESS_USER |
root |
Nome de usuário do MySQL |
BBPRESS_PW |
(vazio) | Senha do MySQL |
BBPRESS_DB |
bbpress |
Nome do banco de dados MySQL |
BBPRESS_PREFIX |
wp_ |
Prefixo das tabelas do WordPress |
BBPRESS_ATTACHMENTS_DIR |
/path/to/attachments |
Caminho para o diretório de anexos do bbPress |
Se você estiver migrando seu banco de dados do localhost, geralmente só precisa definir o nome do banco de dados:
IMPORT=1 bundle && IMPORT=1 BBPRESS_DB="meu_bbpress" bundle exec ruby script/import_scripts/bbpress.rb
Se você estiver migrando seu banco de dados de um servidor externo, também precisará definir o host, o nome de usuário e a senha:
IMPORT=1 bundle && IMPORT=1 BBPRESS_HOST="NOME_DO_SERVIDOR_REMOTO" BBPRESS_USER="NOME_USUARIO_BD" BBPRESS_PW="MINHA_SENHA_SEGURA" BBPRESS_DB="NOME_BD" bundle exec ruby script/import_scripts/bbpress.rb
Parabéns! Seu banco de dados foi migrado com sucesso do bbPress para o Discourse
![]()
Agora, faça um backup na página de administração /admin/backups e importe-o no seu site Discourse ao vivo.
Após mover seu fórum bbPress para o Discourse, se você ainda for usar seu site WordPress como site principal e quiser conectá-lo ao Discourse, instale o plugin oficial do WordPress para Discourse.


