Anzahl der Tage, bevor ein inaktiver Benutzer (Vertrauensstufe 0 ohne Beiträge) entfernt wird. Um die Bereinigung zu deaktivieren, setzen Sie auf 0.
Können Sie bestätigen, dass dies die Kriterien sind (TL0 und 0 Beiträge)? Wird berücksichtigt, wann sie sich das letzte Mal angemeldet und/oder einen Beitrag gelesen haben, oder beginnt die Anzahl der Tage ab der Registrierung?
Gibt es eine Data Explorer-Abfrage, um TL0-Benutzer mit 0 Beiträgen zusammen mit der entsprechenden Anzahl von Tagen anzuzeigen? Dies würde eine Vorstellung vom Effekt der Wahl bestimmter Zahlen für diese Einstellung geben. Danke.
Es gibt einige zusätzliche Kriterien: Administratoren und Moderatoren werden nicht gelöscht
Außerdem werden das Datum des letzten Besuchs und das Registrierungsdatum überprüft.
Ich denke, etwas wie dies sollte die Anzahl der zu löschenden Benutzer zurückgeben
-- [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
)
Um zu sehen, welche Benutzer gelöscht würden, sollte dies funktionieren
-- [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