我有数据库应用程序,我希望允许用户恢复的已删除的记录数据库,就像在窗口,我们必须回收站的文件我想要做的同样的事情,但为数据库记录,假设我有一个很大的相关表,有很多的领域。

编辑:

让我们说,我有以下结构:

报告表

  • RepName主键
  • ReportData

用户表

  • ID主键
  • 名称

UserReports表

  • RepName主键
  • UserID主键
  • 在被删除

现在如果我把在被删除的领域中UserReports表,用户不能添加相同的记录再次如果它标志着为已删除,因为记录已经和这将使工作重叠。

有帮助吗?

解决方案

注:我总是用代理主的关键。

增加一个timestamp'deleted_at'柱。当用户删除条目放在那里目前的时间。让这个关键部分的你的约束。

在每个查询记住只搜索的记录,有空中deleted_at领域。

一些框架(如Email)使它容易做的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top