Olá, estou no processo de migração do AnswerHub para o Discourse. No entanto, como não tenho acesso ao banco de dados do AnswerHub, raspei o site inteiro para coletar as Ideias e suas respectivas contagens de votos.
Como posso substituir a contagem de votos para uma pergunta específica no Discourse? Por exemplo, a pergunta “fazer uma nova receita com laranjas” tem 42 votos no meu AnswerHub. Importei a pergunta, mas gostaria de definir a contagem de votos para 42 em vez de o padrão ser 0. Dessa forma, os usuários poderão ver o número exato de votos para cada pergunta.
Existe alguma maneira de executar um comando PostgreSQL para definir manualmente a contagem de votos?
Preciso criar mais de 100 usuários falsos para simular a contagem de votos para cada pergunta? Espero que não, pois essa não é uma solução ideal
Esta é uma ótima pergunta e receio não poder responder com precisão, mas talvez eu possa dar algumas dicas, já que você parece entender um pouco de programação (já que está migrando do zero).
O plugin de votação usa 2 tabelas:
discourse_voting_topic_vote_count
Nome do Campo
Tipo
Restrições
id
serial
chave primária
topic_id
integer
chave estrangeira (referencia tópicos), pode ser nulo
votes_count
integer
pode ser nulo
created_at
timestamp
updated_at
timestamp
discourse_voting_votes
Nome do Campo
Tipo
Restrições
id
serial
chave primária
topic_id
integer
chave estrangeira (referencia tópicos), pode ser nulo
user_id
integer
chave estrangeira (referencia usuários), pode ser nulo
archive
boolean
pode ser nulo, padrão false
created_at
timestamp
updated_at
timestamp
Você também pode se interessar pelas configurações do plugin, mas imagino que você já esteja ciente delas
Finalmente, a votação de tópicos deve ser habilitada por categoria, então eu as habilitaria durante a criação das categorias no script de importação.
Quanto a como popular corretamente os votos no tópico durante uma migração, não sou um especialista, mas acho que eu optaria por ter usuários aleatórios e únicos para cada voto, já que um job impede votos múltiplos do mesmo usuário e excluiria votos duplicados:
Uau, obrigado por este post ótimo e útil!
Decidi optar por uma abordagem diferente:
No meu site original, consegui recuperar os dados sobre quem votou em quê, então armazenei essas informações em um banco de dados. Mais tarde, usei um script Python com a biblioteca requests para registrar votos de suas contas migradas para as ideias em que já haviam votado, e voilà!