软删除最佳实践(PHP/MySQL)
问题
在处理产品和订单的 Web 应用程序中,我希望维护前员工(用户)与他们处理的订单之间的信息和关系。我想维护过时产品和订单(包括这些产品)之间的信息和关系。
但是,我希望员工能够使管理界面变得混乱,例如删除以前的员工,过时的产品,过时的产品组等。
我正在考虑实现软删除。那么,人们通常如何做到这一点呢?
我的直接想法
我的第一个想法是在每个应该软删除的对象表中粘贴一个“TINYINT NOT NULL DEFAULT 0”列。或者也许使用时间戳代替?flag_softdeleted
然后,我在每个相关的GUI中提供了一个“显示已删除”或“取消删除”按钮。单击此按钮,您将在结果中包含软删除的记录。每个删除的记录都有一个“恢复”按钮。这有意义吗?
你的想法?
另外,我很感激任何相关资源的链接。