이 내용을 잘 이해하지 못하겠습니다. 저는 아무것도 업로드하지 않았고, 테스트 사이트에서 게시물과 카테고리만 삭제했습니다. 현재 사용자는 없으며, 약 3시간 정도 지났습니다. 13.7부터 현재까지 이 상태가 유지되고 있습니다. 고아 업로드 파일(orphan uploads)을 1시간 후에 삭제하도록 설정해 두었는데, 삭제가 이루어지지 않았습니다.
rails에서 언급된 모든 방법, sidekiq, 그리고 해당 스레드에서 제시된 명령어를 모두 시도해 봤지만 여전히 아무것도 삭제되지 않습니다. 사용자의 게시물이 삭제되었으므로, 각 스레드에 사진이 첨부되어 있었기 때문에 수백 장에서 수천 장의 이미지가 삭제되었어야 합니다.
post_uploads 테이블은 더 이상 존재하지 않는 것 같습니다. 현재는 uploads와 upload_references로 변경되었습니다. 해당 방법을 시도하고 있다면, 이 변경 사항을 반영하도록 기존 스니펫을 업데이트해야 할 수 있습니다.
해당 게시글들을 어떻게 삭제하셨나요? UI에서 소프트 삭제만 수행하신 건가요? 고아 이미지(orphaned images)를 정리하는 설정(clean orphan uploads grace period hours)은 게시글이 소프트 삭제되었는지를 고려하지 않고, 이미지가 게시글의 최신 버전에서 여전히 존재하는지만 확인하는 것 같습니다:
rails 콘솔에서 모든 게시글을 선택하여 PostDestroyer를 사용해 하드 삭제(hard delete)한 후, 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