這是使用PHP/MySQL的CRM應用程序。用戶可以「刪除」各種實體,如客戶,聯繫人,備註等。我並不是真正從數據庫中刪除該實體,而是希望將其刪除到應用程序中,但保留在數據庫中,並在稍後需要時能夠「恢復」。甚至可能會在應用程序中添加某種「回收站」。爲數據庫實體啓用「取消刪除」的最佳實踐?
我已經考慮了幾種方法可以做到這一點:
移動刪除實體到另一個表。 (customer to customer_deleted)
更改實體上的屬性。 (啓用爲false)
我敢肯定還有其他的方式和每個對DB尺寸,性能等自己的影響,我只是想知道什麼是一般推薦的方法做這樣的事情?
'customer_deleted'策略會在數據庫中創建大量的結構冗餘。這將是無益的。 – bzlm