Significado y estadísticas de "limpiar usuarios inactivos después de días"

Esto se describe como:

Número de días antes de que se elimine un usuario inactivo (nivel de confianza 0 sin publicaciones). Para deshabilitar la limpieza, establécelo en 0.

¿Puede confirmar que estos son los criterios (TL0 y 0 publicaciones)? ¿Se tiene en cuenta cuándo iniciaron sesión por última vez y/o leyeron una publicación, o el número de días comienza desde el registro?

¿Existe una consulta de explorador de datos para mostrar usuarios TL0 que tienen 0 publicaciones junto con el número de días relevante? Esto sería para dar una idea del efecto de elegir números específicos para esta configuración. Gracias.

Hay algunos criterios adicionales: los administradores y moderadores no se eliminan
También se comprueban la fecha de último acceso y la fecha de registro.

Creo que algo como esto debería devolver el número de usuarios que serían eliminados

-- [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 qué usuarios serían eliminados, esto debería 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
4 Me gusta

Gracias. Lo intentaré.

El texto de la configuración del administrador necesita ser actualizado ya que es incorrecto.

¿En qué se basa last_seen_at? ¿En iniciar sesión o en (estar conectado) ver cualquier página del foro?

Es esto. La última vez que estuvieron viendo activamente los foros.

1 me gusta