Creo que los IDs de usuario residen en la tabla incoming_links. Esos registros no se destruyen de forma dependiente, y la consulta de la insignia de compartir solo protege contra el hecho de que user_id sea nulo en la tabla incoming_links:
https://github.com/discourse/discourse/blob/main/lib/badge_queries.rb#L199
La insignia First Share debería tener un error similar:
https://github.com/discourse/discourse/blob/main/lib/badge_queries.rb#L64