In a helpdesk application, we store user conversations, user accounts and various contact information linked to those accounts.
Due to the nature of typical helpdesk, even when a user account is deleted we'd still need to retain core profile data the user's name (otherwise, the conversation histories would be rendered useless).
I was wondering if you had approached this type of design question and what your solution was.
Couple of suggestions so far...
- 'Ghosting' user accounts - rather than physically deleting them, retaining them in a read-only non-functional state
- Duplicating content like a user's name statically on a conversation
I think the best thing to do in your specific case is to do a 'soft delete' of the data, this means just mark the account as deleted in a boolean field, rather than deleting it from the database.