批量永久删除已删除的帖子?

各位团队,

请协助解决此问题!

我们有大量已删除的帖子,需要批量永久删除!

3 个赞

已删除的主题就是字面意思:一个被删除的主题。无需进一步操作,只有管理员可以查看此类主题。您正在直接删除一个已经被删除的主题。

1 个赞

我不希望它们只出现在已删除主题列表中,我想从数据库中彻底清除它们。

那么,有什么命令或方法可以删除它们吗?

5 个赞

这并非我做过的事,但以下话题是否有参考价值:

2 个赞

没用 :frowning: 如果发现任何问题,请帮我一下?

1 个赞

这或许能帮到你

2 个赞

image

不显示已删除帖子的分类?

1 个赞

您是否有 slug 为 deleted-posts 的分类?您截图中显示的帖子似乎属于具有不同 slug 的分类。

image

1 个赞

如果按类别删除,那么所有不在 deleted-posts 中的帖子都会被删除!

所以你能帮我从数据库中删除 deleted-posts 吗?

2 个赞

我也在尝试找到实现这一点的办法。经过在 Meta 上的大量搜索以及无数次的尝试与失败,我现在对此感到非常困惑。

我们真的可以从数据库中永久清除已删除的帖子吗?具体该如何操作?

2 个赞

如果你能删除分类,那你就能删除已删除的帖子。

我正在重建我的测试应用,以便安装数据浏览器。

:slight_smile:

1 个赞

我不确定该如何操作。我只是想说明,你输入的命令似乎正在查找一个 slug 为 deleted-posts 的类别。

1 个赞

当你使用 Rake 任务删除一个分类时,该分类下的所有帖子(不仅仅是主题)都会被删除。然而,它们只是被软删除。

我仍然不确定如何真正从数据库中移除帖子。我也不确定如何删除与已删除帖子关联的上传文件。这两点目前都让我非常头疼。

2 个赞

认为,只要这些附件不是帖子最新版本的一部分,它们就会被每日定时任务之一清理掉。因此,将已删除的帖子内容改为“(由管理员删除)”之类的文本,会使该附件成为编辑历史的一部分,从而使其成为孤立文件(进而在“清除孤立文件”的清理过程中被处理)。

不过,这只是我的推测,因此可能并不正确。:slightly_smiling_face:

来源:

1 个赞

如果您登录到 PostgreSQL,就可以从数据库中将其删除。

我正在查看当前的 rake 销毁任务,并试图了解其工作原理。也许创建当前销毁任务的人员可以为我们实现一个功能,用于删除已删除的帖子。

3 个赞

是的,没错。
若要删除附件,您需要先删除帖子的内容,然后再删除该帖子。

2 个赞

如果您有任何命令或任何有用且快速的内容,请与我分享!

1 个赞

感谢 Richard 和 @JammyDodger

我唯一的问题是,我有 20,000 个帖子需要这样操作。有什么捷径吗?

2 个赞

恐怕我刚开始接触 Discourse,因此缺乏这方面的必要专业知识。:slightly_smiling_face:

是否可以将此修改为针对已删除的帖子,而不是用户的帖子,以实现类似的效果?

1 个赞

Post.with_deleted.where('deleted_at is not null').update_all(raw: '此帖子已被删除', cooked: '此帖子已被删除')

6 个赞