Acho que as alterações que você sugere provavelmente não quebrarão nenhuma outra importação. Muitas vezes, há um conjunto de alterações como essas e, em seguida, um monte de outras alterações que são específicas para a importação e descobrir quais são quais e testar novamente apenas com elas seria muito trabalho, então um PR não é criado.
Obrigado pela informação Jay. Farei o PR mais tarde, depois de terminar a migração, se puder ajudar a ter uma ferramenta de migração phpBB3 ainda melhor.
O script atual também ignora tags [size=XXX que encontrei durante outras migrações.
Na minha migração atual, fiz um script rápido no meu importador e usei o valor de XXX para substituir essas tags por \u003csmall\u003econteúdo\u003c/small\u003e e \u003cbig\u003econteúdo\u003c/big\u003e, pois são suportadas pelo Discourse.
Mas isso foi um desejo pessoal e pode ser uma solução mais adequada (em geral) simplesmente remover essas tags [size, como o script de importação já faz com as tags [color].
Obrigado @Canapin por todo o seu feedback. Uma PR é definitivamente bem-vinda!
Além disso, uma pequena prévia: Estamos trabalhando em uma solução que deve tornar todas as importações – não apenas phpBB – muito melhores, mais rápidas, mais fáceis de personalizar e se livrar daqueles problemas irritantes com a conversão de BBCode…
Como posso verificar se realmente tenho postagens faltando? Não consegui encontrar como exibir os dados (conteúdo da postagem, por exemplo) correspondentes a “Exceção ao criar postagem 354629”.
Não me lembro de ter tido esse erro em outros testes de importação nos dias anteriores, mas talvez eu apenas não tenha prestado atenção… Poderia estar relacionado a este problema conhecido?
251490 / 251672 ( 99.9%) [14140 itens/min] Postagem pai 337703 não existe. Pulando 354628: vw-camper est malade !?
Executei o script de importação duas vezes, como deveria, em relação a este problema específico.
Sinto-me burro! Até pensei nisso, mas tinha tanta certeza de que não tinha encontrado esse erro antes que não tentei…
Isso resolveu o problema, muito obrigado.
Suponho que você não possa dizer muito neste momento, mas alguma pista sobre como funcionará e quando alguns scripts de importação utilizáveis poderão ser usados com essa nova coisa?
Eu posso migrar outro phpBB este ano, então isso pode ser muito interessante para mim saber um pouco mais.
Olá, estou testando a migração do phpbb 3.2 para o Discourse para um fórum de tamanho considerável (30 mil tópicos / 600 mil posts) e quase tudo funciona bem, exceto por alguns tópicos não importados (“Postagem pai xx não existe”), não resolvidos com múltiplas execuções, mas não é um problema.
Meu principal problema é que importações subsequentes com dados novos (verificados com o sha256sum no arquivo import/mysql/imported) não importam posts novos no Discourse. Estou enfrentando uma exceção logo no início do processo, não sei se está ligada:
Falha ao mapear postagem com ID 6815
Valor BIGINT UNSIGNED está fora do intervalo em '(`phpbb_prod`.`o`.`poll_option_total` - (select count(distinct `phpbb_prod`.`v`.`vote_user_id`) from `phpbb_prod`.`phpbb3_poll_votes` `v` join `phpbb_prod`.`phpbb3_users` `u` join `phpbb_prod`.`phpbb3_topics` `t` where ((`phpbb_prod`.`u`.`user_id` = `phpbb_prod`.`v`.`vote_user_id`) and (`phpbb_prod`.`v`.`topic_id` = `phpbb_prod`.`t`.`topic_id`) and (`phpbb_prod`.`v`.`poll_option_id` = `phpbb_prod`.`o`.`poll_option_id`) and (`phpbb_prod`.`t`.`topic_id` = `phpbb_prod
Isso é um problema com enquetes incorporadas em posts, a partir do SQL exibido?
Enquetes são desde o início do fórum, eu não estava no comando nesta época, mas acho que usuários anônimos nunca foram permitidos a postar/responder enquetes
Com
SET sql_mode = 'NO_UNSIGNED_SUBTRACTION';
Consigo consultar todos os votos de enquetes, e para 2 delas, tenho “anonymous_votes” negativos. Parece que este fórum permitiu de alguma forma a votação anônima, na verdade
Obrigado @gerhard pela dica, vou investigar mais a fundo…
Estou atualmente pesquisando a migração de um fórum phpBB para Discourse. O problema é que nosso phpBB está usando Postgres em vez de MySQL, então eu gostaria de adaptar o script para funcionar com ele também.
Alguém poderia me dar algumas dicas sobre a melhor maneira de fazer isso? Como, idealmente, eu gostaria que todos se beneficiassem desse trabalho, então gostaria que ele usasse uma abordagem aceita pelo upstream em vez de apenas um hack rápido e sujo para fazê-lo funcionar.
Pelo que pude apurar, parece ser principalmente uma questão de adicionar as instruções SQL corretas para o esquema PostgreSQL usando o adaptador de banco de dados correto, no entanto, não tenho certeza de como toda a orquestração para o contêiner Docker precisa ser adaptada para iniciar corretamente uma instância PostgreSQL, se necessário pelo tipo de banco de dados especificado na configuração, para importar o dump do banco de dados e executar as instruções contra ele.
No entanto, acho que ele não tem sido usado recentemente, então provavelmente está quebrado e pode não funcionar com as versões atuais do phpBB porque o formato de armazenamento Markdown mudou.
Qualquer que seja o caminho que você escolher, eu não gastaria muito tempo aprimorando sua solução, a menos que você realmente queira. Os scripts de importação atuais serão descontinuados em algum momento deste ano…
Obrigado, eu não estava ciente disso! E obrigado pelo aviso de que os scripts serão descontinuados, então acho que pode não valer a pena fazer um upstream de um recurso tão importante para eles se eles serão descontinuados em breve? Há um substituto planejado para eles?
Outra coisa importante que eu estava me perguntando, preciso configurar algo além de disable_edit_notifications para garantir que nenhum dos usuários importados seja notificado por e-mail pelo Discourse sobre qualquer coisa que eu importar? Como atualmente a instância não é pública e estamos apenas experimentando a importação e provavelmente precisando de várias tentativas até que esteja boa o suficiente, quero evitar que quaisquer e-mails sejam enviados.