我有数据库应用程序,我想允许用户从数据库中恢复已删除的记录,就像在windows中我们有文件的回收站我想做同样的事情但是对于数据库记录,假设我有很多具有大量字段的相关表格。
编辑:
让我说我有以下结构:
报告表
用户表
UserReports表
现在,如果我在UserReports表中放置了isdeleted字段,如果用户标记为已删除,则用户无法再次添加相同的记录,因为该记录已经存在,这将导致重复。
答案 0 :(得分:2)
注意:我总是使用代理主键。
添加时间戳'deleted_at'列。当用户删除条目时,将当前时间。将此关键部分作为约束的一部分。
在每个查询中,请记住仅搜索deleted_at字段中为null的记录。
一些框架(如ActiveRecord)使得它变得微不足道。