Bonjour, je suis en train de migrer d’AnswerHub vers Discourse. Cependant, comme je n’ai pas accès à la base de données d’AnswerHub, j’ai récupéré l’intégralité du site web pour collecter les idées et leurs décomptes de votes respectifs.
Comment puis-je remplacer le décompte de votes pour une question spécifique dans Discourse ? Par exemple, la question « faire une nouvelle recette avec des oranges » a 42 votes sur mon AnswerHub. J’ai importé la question, mais j’aimerais définir le décompte de votes à 42 au lieu de la valeur par défaut de 0. Ainsi, les utilisateurs pourront voir le nombre exact de votes pour chaque question.
Existe-t-il un moyen d’exécuter une commande PostgreSQL pour définir manuellement le décompte de votes ?
Dois-je créer plus de 100 utilisateurs fictifs pour simuler le décompte de votes pour chaque question ? J’espère que non, car ce n’est pas une solution idéale
Je ne suis pas un expert et je n’ai jamais utilisé ce plugin
C’est une excellente question et je crains de ne pas pouvoir y répondre précisément, mais je peux peut-être te donner quelques pistes car tu sembles t’y connaître un peu en codage (puisque tu migres à partir de zéro).
Le plugin de vote utilise 2 tables :
discourse_voting_topic_vote_count
Nom du champ
Type
Contraintes
id
serial
clé primaire
topic_id
integer
clé étrangère (référence les topics), peut être null
votes_count
integer
peut être null
created_at
timestamp
updated_at
timestamp
discourse_voting_votes
Nom du champ
Type
Contraintes
id
serial
clé primaire
topic_id
integer
clé étrangère (référence les topics), peut être null
user_id
integer
clé étrangère (référence les utilisateurs), peut être null
archive
boolean
peut être null, par défaut false
created_at
timestamp
updated_at
timestamp
Tu pourrais aussi être intéressé par les paramètres du plugin, mais je suppose que tu les connais déjà
Enfin, le vote de topic doit être activé par catégorie, donc je les activerais lors de la création des catégories dans le script d’importation.
Quant à la manière de bien peupler les votes dans le topic lors d’une migration, je ne suis pas un expert, mais je suppose que j’opterais pour des utilisateurs aléatoires et uniques pour chaque vote, car un job empêche les votes multiples du même utilisateur et supprimerait les votes dupliqués :
Wow, merci pour ce post génial et utile !
J’ai décidé d’opter pour une approche différente :
Dans mon site web d’origine, j’ai pu récupérer les données sur qui a voté pour quoi, j’ai donc stocké ces informations dans une base de données. Plus tard, j’ai utilisé un script Python avec la bibliothèque requests pour voter à partir de leurs comptes migrés pour les idées pour lesquelles ils avaient déjà voté, et voilà !