Discourse 默认设计上是不允许批量永久删除话题的,不过我们可以通过 rails 控制台轻松做到这一点,相关命令如下:
./launcher enter app
rails c
Topic.with_deleted.where(deleted_at: ...1.seconds.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 }
如果还想永久删除话题已删除的回复的话,可以使用此命令:
Post.with_deleted.where(deleted_at: ...1.seconds.ago).limit(1000).destroy_all