Можно ли добавить значок, если пользователь прочитал конкретную тему/раздел форума? И не просто открыл тему, а провёл в ней около 5 минут, чтобы убедиться, что пользователь ознакомился с информацией?
Я думаю, это можно реализовать примерно так:
SELECT user_id, CURRENT_TIMESTAMP AS granted_at
FROM topic_users
WHERE topic_id = 281534
AND total_msecs_viewed/60000 >= 5 -- минимальное количество просмотренных минут
Я протестировал и получил эту ошибку:
Ошибка: Нарушение контракта: Запрос обращается к posts, но не возвращает столбец 'post_id'
Ок, спасибо, ошибки больше нет.
Что вы рекомендуете в качестве триггера?
Думаю, это должно быть «Обновлять ежедневно». Ни один из других триггеров, вероятно, не отловит изменение статистики времени чтения в topic_users.
Хорошо, я сначала настроил это для теста.
Похоже, это происходит каждые 22 часа в отношении назначения значков.
