¿El modo de solo lectura impide que los usuarios obtengan la insignia de devoto?

Para responder a tu primera pregunta, esperaría que poner un sitio en modo de solo lectura afectara la capacidad de los usuarios para obtener la insignia Devotee. Cuando un sitio está en modo de solo lectura, no se escriben nuevos datos en la base de datos, por lo que los detalles sobre las visitas del usuario no se registrarán mientras el sitio esté en modo de solo lectura.

Prueba esta consulta. Devuelve los días en los que un usuario no ha visitado el sitio entre una fecha de inicio y fin determinada:

Días sin visitas para el usuario

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

Si deseas otorgar la insignia a algunos usuarios que técnicamente no califican para ella, echa un vistazo a Award a non-custom badge through the console. Ten en cuenta que ese enfoque solo es posible en sitios autoalojados. Para los sitios en nuestro hosting, podemos otorgarte las insignias que se enumeran en ese tema.

4 Me gusta