Purgar tópicos e postagens antigas.
Revise suas categorias e determine se todos os tópicos precisam ser migrados. Você precisa de todos os dados ou os últimos anos de tópicos serão suficientes? O phpBB purgará automaticamente os tópicos com base na idade. Você pode configurar/ajustar as datas de purga para seus fóruns no ACP do phpBB. Vá para Fóruns e selecione o widget de engrenagem para o fórum que deseja modificar.
Purgar nomes de usuário antigos.
O importador do Discourse não migrará usuários que não postaram. Entendendo isso, você pode remover usuários antigos que nunca postaram. Vá para o ACP do phpBB e selecione Usuários e Grupos. Há uma opção para Purgar Usuários. Você pode definir as postagens como 0 e a data da última atividade. Isso permitirá que você remova todos os usuários que nunca postaram e não estiveram ativos em seus fóruns por algum tempo.
Determinar o número de postagens de usuários anônimos.
A migração do Discourse migrará usuários anônimos como usuários suspensos ou todos para um usuário do sistema. Revise quantos tópicos/postagens são atribuídos a um usuário anônimo.
O MySQL determinará o user_id do usuário anônimo. Para a maioria das instalações, este é o user_id = 1.
SELECT `user_id`, `username` FROM `phpbb_users` where `username_clean` = "anonymous"
Para verificar tópicos e postagens. Atualize a consulta com o user_id anônimo do seu sistema
SELECT * FROM `phpbb_posts` where `poster_id` = "1"
SELECT * FROM `phpbb_topics` where `topic_poster` = "1"
Com base nesses resultados, você precisa determinar como deseja configurar o sistema para lidar com postagens e tópicos de usuários anônimos. Eu tinha apenas alguns e os excluí.
Revisar postagens ocultas ou excluídas logicamente.
Este foi um recurso implementado no phpBB 3.1. Valide se você tem alguma postagem oculta ou excluída logicamente. O Discourse ignora este campo e importará as postagens. As postagens foram excluídas pelo usuário/mods por um motivo.
SELECT * FROM `phpbb_posts` where `poster_visibility` = "2"
Exclua quaisquer postagens que estejam listadas.
Validar e-mails limpos.
Execute o seguinte script MySQL para validar seus e-mails para que eles não tenham espaços no final e remova quaisquer problemas de e-mail identificados.
SELECT `user_email` FROM `phpbb_users` where CHAR_LENGTH(`user_email`) != CHAR_LENGTH(TRIM(`user_email`)) ORDER BY `user_id` ASC
Validar Títulos Duplicados.
A configuração do Discourse tem uma opção que permite títulos duplicados. A seguinte consulta o ajudará a entender se você tem muitos títulos duplicados. Meu fórum tinha mais de 1.000 tópicos com títulos duplicados, então atualizei a opção para permitir títulos de tópicos duplicados.
SELECT `topic_title`, COUNT(*) as count FROM `phpbb_topics` GROUP BY `topic_title` HAVING COUNT(*) > 1 ORDER BY `count` DESC
Encontrar Tópicos Órfãos.
Todo tópico deve ter uma postagem, mas às vezes as coisas quebram. Isso listará todos os tópicos sem postagens.
SELECT * FROM `phpbb_topics` WHERE `topic_id` NOT IN (Select topic_id from phpbb_posts) ORDER BY `topic_approved` DESC
Limpe quaisquer tópicos órfãos.
Encontrar Postagens Órfãs.
Toda postagem deve pertencer a um tópico. Isso listará postagens que não têm um topic_id válido.
SELECT * FROM `phpbb_posts` WHERE `topic_id` NOT IN (Select topic_id from phpbb_topics) ORDER BY `post_id` DESC
Limpe quaisquer postagens órfãs.
Validar se a primeira postagem do tópico é válida
A primeira postagem de um tópico pode ser excluída, resultando em um tópico com um first_post_id incorreto. Isso valida se o topic_first_post_id é válido.
SELECT * FROM `phpbb_topics` WHERE `topic_first_post_id` NOT IN (Select post_id from phpbb_posts) ORDER BY `topic_approved` DESC
Limpe o first_post_id do tópico
Adicionarei itens adicionais conforme os encontrar na preparação para uma migração futura. Se você tiver alguma verificação recomendada, adicione-a abaixo.