这被描述为:
移除不活跃用户(信任等级 0 且没有任何帖子)之前的日数。设置为 0 可禁用清理。
您能否确认这些是标准(TL0 和 0 帖子)?是否考虑了他们上次登录和/或阅读帖子的时间,或者天数是从注册开始计算的?
是否有数据浏览器查询可以显示具有 0 帖子的 TL0 用户以及相关的天数?这将有助于了解为该设置选择特定数字的效果。谢谢。
这被描述为:
移除不活跃用户(信任等级 0 且没有任何帖子)之前的日数。设置为 0 可禁用清理。
您能否确认这些是标准(TL0 和 0 帖子)?是否考虑了他们上次登录和/或阅读帖子的时间,或者天数是从注册开始计算的?
是否有数据浏览器查询可以显示具有 0 帖子的 TL0 用户以及相关的天数?这将有助于了解为该设置选择特定数字的效果。谢谢。
还有一些额外的标准:管理员和版主不会被删除
另外还会检查最后登录时间和注册日期
我认为类似这样的查询将返回将被删除的用户数量
-- [params]
-- int :active_days_ago
SELECT COUNT(*)
FROM users
WHERE last_posted_at IS NULL
AND trust_level = 0
AND admin = false
AND moderator = false
AND created_at < CURRENT_DATE - :active_days_ago
AND (last_seen_at < CURRENT_DATE - :active_days_ago OR last_seen_at IS NULL)
AND NOT EXISTS (
SELECT 1 FROM posts WHERE posts.user_id = users.id
)
AND NOT EXISTS (
SELECT 1 FROM topics WHERE topics.user_id = users.id
)
要查看哪些用户将被删除,这个查询应该有效
-- [params]
-- int :active_days_ago
SELECT
id as user_id,
DATE_PART('day', CURRENT_DATE - created_at) AS days_since_created,
DATE_PART('day', CURRENT_DATE - last_seen_at) AS days_since_seen
FROM users
WHERE last_posted_at IS NULL
AND trust_level = 0
AND admin = false
AND moderator = false
AND created_at < CURRENT_DATE - :active_days_ago
AND (last_seen_at < CURRENT_DATE - :active_days_ago OR last_seen_at IS NULL)
AND NOT EXISTS (
SELECT 1 FROM posts WHERE posts.user_id = users.id
)
AND NOT EXISTS (
SELECT 1 FROM topics WHERE topics.user_id = users.id
)
ORDER BY days_since_seen
谢谢。我会试试的。
管理员设置文本需要更新,因为它不正确。
last_seen_at 是基于什么?登录,还是(处于登录状态时)查看论坛的任何页面?
就是这个。他们上次活跃地浏览论坛的时间。