Mysql
 sql >> Base de données >  >> RDS >> Mysql

Réalisations / Système de badges

Je pense que la structure que vous avez suggérée (sans le champ "assigné" selon les commentaires) fonctionnerait, avec l'ajout d'une table supplémentaire, disons "Submissions_User", contenant une référence à user_id et un champ incrémentiel pour compter les soumissions. Ensuite, tout ce dont vous auriez besoin est un "écouteur d'événement" selon ce message et je pense que vous seriez prêt.

EDIT :Pour les badges de réussite, exécutez l'écouteur d'événement à chaque soumission (uniquement pour l'utilisateur qui soumet la soumission bien sûr) et attribuez tout badge pertinent sur place. Pour les badges basés sur le temps, j'exécutais un travail CRON chaque nuit. Parcourez la liste complète des utilisateurs une fois et attribuez des badges, le cas échéant.