Kentico 8.2-有没有办法从GUI删除附件历史记录

时间:2018-08-22 15:49:54

标签: kentico

我们的附件已在我们的数据库中存储了很长时间,这导致数据库变得庞大,并且我们的备份极其不可靠。我们已将附件移至文件系统,从而节省了大量空间。

现在,我们最大的表是CMS_AttachmentHistory。我已经能够测试暴力删除SQL中的每一行(以及CMS_VersionAttachment联结表中的每一行)。但是,有没有一种方法可以在Kentico Admin GUI中完成而不必求助于此?

当我说暴力删除时,我的意思是:

DELETE FROM dbo.CMS_VersionAttachment

DELETE FROM dbo.CMS_AttachmentHistory 

2 个答案:

答案 0 :(得分:2)

GUI中有一个选项可以执行此操作,但是这也会影响页面版本历史记录。如果转到设置>内容>内容管理,然后查看工作流程部分,则可以看到名为版本历史记录长度的设置。将其减少到一个较小的数字(我相信默认值为20)将通过删除不需要的行来减少存储以反映新值的版本历史记录。

这将影响所有版本历史记录,不仅会影响附件,还会影响页面本身。在这种情况下,您需要确定是否需要/想要保留页面的版本历史记录。

如果您不想丢失该历史记录,那么我想说,一个好的选择是编写一个脚本,该脚本可以将您所记录的AttachmentBinary列设置为null不需要/想要(假设您说现在将文件存储在文件系统上,那么任何当前版本都将具有正确的值,所以可能是所有这些版本)

答案 1 :(得分:0)

不确定8.2。但是您可以尝试使用recycle bin/objects。有几个主题:topic 1topic 2。我只是在每次删除它时都检查它是否有附件,即使我已经设置了“光盘上的文件”。您可以像Kentico建议将二进制字段设置为null或使用API​​编写脚本一样。