I'm building a web application, in which users have their own set of Topics. Since Topics are recorded for reporting purposes, it's important that Topics used previously are not deleted, so that they can be referenced by future reports.
In my relational database, Topics are associated to users through a user_id
. My idea is to, rather than users deleting a Topic, have it be orphaned by setting its user_id
to null
. This way, the Topic can be referenced by id in reports, but from the user's perspective, it is deleted.
Is this good practice? Should I instead move the Topics to a deleted_topics
table?