Hola, estoy en proceso de migrar de AnswerHub a Discourse. Sin embargo, como no tengo acceso a la base de datos de AnswerHub, he extraído todo el sitio web para recopilar las Ideas y sus respectivos recuentos de votos.
¿Cómo puedo anular el recuento de votos para una pregunta específica en Discourse? Por ejemplo, la pregunta “crear una nueva receta con naranjas” tiene 42 votos en mi AnswerHub. He importado la pregunta, pero me gustaría establecer el recuento de votos en 42 en lugar de que se establezca por defecto en 0. De esta manera, los usuarios podrán ver el número exacto de votos para cada pregunta.
¿Hay alguna forma de ejecutar un comando de PostgreSQL para establecer manualmente el recuento de votos?
¿Necesito crear más de 100 usuarios falsos para simular el recuento de votos para cada pregunta? Espero que no, ya que no es una solución ideal
Esta es una gran pregunta y me temo que no puedo responder con precisión, pero tal vez pueda darte algunas indicaciones, ya que parece que sabes un poco de programación (ya que estás migrando desde cero).
El plugin de votación utiliza 2 tablas:
discourse_voting_topic_vote_count
Nombre del campo
Tipo
Restricciones
id
serial
clave primaria
topic_id
integer
clave externa (referencia a topics), puede ser nulo
votes_count
integer
puede ser nulo
created_at
timestamp
updated_at
timestamp
discourse_voting_votes
Nombre del campo
Tipo
Restricciones
id
serial
clave primaria
topic_id
integer
clave externa (referencia a topics), puede ser nulo
user_id
integer
clave externa (referencia a users), puede ser nulo
archive
boolean
puede ser nulo, por defecto false
created_at
timestamp
updated_at
timestamp
Puede que también te interesen los ajustes del plugin, pero supongo que ya los conoces
Finalmente, la votación de temas debe estar habilitada por categoría, así que te recomendaría habilitarlas durante la creación de las categorías en el script de importación.
En cuanto a cómo poblar correctamente los votos en el tema durante una migración, no soy un experto, pero supongo que optaría por tener usuarios aleatorios y únicos para cada voto, ya que un trabajo previene votos múltiples del mismo usuario y eliminaría los votos duplicados:
¡Guau, gracias por esta publicación genial y útil!
Decidí optar por un enfoque diferente:
En mi sitio web original, pude recuperar los datos sobre quién votó por qué, así que almacené esa información en una base de datos. Más tarde, usé un script de Python con la biblioteca requests para emitir votos desde sus cuentas migradas por las ideas por las que ya habían votado, ¡y voilà!