如何列出系统即将删除的用户?

我们有一个默认设置,用于清理不活跃用户。我认为默认标准如下:

  • last_posted_at 日期(从未发帖)
  • TL0
  • (默认)两年内未见过

这些标准在清理用户群方面通常效果很好。

但是,是否有办法生成一个列表,显示系统中即将被删除的管理员用户?我们希望与一些非常有价值但不活跃的用户沟通,并给出他们留下来的理由。

1 个赞

你好 Amicable!

使用数据浏览器,查询将是:

WITH posts_by_user AS (
    SELECT COUNT(*) AS posts, user_id
    FROM posts
    GROUP BY user_id
)
SELECT 
    u.id,
    u.username_lower AS "username",
    u.created_at,
    u.last_seen_at
FROM users u
LEFT JOIN posts_by_user pbu ON pbu.user_id = u.id
WHERE u.active = true and u.trust_level = 0
AND posts IS NULL
ORDER BY u.id

这看起来很有用。我不知道数据浏览器,所以将从那里开始。非常感谢您的解决方案 :+1:

出于好奇,这是什么目的?管理员通常会活跃、发帖和登录。

编辑:我可能误解了这部分:

:slight_smile:

在这种情况下,只需从 SQL 查询中删除 and admin = true


我直接更新了 SQL 代码。

1 个赞

这是用于显示我们管理员用户的列表。

但更广泛的用例可能很有趣。我们经常使用电子邮件摘要,因为我们社区中的一些人很有价值但很忙,他们是老年人,不太可能发帖,也不太可能登录。但他们非常熟悉电子邮件,并且喜欢保持更新。

但突然之间,在 2 年后 :boom:,我们无法与他们重新取得联系。

我明白了。基本上,他们通过电子邮件阅读,并且几乎所有时间都处于离线浏览状态。

我不确定该如何处理。肯定会有人有好主意的。一个直接的方法是让他们至少在论坛上发一条消息。

另外,请注意,对于 180 天(默认值)未登录的用户,摘要电子邮件将被禁用。该设置的名称是suppress digest email after days(延迟发送摘要电子邮件)。

1 个赞

是的,正是如此。如果他们能发一次帖子就更好了。但想象一下,有一个人非常缺时间,而且对技术非常不擅长。然而,他却备受重视。摘要对他们来说非常棒,社区也知道他们属于这里,并且不介意他们不积极在线贡献。

你可以更改他们的信任级别,并将其锁定为除 0 以外的其他值。:slight_smile:
这将阻止他们被清理不活跃用户作业选中。

2 个赞

最简单的解决方案就是最好的 :tada:

1 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.