我有一个处理文件管理的网站。用户可以上传文件、添加描述、编辑和删除。这种情况的最佳实践是什么?
我将文件存储在文件系统中。
我该如何处理文件的删除?在这种情况下,我必须删除实体:数据库中的文件和条目。第一种情况是我删除文件,如果没有错误,我从数据库中删除该条目。但是,如果无法删除数据库中的条目,我将无法恢复我的文件。因此,第二种情况是相反的:首先从数据库输入,然后从文件输入。但同样,当文件无法删除时,我无法恢复数据库中的条目。哪种方法更好?或者还有其他的吗?
我认为这个问题对于所有网络编程语言和所有数据库引擎都是普遍的。但是假设我有 MySQL 和 PHP,所以从数据库存储过程级别删除文件是不可能的。
我通常发现最好还是去做软删除 http://databaserefactoring.com/IntroduceSoftDelete.html,特别是对于数据库中的数据。
通过这种方式,您可以简单地将文件放在新位置以将其表示为已删除,并将数据库中的条目标记为已删除。如果数据库删除由于某种原因失败,您仍然可以使用该文件。
将文件放在新位置后,您可以将该位置备份到另一个位置,或者进行设置以定期从该位置删除项目。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)