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

Nachdem mehrere tausend Beiträge mit Fotos gelöscht wurden, bleiben die Uploads im Admin-Bereich unverändert. Diese Einstellung war auf 1 gesetzt. Gibt es eine Möglichkeit, alle mit gelöschten Beiträgen verbundenen Uploads schneller zu löschen?

purge deleted uploads grace period days

Wartezeit (in Tagen), bevor ein gelöschter Upload gelöscht wird.

Ich habe das getan, was ich in einem anderen Beitrag gesehen habe, aber nach dem Wiederaufbau war nichts weg

ging in sidkiq

* Jobs::CleanUpUploads
* Jobs::PurgeDeletedUploads
* Jobs::DirectoryRefreshDaily
* Jobs::DirectoryRefreshOlder

Ich bin von 13,7 GB Uploads auf 14 GB gestiegen, nachdem ich alles gelöscht hatte. Es scheint, je mehr ich lösche, desto höher wird der Upload-Datensatz.

Ich bin mir nicht sicher, ob ich das verstehe. Ich habe nichts hochgeladen, sondern nur Beiträge und Kategorien auf einer Testseite gelöscht. Es gibt im Moment keine Benutzer und es ist etwa 3 Stunden her. von 13.7 bis jetzt wird das angezeigt. Verwaiste Uploads werden in einer Stunde gelöscht und das ist nicht passiert.

Ich sehe diesen Thread, der viel diskutiert, aber nichts ist passiert?

Dann diesen hier.

Und ich habe alles in Rails, Sidekiq und mit Befehlen in diesem Thread versucht und immer noch nichts wird gelöscht. Hunderte, wenn nicht Tausende von Bildern sollten gelöscht worden sein, da die Benutzer Beiträge mit Fotos in jedem Thread entfernt haben.

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“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.