Aller au contenu

Les badges dans la base de données

tilttek/badges-bundle
TableUne ligne parColonnes
tilttek_badges_contributionbadge, chemin et activitébadge, path, activity, member, quantity, occurred_at
tilttek_badges_awardmembre, badge et numérobadge, member, number, awarded_at, cause, manual
tilttek_badges_profilemembre qui montre un badgemember, shown (JSON), featured (JSON), title
tilttek_badges_grantmembre et applicationmember, client, granted_at

Une contribution, une attribution ou un consentement est inséré par une instruction qui n'écrit rien quand sa ligne est déjà présente, sans interrompre la transaction englobante : ON CONFLICT DO NOTHING sur PostgreSQL, INSERT IGNORE sur MySQL et MariaDB, INSERT OR IGNORE sur SQLite. Sur une autre plateforme, une insertion simple laisse la violation d'unicité d'une concurrence atteindre l'appelant. Une annulation lit et supprime les contributions de l'activité dans une seule transaction ; un profil est remplacé dans une seule transaction. Les dates sont écrites en UTC, à la seconde près.

Les membres sont écrits sous forme de références, member:44, jusqu'à 320 octets.