안녕하세요!
유지보수를 위해 포럼을 하루 이상 읽기 전용 모드로 설정해야 했습니다.
Devotee 배지의 일수 카운트가 초기화되나요?
안녕하세요!
솔직히 아니라고 생각합니다. 사용자가 읽기 전용 포럼을 계속 방문하는 한 그렇게 될 이유가 없다고 보거든요. "start"는 사용자 관련 사항인 것 같습니다.
그리고 읽기 전용 모드에서도 사용자 탭의 “마지막 확인” 열이 활성화되어 있는 걸 기억하네요. 그래서 문제없을 것 같습니다 ![]()
올해의 결산에서 일부 사용자(나를 포함하여)가 올해 364일만 방문했다고 나와 있는데, 이건 분명히 잘못된 것 같습니다…
이 사용자들이 누락한 날짜를 빠르게 확인할 수 있는 방법이 있을까요?
첫 번째 질문에 대해 답변드리자면, 사이트를 읽기 전용(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) 사이트에서만 가능합니다. 저희 호스팅을 사용하는 사이트의 경우, 해당 토픽에 나열된 배지들을 대신 수여해 드릴 수 있습니다.
매우 상세한 답변을 주셔서 감사합니다.
쿼리를 통해 해당 포럼이 읽기 전용으로 설정된 날에는 사용자가 방문하지 않았다는 것을 확인했습니다.
콘솔에서 배지를 부여하겠습니다. 이 추가 정보를 알려주셔서 감사합니다 ![]()
Devotee 배지는 여러 번 부여할 수 없어 배지를 부여하지 못했습니다. 그래도 알아두면 좋은 정보네요!