很多人喜欢每张表 加一个 flag 表明字段的有效性,所谓逻辑删除(flag=0 的时候用户当它删除)
但这样有一个问题,有些数据虽然被删除了,在某些历史查询页面,仍旧是需要看到的,这样在业务逻辑的逻辑里面
就有时候要写 flag=1 有时候却不写,也会照成很多逻辑漏写 flag=1,测试不够的话,很容易出问题。
这就是我之所以一直不赞成这种做法的原因,无法有个不容易出错的规范去完善这种写法。
还有一种做法,为每张表建立一直影子表,所有被删除的数据,放在影子表里(影子表也可以存一些数据的历史变化供分析),
这样的好处是 可以使人强制从业务逻辑思考 到底要不要查影子表(一个 flag 显得过于随意),关键是出差就能马上发现!(空指针的好处。。)
坏处也是显而易见的,需要查询历史数据的 sql 的复杂度提高了点。
不知道还有什么其他方法。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于