Um Ihre erste Frage zu beantworten, würde ich erwarten, dass das Versetzen einer Website in den schreibgeschützten Modus die Fähigkeit der Benutzer beeinträchtigt, das Devotee-Abzeichen zu erhalten. Wenn sich eine Website im schreibgeschützten Modus befindet, werden keine neuen Daten in die Datenbank geschrieben, sodass Details zu den Besuchen des Benutzers nicht aufgezeichnet werden, wenn sich die Website im schreibgeschützten Modus befindet.
Probieren Sie diese Abfrage aus. Sie gibt die Tage zurück, an denen ein Benutzer zwischen einem bestimmten Start- und Enddatum die Website nicht besucht hat:
Tage ohne Besuche für Benutzer
--[params]
-- date :start_date
-- date :end_date
-- string :username
WITH days AS (
SELECT date_trunc('day', day)::date AS day
FROM generate_series(:start_date::date, :end_date::date, '1 day') AS day
),
users_visits AS (
SELECT
visited_at
FROM user_visits uv
JOIN users u ON u.id = uv.user_id
WHERE u.username = :username
AND visited_at BETWEEN :start_date AND :end_date
),
visits_days AS (
SELECT
day,
visited_at
FROM days
LEFT JOIN users_visits uv
ON uv.visited_at = day
ORDER BY day DESC
)
SELECT day AS days_without_visits
FROM visits_days WHERE visited_at IS NULL
ORDER BY day DESC
Wenn Sie einigen Benutzern das Abzeichen verleihen möchten, die es technisch gesehen nicht verdienen, schauen Sie sich Award a non-custom badge through the console an. Beachten Sie, dass dieser Ansatz nur auf selbst gehosteten Websites möglich ist. Für Websites, die auf unserem Hosting gehostet werden, können wir die in diesem Thema aufgeführten Abzeichen für Sie vergeben.