维护MySQL和文件系统之间的数据完整性

时间:2019-02-27 11:50:09

标签: mysql file sqlalchemy

基本上,我将一些与行链接的文件存储在MySQL数据库中

由于数据库中存在级联,因此如果删除父记录,则将删除子记录,包括链接到文件系统中存储文件的这些行

如何确保是否从数据库中删除了记录行,所以与该行链接的文件也已从文件系统中删除,以保持数据完整性?任何自动化方式。我在Flask中使用SQLAlchemy。

我知道我可以手动执行此操作,因为我正在寻找自动化方法,例如在数据库中级联。

1 个答案:

答案 0 :(得分:1)

没有标准MySQL或MariaDB内置的工具来执行此操作。而且,当通过级联约束删除行时,触发器不会触发。

过去我不得不做这种事情。我在两阶段删除过程中取得了成功。在第一阶段,主表中名为active的列设置为零,将其标记为停用。

在第二阶段中,分批执行(可能是一整夜),清理程序查找active = 0行,找到主文件行和相关行中提到的文件,删除文件,然后删除行。

它没有自动的功能,但是可以使用。

相关问题