SN 如何处理内容版本控制
How SN Handle Content Versioning
我想知道 SN 在其数据库中为特定容器(例如文件夹)保存版本控制模式的位置!
我在 [Versions] table 中找到了 [Status] 列,但我注意到它的值仍然为 1,即使我将模式从 major 更改为 none,反之亦然。
我也是通过SQLProfiler 查到的,发现了如下存储过程。触发:proc_Version_Update.
请详细说明。
谢谢!
如果您需要数据库解决方案(不推荐,请尽可能使用 REST 或 C# api),您可以查看内置数据库视图。他们将为您节省一些连接:-)。
容器上的版本控制模式是一个常规字段,称为Inheritable版本控制模式。请注意,此值决定了该容器中子元素的版本控制行为,而不是容器自身的版本控制模式。如果您需要在单个内容项(如文档)上设置值,请查找 VersioningMode 属性.
您要查找的值存储在 FlatProperties table 中,与其他任何简单的 属性 一样,但使用查看下方。
正在查找列
请执行以下脚本以在 FlatProperties table 中找到正确的列:
SELECT [Id], [Page], [Column]
FROM [dbo].[PropertyInfoView]
where Name = 'InheritableVersioningMode'
最后一列将包含您需要的列名称(例如 int_3)。另请注意Page值:有时系统中的字段太多,以至于一个版本在FlatProperties中占据不止一行 table.
找到 属性 值
使用您要查找的容器路径执行第二个脚本(请将最后选择的列更改为您在数据库中找到的列):
SELECT [NodeId], [Name], [Path], [VersionId], [int_3]
FROM [dbo].[SysSearchWithFlatsView]
where Path = @yourPath
最后一列的值将是您要查找的枚举值(一个数字),为以下值之一:
Inherited = 0
None = 1
MajorOnly = 2
MajorAndMinor = 3
我想知道 SN 在其数据库中为特定容器(例如文件夹)保存版本控制模式的位置!
我在 [Versions] table 中找到了 [Status] 列,但我注意到它的值仍然为 1,即使我将模式从 major 更改为 none,反之亦然。
我也是通过SQLProfiler 查到的,发现了如下存储过程。触发:proc_Version_Update.
请详细说明。 谢谢!
如果您需要数据库解决方案(不推荐,请尽可能使用 REST 或 C# api),您可以查看内置数据库视图。他们将为您节省一些连接:-)。
容器上的版本控制模式是一个常规字段,称为Inheritable版本控制模式。请注意,此值决定了该容器中子元素的版本控制行为,而不是容器自身的版本控制模式。如果您需要在单个内容项(如文档)上设置值,请查找 VersioningMode 属性.
您要查找的值存储在 FlatProperties table 中,与其他任何简单的 属性 一样,但使用查看下方。
正在查找列
请执行以下脚本以在 FlatProperties table 中找到正确的列:
SELECT [Id], [Page], [Column]
FROM [dbo].[PropertyInfoView]
where Name = 'InheritableVersioningMode'
最后一列将包含您需要的列名称(例如 int_3)。另请注意Page值:有时系统中的字段太多,以至于一个版本在FlatProperties中占据不止一行 table.
找到 属性 值
使用您要查找的容器路径执行第二个脚本(请将最后选择的列更改为您在数据库中找到的列):
SELECT [NodeId], [Name], [Path], [VersionId], [int_3]
FROM [dbo].[SysSearchWithFlatsView]
where Path = @yourPath
最后一列的值将是您要查找的枚举值(一个数字),为以下值之一:
Inherited = 0
None = 1
MajorOnly = 2
MajorAndMinor = 3