So setzen Sie das Aufstolldatum mehrerer Themen zurück

So setzen Sie das Aufstich-Datum mehrerer Themen zurück

Ich weiß nicht, welcher Anwendungsfall vorliegt, aber meiner Einschätzung nach wäre es bei der Nutzung der Web-Oberfläche einfach genug, das Aufstoß-Datum einzelner Themen zurückzusetzen, wenn sie aufgestoßen wurden. Ich sehe nicht, wie eine “massenweise Zurücksetzung des Aufstoß-Datums” jemals benötigt werden würde, geschweige denn, dass es ein so häufiges Bedürfnis wäre, dass dafür eine Benutzeroberfläche erforderlich wäre.

Wie auch immer, falls Sie sich in eine Situation manövriert haben, in der Sie massenweise arbeiten möchten, sollte dies über die CLI möglich sein.

Danke für die Antwort.

Ich verwende einen Bot, um RSS-Feeds von Blogs oder Podcasts nach Discourse zu übertragen. Wenn sich der Feed ändert, werden die Themen automatisch aktualisiert und nach oben gesetzt. Ich muss sie derzeit einzeln zurücksetzen, daher wäre es besser, wenn ich sie im Bulk zurücksetzen könnte.

Was genau meinst du mit CLI? Bulk-Reset über die Datenbank? Danke.

Ich habe gerade nach dieser Funktion gesucht.

Sie wird benötigt, weil ich auf meinem Forum Aufräumarbeiten und Umordnungen vorgenommen habe, wodurch eine Menge alter Beiträge wieder nach oben gerutscht sind. Jetzt muss ich jeden einzelnen aufrufen und das Aufrücker-Datum zurücksetzen.

https://github.com/discourse/discourse/blob/master/app/models/topic.rb

Wenn, wiederhole, wenn ich es richtig verstanden habe, die Tabelle Topics ein Feld bumped_at vom Typ Datetime hat, das nicht NULL sein darf. Der anfängliche Wert für not null ist der Wert von created_at, der ebenfalls nicht NULL sein darf. Nach meinem Wissen ist das Datum der Zeitpunkt, den Ruby mit now ermittelt.

Ich denke, wenn du so gut wie möglich feststellst:

  • was unmittelbar davor war
  • was genau du getan hast
  • was du erreichen möchtest

dann hast du eine gute Chance, eine Abfrage zusammenzustellen. Wie viele sind eine „Last“? Wenn es sich um eine einmalige Aktion handelt, könnte es besser sein, sie einfach durchzuziehen.

(Leider gibt es kein Feld prior_to_bump_date :sadpanda:)

Ich auch!

Wie kann man das Bump-Datum manuell über die Rails-Konsole zurücksetzen? bumped_at für die betreffenden Themen auf updated_at zurücksetzen?