読み取り専用モードは、ユーザーが信者バッジを取得するのを防ぎますか?

ご質問の最初の点についてですが、サイトを読み取り専用モードにすると、ユーザーが「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 を参照してください。なお、このアプローチはセルフホスト型サイトでのみ可能です。当社のホスティングをご利用のサイトについては、そのトピックに記載されているバッジを当社で付与することができます。

「いいね!」 4