읽기 전용 모드가 헌신자 배지 획득을 막을까요?

첫 번째 질문에 대해 답변드리자면, 사이트를 읽기 전용(Read-only) 모드로 설정하면 Devotee 배지를 획득하는 데 영향을 미칠 것으로 예상됩니다. 사이트가 읽기 전용 모드일 때 데이터베이스에 새로운 데이터가 기록되지 않으므로, 읽기 전용 모드 동안 사용자의 방문 기록은 저장되지 않습니다.

아래 쿼리를 시도해 보세요. 주어진 시작일과 종료일 사이에 사용자가 사이트를 방문하지 않은 날짜를 반환합니다:

사용자의 미방문 날짜

--[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

기술적으로는 자격이 되지 않는 일부 사용자에게 배지를 수여하고 싶다면, Award a non-custom badge through the console 링크를 확인해 보세요. 참고로 해당 방법은 자체 호스팅(self-hosted) 사이트에서만 가능합니다. 저희 호스팅을 사용하는 사이트의 경우, 해당 토픽에 나열된 배지들을 대신 수여해 드릴 수 있습니다.