Hilfe beim Löschen von Fotos vom Server, die an gelöschte Beiträge angehängt waren

Ich glaube, die Tabelle post_uploads gibt es nicht mehr. Es sind jetzt uploads und upload_references. Möglicherweise müssen Sie diesen alten Ausschnitt aktualisieren, um dies zu berücksichtigen, wenn Sie diese Methode versuchen.

Wie haben Sie diese Beiträge gelöscht? Nur Soft-Delete in der Benutzeroberfläche? Ich glaube, die Einstellung, die verwaiste Bilder bereinigt (clean orphan uploads grace period hours), berücksichtigt nicht, ob sie Soft-gelöscht sind, und achtet nur darauf, ob das Bild noch in der neuesten Version des Beitrags vorhanden ist:

Ich glaube, Sie können alle Beiträge in der Rails-Konsole auswählen und den PostDestroyer darauf anwenden, um sie endgültig zu löschen. Anschließend werden die Uploads beim nächsten Ausführen (oder manuellen Auslösen) von Jobs::CleanUpUploads bereinigt.

Wenn es sich beispielsweise um eine ganze Kategorie handelt, können Sie etwas Ähnliches verwenden:

category = Category.where(id: CATEGORY_ID).pluck(:id)
topic = Topic.where(category_id: category).pluck(:id)

topic.each do |t|
  Post.where(topic_id: t).find_each do |p|
    PostDestroyer.new(Discourse.system_user, p).destroy
    p.destroy!
  end
end

Ich glaube, es gibt auch eine Unterhaltung in diesem Thema, die für Sie nützlich sein könnte: Delete deleted-posts permanently in bulk? - #57 by Simon_Manning

:warning: Und ich füge die übliche Warnung hinzu, ein Backup zu erstellen, bevor Sie Änderungen in der Rails-Konsole vornehmen, nur für den Fall. Achtung, scharfes Messer. :rotating_light:

(Nur zur Information: Jobs::DirectoryRefreshDaily und Jobs::DirectoryRefreshOlder sind diejenigen, die das Benutzerverzeichnis befüllen, sind hier also nicht relevant)

5 „Gefällt mir“