sql Umbraco - 删除所有内容的版本历史记录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql Umbraco - 删除所有内容的版本历史记录相关的知识,希望对你有一定的参考价值。

-- Create a temporary table for all documents which are published and not in the recycle bin
CREATE TABLE #Nodes (id int)
-- Delete all rows if the table exists before
TRUNCATE TABLE #Nodes

-- Insert all nodeIds from all documents which are published and not in the recycle bin
INSERT INTO #Nodes 
    SELECT N.id 
    FROM umbracoNode N
        INNER JOIN cmsDocument D ON N.ID = D.NodeId
    WHERE nodeObjectType = 'C66BA18E-EAF3-4CFF-8A22-41B16D66A972'
        AND [path] NOT LIKE '%-20%'
        AND D.Published = 1

-- Create a temporary table for all versionId's to delete
CREATE TABLE #Versions (id UniqueIdentifier)
-- Delete all rows if it exists before
TRUNCATE TABLE #Versions

-- Insert all versionId's from all nodeIds in the #Nodes table 
-- and where published is set to false and newest is set to false
INSERT INTO #Versions
    SELECT versionId 
    FROM cmsDocument 
    WHERE nodeId IN (SELECT id FROM #Nodes) 
        AND published = 0 AND newest = 0

-- DELETE all versions from cmsPropertyData, cmsContentVersion, cmsDocument
-- from the nodes which are published and which are not in the recycle bin 
-- and which are not published and which are not the newest

DELETE FROM cmsPreviewXml WHERE versionId IN (SELECT id FROM #Versions)
DELETE FROM cmsPropertyData WHERE VersionId IN (SELECT id FROM #Versions)
DELETE FROM cmsContentVersion WHERE VersionId IN (SELECT id FROM #Versions)
DELETE FROM cmsDocument WHERE VersionId IN (SELECT id FROM #Versions)

DROP TABLE #Versions
DROP TABLE #Nodes

以上是关于sql Umbraco - 删除所有内容的版本历史记录的主要内容,如果未能解决你的问题,请参考以下文章

sql 删除Umbraco中的旧版本

sql 按Umbraco中的文档类型删除所有节点

sql 按Umbraco中的文档类型删除所有节点

Umbraco 从 SQL Server 2012 迁移到 SQL Server 2008 R2

在部分视图中使用嵌套内容时,所有部分视图项都相同我使用的是Umbraco 8

sql Umbraco部门包 - 将相同的部门节点权限复制到另一个部门。 #umbraco #sql