目前在做一个项目,我们要对大部分用户(用户角色)实现软删除。我们决定添加一个is_deleted='0'
数据库中每个表的字段并将其设置为'1'
如果特定用户角色点击特定记录上的删除按钮。
现在为了将来的维护,每个SELECT
查询需要确保它们不包含记录where is_deleted='1'
.
有没有更好的实现软删除的方案?
更新:我还应该注意到,我们有一个审计数据库,用于跟踪应用程序数据库中所有表/字段的更改(字段、旧值、新值、时间、用户、ip)。
我会倾向于deleted_at
包含的列删除发生的日期时间。然后您将获得一些有关删除的免费元数据。为您SELECT
只是获取行WHERE deleted_at IS NULL
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)