逻辑删除和冻结就不是一回事

Categories:

事实上,我个人是不喜欢逻辑删除的。
写了另外一篇文章逻辑删除是我们唯一的选择吗?
但本文不讨论了,假定项目里就是采用了逻辑删除的方案。

场景

很多人在遇到数据需要冻结的时候,会因为项目里已经大量使用了逻辑删除的设计,而用逻辑删除来代替冻结的概念。

如系统肯定多多少少会有一些配置项、数据字典等。

即使这部分数据可能要废弃了,但是因为历史数据还需要关联,所以这部分基础数据其实是不应该删除的,一般业务上也叫它启用、禁用(冻结)。

观点

删除

删除就是这个东西真的不需要了,甚至连它存在过的痕迹都不需要保留。

就好比你写了一篇文章,你觉得写的不好,要删除掉。就我个人来说,直接删除就是了。

非要给自己一个后悔的机会,也可以参照回收站的设计。又扯远了。

删掉后,在界面上是看不到这篇文章的,不会再有任何东西关联上它了。

没有了它,也完全不会带来任何不好的影响。

冻结

冻结就是虽然你以后不需要它了,但是它曾经存在过的痕迹需要保留,不然会显得很奇怪。

比如一个员工离职了,不能直接删除掉这个员工。

不然该员工的工资单、请假记录、系统里跟进的项目的工作记录 等等一切与该员工有关的东西都会显得很奇怪。

我们只能把该员工标记为离职。

离职也好,废弃也好,禁用也罢,它们统统都是在业务上有意义的一种状态。

如果你觉得本文对你有帮助或不错,可略表心意,请我喝一杯冰可乐。

Comments