Kentico 8.2 - 有没有办法从 GUI 中删除附件历史记录
Kentico 8.2 - Is there a way to delete Attachment History from the GUI
我们的附件在我们的数据库中保存了很长时间,导致数据库变得庞大,我们的备份极不可靠。我们已将附件移至文件系统,从而大幅缩减了文件大小。
现在我们最大的 table 是 CMS_AttachmentHistory
。我已经能够测试强力删除 SQL 中的每一行(以及 CMS_VersionAttachment
交界点 table 中的每一行)。但是有没有一种方法可以在 Kentico Admin GUI 中完成此操作而不必求助于此?
当我说暴力删除时,我的意思是:
DELETE FROM dbo.CMS_VersionAttachment
DELETE FROM dbo.CMS_AttachmentHistory
不确定 8.2。但是您可以尝试使用 recycle bin/objects
进行试验。有几个主题:topic 1 and topic 2。每次你删除它时我都会检查它是否有附件,即使我已经设置了 "files on disc"。您可以像 Kentico 建议的那样将二进制字段设置为空或使用 API.
编写脚本
GUI 中有一个选项可以执行此操作,但它也会影响页面版本历史记录。如果您转到 设置 > 内容 > 内容管理 并查看 工作流程 部分,您可以看到名为 版本历史记录的设置长度。将其减少到一个较低的数字(我相信 20 是默认值)将减少存储的版本历史记录以通过删除不需要的行来反映新值。
但这会影响所有版本历史记录,不仅是附件,还有页面本身。在这种情况下,您需要决定是否 need/want 保留页面的版本历史记录。
如果您不想丢失该历史记录,那么我认为一个不错的选择是编写一个脚本,该脚本可以将 AttachmentBinary
列设置为 null
作为记录你没有need/want(假设你说你现在将文件存储在文件系统上,任何当前版本都将具有正确的值,所以这可能是所有这些)
我们的附件在我们的数据库中保存了很长时间,导致数据库变得庞大,我们的备份极不可靠。我们已将附件移至文件系统,从而大幅缩减了文件大小。
现在我们最大的 table 是 CMS_AttachmentHistory
。我已经能够测试强力删除 SQL 中的每一行(以及 CMS_VersionAttachment
交界点 table 中的每一行)。但是有没有一种方法可以在 Kentico Admin GUI 中完成此操作而不必求助于此?
当我说暴力删除时,我的意思是:
DELETE FROM dbo.CMS_VersionAttachment
DELETE FROM dbo.CMS_AttachmentHistory
不确定 8.2。但是您可以尝试使用 recycle bin/objects
进行试验。有几个主题:topic 1 and topic 2。每次你删除它时我都会检查它是否有附件,即使我已经设置了 "files on disc"。您可以像 Kentico 建议的那样将二进制字段设置为空或使用 API.
GUI 中有一个选项可以执行此操作,但它也会影响页面版本历史记录。如果您转到 设置 > 内容 > 内容管理 并查看 工作流程 部分,您可以看到名为 版本历史记录的设置长度。将其减少到一个较低的数字(我相信 20 是默认值)将减少存储的版本历史记录以通过删除不需要的行来反映新值。
但这会影响所有版本历史记录,不仅是附件,还有页面本身。在这种情况下,您需要决定是否 need/want 保留页面的版本历史记录。
如果您不想丢失该历史记录,那么我认为一个不错的选择是编写一个脚本,该脚本可以将 AttachmentBinary
列设置为 null
作为记录你没有need/want(假设你说你现在将文件存储在文件系统上,任何当前版本都将具有正确的值,所以这可能是所有这些)