Как реализовать like/unlike?

Junior
135 просмотров
AFK Offer AI

Таблица likes: user_id, entity_type, entity_id, created_at. Unique constraint на (user_id, entity_type, entity_id). Like — INSERT ON CONFLICT DO NOTHING. Unlike — DELETE. Счётчик — отдельная колонка likes_count в таблице сущности, инкремент/декремент в той же транзакции. Или считать COUNT(*) если нагрузка небольшая. Redis для кэша счётчиков.

Следующий вопрос

Что такое type assertion с generics?