Comment réinitialiser la date de remontée de plusieurs sujets
Je ne connais pas le cas d’usage, mais il me semble que, pour ce qui est de l’utilisation de l’interface web, il serait assez simple de réinitialiser la date de remontée des sujets individuels lorsqu’ils sont remontés. Je ne vois pas comment une « réinitialisation en masse des dates de remontée » pourrait jamais être nécessaire, encore moins être un besoin suffisamment courant pour justifier une interface utilisateur.
Quoi qu’il en soit, si vous vous êtes retrouvé dans une situation où vous souhaitez travailler en masse, cela devrait être possible via l’interface de ligne de commande.
Merci pour votre réponse.
J’utilise un bot pour récupérer les flux RSS de blogs/podcasts vers Discourse. Lorsque le flux change, les sujets sont automatiquement mis à jour et remontés. Je dois les réinitialiser un par un, donc je pense qu’il serait préférable de pouvoir effectuer une réinitialisation en masse.
Que voulez-vous dire par CLI ? Une réinitialisation en masse via la base de données ? Merci.
Je cherchais cette fonctionnalité tout à l’heure.
C’est nécessaire car j’étais en train de ranger et de réorganiser des éléments sur mon forum, et un grand nombre d’anciens messages ont été remontés en haut. Maintenant, je dois entrer dans chacun d’eux pour réinitialiser la date de remontée.
https://github.com/discourse/discourse/blob/master/app/models/topic.rb
Si, je le répète, si j’ai bien lu, la table Topics possède un champ bumped_at de type datetime, non null, dont la valeur initiale non null est la valeur non null created_at. À ma connaissance, la datetime correspond à ce que Ruby now renvoie.
Je pense que si vous déterminez du mieux possible :
- ce qui existait immédiatement avant
- ce que vous avez exactement fait
- ce que vous souhaitez accomplir
il y a de fortes chances que vous puissiez construire une requête. Combien de sujets constituent une « charge » ? Si c’est une opération ponctuelle, il pourrait être préférable de simplement s’en sortir avec des efforts manuels.
(Malheureusement, il n’existe pas de champ « prior_to_bump_date »
)
Moi aussi !
Comment réinitialiser manuellement la date de remontée depuis la console Rails ? Revenir bumped_at à updated_at pour les sujets en question ?