Migrar um fórum phpBB3 para Discourse

Parece que a versão atual do script tem alguns bugs. Você pode tentar atualizar seu arquivo settings.yml e garantir que new_categories e category_mappings estejam conforme mostrado abaixo?

new_categories: []
category_mappings: {}
11 curtidas

@gerhard obrigado pela dica.. vou tentar isso em instantes

1 curtida

Muito obrigado, funcionou!

3 curtidas

Um post foi mesclado em um tópico existente: Guia para Iniciantes para Instalar o Discourse no Windows 10 para Desenvolvimento

Essa é uma ótima notícia! Obrigado. Tenho um dump SQL de teste 3.2 com o qual vou brincar um pouco e farei uma cópia da versão 3.3 para experimentar. Queria poder pagar para vocês cuidarem disso, mas as carteiras estão muito vazias… heh.

De qualquer forma, obrigado novamente e estou ansioso para experimentar!

2 curtidas

Estou com problemas ao importar.. Quando executo o script de importação, ele insere meu sqldump e diz “A importação do phpBB3 está começando…”, mas imediatamente lança um traceback com o erro geral:

/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.7.0/lib/bootsnap/compile_cache.rb:29:in `permission_error’: o bootsnap não tem permissão para gravar entradas de cache em ‘tmp/cache/bootsnap/compile-cache’ (ou, menos provavelmente, não tem permissão para ler ‘/usr/local/lib/ruby/2.7.0/set.rb’) (Bootsnap::CompileCache::PermissionError)

Obviamente, é algum tipo de erro de permissão, mas estou tentando determinar o que preciso fazer para corrigir.. Qualquer ajuda é bem-vinda!

1 curtida

ATUALIZAÇÃO! Consegui resolver! Um chmod rápido no container corrigiu o problema.

Testei com um banco de dados phpBB 3.3, aplicando a edição que você sugeriu e funcionou perfeitamente! Estou fazendo alguns testes mais detalhados, mas tudo está mais ou menos lá, exceto por alguns problemas de BBCode esperados. Usuários, mensagens, posts, tudo foi copiado corretamente. A única coisa que aparentemente não funcionou foi a migração de senhas. Isso é algo menor. O módulo foi instalado e eu pude ver que ele carregou, então não sei por que eles não foram transferidos. Mas não importa, estou animado por finalmente estar me livrando do phpBB.

Obrigado novamente, @gerhard, pelo seu trabalho!

2 curtidas

Isso é bom de saber. Sinta-se à vontade para me enviar uma MP com exemplos de problemas de BBCode. Estou interessado no valor da coluna phpbb_posts.post_text.

3 curtidas

Tentei importar um phpBB3 (.2.7) duas vezes.
Na primeira vez, nenhum tópico foi importado e os usuários ficaram com problemas.
Reinstalei o Ubuntu do zero e refiz tudo, mas desta vez estou travado na parte do import_phpbb3.sh. Ele carrega o banco de dados e depois para com este erro:

The phpBB3 import is starting...

Traceback (most recent call last):
        20: from script/import_scripts/phpbb3.rb:13:in `<main>'
        19: from script/import_scripts/phpbb3.rb:14:in `<module:ImportScripts>'
        18: from script/import_scripts/phpbb3.rb:15:in `<module:PhpBB3>'
        17: from script/import_scripts/phpbb3.rb:15:in `require_relative'
        16: from /var/www/discourse/script/import_scripts/phpbb3/support/settings.rb:5:in `<top (required)>'
        15: from /var/www/discourse/script/import_scripts/phpbb3/support/settings.rb:5:in `require_relative'
        14: from /var/www/discourse/script/import_scripts/base.rb:16:in `<top (required)>'
        13: from /var/www/discourse/script/import_scripts/base.rb:16:in `require_relative'
        12: from /var/www/discourse/config/environment.rb:4:in `<top (required)>'
        11: from /var/www/discourse/config/environment.rb:4:in `require'
        10: from /var/www/discourse/config/application.rb:70:in `<top (required)>'
         9: from /var/www/discourse/config/application.rb:71:in `<module:Discourse>'
         8: from /var/www/discourse/config/application.rb:96:in `<class:Application>'
         7: from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/dependencies.rb:324:in `require'
         6: from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/dependencies.rb:291:in `load_dependency'
         5: from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/dependencies.rb:324:in `block in require'
         4: from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:44:in `require'
         3: from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
         2: from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/loaded_features_index.rb:89:in `register'
         1: from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require': cannot load such file -- mocha/version (LoadError)

Qualquer ajuda será muito apreciada.

1 curtida

Atualização sobre o phpBB 3.3.. algo que eu gostaria de ter notado antes de transferir os fóruns: os anexos foram alterados na versão 3.3. Em vez de usar o nome físico do arquivo, agora há um identificador único em cada um, que é cruzado na tabela phpbb_attachments. O identificador único do arquivo está no formato USERID_possiblyrandomstring

Não há extensão de arquivo ou qualquer coisa assim, pois o phpBB 3.3 determina isso a partir da tabela.. Não tenho certeza de uma maneira de automatizar o processo, então estou atualmente restaurando as imagens antigas em lotes.. Talvez eu possa acelerar meu processo, pois tenho uma cópia mais antiga das imagens anterior à atualização para a 3.3, mas avisem-se: importar da versão 3.3 pode quebrar seus anexos, e você terá um trabalho árduo, especialmente se tiver alguns milhares como eu.. enfim! Sorte de ser voluntariamente o cobaia

2 curtidas

Foi essa a maior quantidade de informações que você recebeu? No meu caso, dizia que não foi possível carregar o diretório tmp/ devido a problemas de permissão, então, enquanto estava no contêiner de importação, executei um chmod -R 777 nesse diretório. Novamente, isso foi apenas para a importação e não afetará seu contêiner de “app”.

2 curtidas

Consegui importar do phpBB 3.2, mas precisei:

  • Importar o banco de dados manualmente no MariaDB interno: mysql -u root -p phpbb < /shared/import/mysql/data/phpbb_mysql.sql

  • Configurar o settings.yml com new_categories: [] e category_mappings: {}

  • Repetir o script de importação várias vezes, pois posts e tópicos geravam erros na primeira execução

Depois disso, tudo funcionou bem…

2 curtidas

Olá a todos.
Tenho um problema.
Existe https://discourse.example.com/
Quero importar um banco de dados de https://forum.old.example.com/
Segui todos os passos deste guia
Fiz um dump do banco de dados, nomeei-o phpbb_mysql.sql e coloquei em

/var/discourse/shared/standalone/import/data/

Após executar

/var/discourse/launcher enter import
import_phpbb3.sh

Obtenho o seguinte erro:

A tabela ‘phpbb.phpbb_config’ não existe

Será que é uma questão de settings.yml?

Por favor, ajudem-me a resolver este problema

1 curtida

Certifique-se de que o table_prefix está correto. Ele aparece como phpbb_ no painel de controle?

2 curtidas

Sim, meu prefixo está correto

1 curtida

Se eu estiver vendo corretamente, schema no seu settings.yml deve ser definido como teamlab_forum_saas.

2 curtidas

Este é o nome do banco de dados. É este o esquema?

1 curtida

Isso está correto. No MySQL, schema é sinônimo de database. :slightly_smiling_face:

3 curtidas

Apenas um momento, vou tentar.

1 curtida

Funcionou. Muito obrigado. Isso ajudou :+1: :clap:

2 curtidas