【发布时间】:2012-09-18 12:26:10
【问题描述】:
我目前正在使用 MySQL 存储所有关系数据的系统中工作,但我们的审计日志保存在 MongoDB 文档数据库中以进行长期存档。在“项目”(系统中最大的父实体)的情况下,我希望允许用户删除项目并强制级联删除有效地清理我的所有相关数据的数据库。 (这就是棘手的地方)
理想情况下,一旦删除,我的“项目”表中的单数记录将在删除过程中持续存在,被标记为“存档”项目,然后我的代码就会知道,如果用户尝试访问我们将加载的存档项目一个单独的页面,显示删除之前在项目生命周期内收集的所有 MongoDB 审计日志。
我想我可以通过选择项目记录、运行删除、重新插入数据并重新使用分配给项目的原始 AutoInc id 来在事务中完成这项工作。感觉有点脏,所以我想知道是否有人找到更好的方法。
理想情况下,如果有一种方法可以在不删除原始记录的情况下触发表的外键上的级联事件,我将拥有我需要的东西,但我还没有看到任何这样的野兽。
感谢您的帮助!
【问题讨论】:
标签: asp.net mysql foreign-keys relational-database cascade