Numero di giorni prima che un utente inattivo (livello di fiducia 0 senza post) venga rimosso. Per disabilitare la pulizia impostare a 0.
Puoi confermare che questi sono i criteri (TL0 e 0 post)? Si tiene conto di quando hanno effettuato l’accesso l’ultima volta e/o letto un post, o il numero di giorni inizia dalla registrazione?
Esiste una query di esplorazione dati per mostrare gli utenti TL0 che hanno 0 post insieme al numero di giorni pertinente? Questo servirebbe a dare un’idea dell’effetto della scelta di numeri specifici per questa impostazione. Grazie.
Ci sono alcuni criteri aggiuntivi: gli amministratori e i moderatori non vengono eliminati
Vengono controllate anche la data dell’ultima visita e la data di registrazione.
Penso che qualcosa del genere dovrebbe restituire il numero di utenti che verrebbero eliminati
-- [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
)
Per vedere quali utenti verrebbero eliminati, questo dovrebbe funzionare
-- [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