Je pense que les identifiants d’utilisateur résident dans la table des liens entrants. Ces enregistrements ne sont pas détruits de manière dépendante, et la requête du badge de partage ne protège que contre la valeur null de user_id dans la table incoming_links :
https://github.com/discourse/discourse/blob/main/lib/badge_queries.rb#L199
Le badge « First Share » devrait présenter un bug similaire :
https://github.com/discourse/discourse/blob/main/lib/badge_queries.rb#L64