我认为永久删除存在一个错误。
我删除了几篇帖子。现在我无法打开已删除帖子的列表。
你可以在这里看到我仍然有 342 篇已删除的帖子。但当我点击它时。它会导向一个 404 页面。
我仍然可以打开其他用户的删除列表,但无法打开我自己的。
有什么我们可以做的来解决这个问题吗?
我认为永久删除存在一个错误。
我删除了几篇帖子。现在我无法打开已删除帖子的列表。
你可以在这里看到我仍然有 342 篇已删除的帖子。但当我点击它时。它会导向一个 404 页面。
我仍然可以打开其他用户的删除列表,但无法打开我自己的。
有什么我们可以做的来解决这个问题吗?
好的,我想我已经弄清楚重现此 bug 的步骤了。
我不确定您是否需要两个账户,但这是我的情况:
请有人帮忙看一下这个,谢谢。
我正在清理一些包含敏感信息的内容,现在我们卡住了……
你是否仍然可以从主题/私信中访问已删除的帖子并从中永久删除它们,或者你根本无法再看到你已删除的帖子了?
我可以在帖子中访问它们。
但由于我不知道是哪些帖子,所以删除帖子的列表至关重要。
没有它,我必须手动浏览所有私人消息和公共主题才能找到它们。
我也尝试了 deleted-posts.json。但该信息不包含已删除的帖子。
它只显示“user_badges”和其他用户信息等内容。
如果我能以某种方式获得已删除帖子的 ID 列表,那也会有帮助。
我正在尝试重现:
尽管管理员 A 和管理员 C 仍然可以访问管理员 A 的 /deleted-posts 列表。短期内,@VincentAlse,您能否使用第二个管理员帐户访问 /deleted-posts 列表以查找您希望删除的其他帖子?或者您可以使用 data-explorer 查询来识别它们?
您好 @JammyDodger
感谢您的确认。我刚尝试了管理员 C(使用旧账户和新创建的账户)。对我来说不起作用。我认为原因是我删除了许多不同账户的帖子,导致其中大部分的删除列表出现错误。
我来看一下 data-explorer。我能用它查询已删除的帖子吗?
啊,那真不幸。如果你能访问数据浏览器插件,我认为类似下面的内容应该可以复制特定用户的 /deleted/posts 列表(为了方便起见,还加入了 post_id):
-- [params]
-- user_id :user_id
SELECT p.created_at AS reltime$time,
id AS post_id,
id
FROM posts p
WHERE p.user_id = :user_id
AND p.deleted_at IS NOT NULL
ORDER BY p.created_at DESC
让我试试。
@VincentAlse,那对你有用吗?如果你没有找到要删除的帖子列表,我认为应该还有其他方法可以找到它们?
一个愚蠢的问题。什么是 user_id?根据 .json 页面,我认为我的 user_id 是 1。
我收到了这个消息:ActiveRecord::PreparedStatementInvalid: missing value for :user_id in /*
从截图来看,您似乎修改了顶部的参数,这实际上会阻止它工作。如果将其保留为 :user_id,在运行它时会弹出一个选择框,您可以在其中输入用户名。![]()
或者,您可以删除该参数,并将从 json 中获取的用户 ID 添加到 WHERE p.user_id = 行。
这是否说得通?
我昨天通过此 PR 修复了您报告的错误,该 PR 已合并,如果您更新 Discourse 实例,即可进行部署:
但是,我们发现硬删除主题可能会在数据库中留下孤立的小型操作帖子。第二个错误已通过以下方式修复:
我认为现在一切应该都正常工作了。如果您遇到更多问题,请告知我们。
此主题已自动关闭,超过 3 天。不允许回复。