좋습니다, 도움이 되었다니 기쁩니다. 답변을 통합하기 위해, 90일 이상 삭제된 모든 주제를 삭제하려면 다음 명령을 Rails 콘솔에서 사용할 수 있습니다. 주제가 1000개 이상이라면 필요한 만큼 반복하세요:
Topic.with_deleted.where(deleted_at: ...90.days.ago).limit(1000).destroy_all
이 작업이 완료된 후, 삭제된 주제에서 고아가 된 모든 게시물을 삭제하려면 다음을 사용할 수 있습니다:
Post.find_by_sql("select * from posts where topic_id not in (select id from topics)").each { |p| p.destroy }
위 명령들은 삭제된 게시물은 삭제하지 않으며, 삭제된 주제와 그 고아 게시물만 삭제한다는 점에 유의해야 합니다. 90일 이상 삭제된 게시물도 함께 삭제하려면 다음을 사용하세요. 마찬가지로 필요한 만큼 반복하세요:
Post.with_deleted.where(deleted_at: ...90.days.ago).limit(1000).destroy_all
참고. 참고로, limit(1000) 없이 destroy_all을 시도해 보셨나요? 문제가 있었나요, 아니면 제한 없이 시도해 보지 않으셨나요?