Estou atualmente trabalhando na importação de dados de um fórum desenvolvido sob medida para o Discourse. O fórum legado tem cerca de 30 mil tópicos e, idealmente, gostaria de marcá-los todos como lidos durante o processo de importação. Se entendi corretamente, a tabela relevante aqui é a post_timings.
Minha pergunta é: será suficiente adicionar uma entrada em post_timings para a postagem mais recente em cada tópico para cada usuário? Ou eu teria que adicionar uma entrada para cada postagem, aproximadamente 700 mil postagens × 2 mil usuários?
Apenas para adicionar alguns detalhes sobre meu caso de uso específico: o software de fórum legado do qual estamos migrando é limitado, mas simples, e nossos membros têm uma ampla faixa etária e níveis variados de proficiência técnica. Criamos uma instância do Discourse para que os membros possam testar enquanto nos preparamos para a migração e recebemos alguns comentários de que a plataforma é bastante intimidadora.
Acho que isso é apenas a curva de aprendizado — eu mesmo me sinto um pouco assim, e sou profissional de TI. Quando as pessoas se acostumar com a mudança, acredito que verão que o Discourse é uma melhoria clara em relação ao software legado.
O que me preocupa é perder pessoas antes que elas cheguem a esse estágio. Se os usuários forem enviados de volta à primeira postagem de um tópico com 1.000 mensagens na primeira vez que alguém responder a um tópico importado, isso será um grande impacto na usabilidade, e é possível que alguns membros desistam. Por isso, estou muito interessado em marcar todas as postagens importadas como lidas e permitir que os usuários acessem diretamente o novo conteúdo.
Pesquisei o arquivo antes de postar isso, mas não encontrei nada que respondesse a essa pergunta específica.
Você precisa criar registros na tabela topic_users e na tabela post_timings. Você pode usar os métodos nos modelos TopicUser e PostTiming ou fazê-lo de forma mais eficiente usando SQL.
Aqui está um exemplo do script de importação base que marca as postagens como lidas para seus autores. Você precisará adaptá-lo para o seu caso de uso.