削除済み投稿に添付されたサーバー上の写真削除ヘルプ

post_uploads テーブルはもう存在しないと思います。現在は uploadsupload_references です。もしその方法を試しているのであれば、古いスニペットをそれに応じて更新する必要があるかもしれません。

これらの投稿をどのように削除しましたか? UI でソフト削除しただけですか? 孤立した画像をクリーンアップする設定(clean orphan uploads grace period hours)は、ソフト削除されているかどうかを考慮せず、画像が投稿の最新バージョンにまだ存在するかどうかのみを気にすると思います。

レールコンソールで投稿をすべて選択し、PostDestroyer を使用してハード削除できると思います。その後、Jobs::CleanUpUploads が実行される(または手動でトリガーされる)ときにアップロードがクリーンアップされます。

例えば、カテゴリ全体の場合は、次のようなものを使用できると思います。

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

このトピックにも、役立つ可能性のある会話があります: Delete deleted-posts permanently in bulk? - #57 by Simon_Manning

:warning: レールコンソールで変更を加える前に、念のためバックアップを取得することをお勧めします。ナイフ注意。 :rotating_light:

(参考情報ですが、Jobs::DirectoryRefreshDailyJobs::DirectoryRefreshOlderユーザーディレクトリ を生成するものであり、ここでは関係ありません)

「いいね!」 5