sql >> Base de Datos >  >> RDS >> Mysql

Logros / Sistema de insignias

Creo que la estructura que ha sugerido (sin el campo "asignado" según los comentarios) funcionaría, con la adición de una tabla adicional, digamos "Submissions_User", que contiene una referencia a user_id y un campo incremental para contar envíos. Entonces, todo lo que necesita es un "escucha de eventos" según esta publicación y creo que estarías listo.

EDITAR:para las insignias de logros, ejecute el detector de eventos en cada envío (solo para el usuario que realiza el envío, por supuesto) y otorgue cualquier insignia relevante en el acto. Para las insignias basadas en el tiempo, ejecutaría un trabajo CRON cada noche. Recorra la lista completa de usuarios una vez y otorgue insignias según corresponda.