这是关于使用PHP/MySQL的CRM应用程序的技术内容。用户可以“删除”各种实体,如客户、联系人、备注等。我希望这些实体在应用程序中看起来被删除了,但仍然保存在数据库中,以后如果需要可以“恢复”。甚至可以在应用程序中添加一些“回收站”功能。
我想到了几种方法:
1. 将已删除的实体移动到另一个表中(例如将客户移动到customer_deleted表中)。 2. 改变实体的属性(例如将enabled改为false)。
我相信还有其他方法,每种方法都对数据库大小、性能等有自己的影响,但我想知道通常推荐的做法是什么?
我想到了几种方法:
1. 将已删除的实体移动到另一个表中(例如将客户移动到customer_deleted表中)。 2. 改变实体的属性(例如将enabled改为false)。
我相信还有其他方法,每种方法都对数据库大小、性能等有自己的影响,但我想知道通常推荐的做法是什么?
customer_deleted
策略将在数据库中创建大量的结构冗余,这将是无益的。 - bzlm