Número de dias antes que um usuário inativo (nível de confiança 0 sem postagens) seja removido. Para desativar a limpeza, defina como 0.
Você pode confirmar que esses são os critérios (TL0 e 0 postagens)? Alguma conta leva em consideração quando eles fizeram login pela última vez e/ou leram uma postagem, ou o número de dias começa a partir do registro?
Existe uma consulta no Data Explorer para mostrar usuários TL0 que têm 0 postagens, juntamente com o número relevante de dias? Isso seria para dar uma ideia do efeito de escolher números específicos para esta configuração. Obrigado.
Existem alguns critérios adicionais: administradores e moderadores não são excluídos
Também são verificadas a data da última visualização e a data de registro.
Acho que algo assim retornaria o número de usuários que seriam excluídos
-- [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
)
Para ver quais usuários seriam excluídos, isto deveria funcionar
-- [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