Kentico 将节点订单从生产环境同步到开发/测试/阶段环境

Kentico 将节点订单从生产环境同步到开发/测试/阶段环境,kentico,Kentico,我们使用Kentico 8.2,并拥有开发、测试、阶段和生产环境。我们不时地在较低的环境中使用当前正在生产的内容刷新内容树。Kentico支持这一点,但在对树进行完全同步之后,节点在很大程度上出现了无序。手动同步所有节点订单需要耗费大量人力。我们如何自动完成这项工作?肯蒂科本地是否支持此功能 我的一个想法是在T-SQL中使用一个简单的update语句,将生产CMS_树表连接到测试环境中的同一个表(在NodeAliasPath上连接),并将测试中的NodeOrder设置为等于生产中的NodeOrd

我们使用Kentico 8.2,并拥有开发、测试、阶段和生产环境。我们不时地在较低的环境中使用当前正在生产的内容刷新内容树。Kentico支持这一点,但在对树进行完全同步之后,节点在很大程度上出现了无序。手动同步所有节点订单需要耗费大量人力。我们如何自动完成这项工作?肯蒂科本地是否支持此功能

我的一个想法是在T-SQL中使用一个简单的update语句,将生产CMS_树表连接到测试环境中的同一个表(在NodeAliasPath上连接),并将测试中的NodeOrder设置为等于生产中的NodeOrder值


由于担心未知的副作用,我们尽量不在数据库本身中进行太多直接的数据操作。在这种情况下,对节点顺序的更新是否会对数据库或Kentico应用程序中的任何其他内容产生不利影响?

不清楚节点无序是什么意思,但登台的问题是,它在更新文档时通过创建小的登台任务,试图保持整个内容同步=处于相同的状态(甚至移动它们)

在完全同步的情况下,它会将内容及其整个结构向后推,因此当您更改生产上节点的顺序时,它会尝试将其向下推到较低的节点上,在此过程中,它会重写文档或根据当前顺序创建新的文档,并将其放在CMS_树表中,但由于它可能会错过一些较小的任务或者其他文档,最终节点不在合适的位置

为什么不更频繁地转移或使用为此生成的任务来保持两者的同步,否则最终可能会导致环境不一致和转移异常


您是正确的,不建议直接操作数据库,特别是在内容树上,因为存在FK约束,但它仍然可能导致严重混乱,因此我建议您不要这样做。

不清楚节点无序是什么意思,但登台的问题是它试图保持整个内容同步=在同一个位置在更新文档(甚至移动文档)时,通过创建小型暂存任务进行状态设置

在完全同步的情况下,它会将内容及其整个结构向后推,因此当您更改生产上节点的顺序时,它会尝试将其向下推到较低的节点上,在此过程中,它会重写文档或根据当前顺序创建新的文档,并将其放在CMS_树表中,但由于它可能会错过一些较小的任务或者其他文档,最终节点不在合适的位置

为什么不更频繁地转移或使用为此生成的任务来保持两者的同步,否则最终可能会导致环境不一致和转移异常


您是正确的,不建议直接操作数据库,特别是在内容树上,因为存在FK约束,但它仍然可能导致严重混乱,因此我建议您不要这样做。

以下是我将要做的。如果必须从源服务器匹配,我将从目标服务器删除内容树。考虑到这是真的,我将现在执行从源服务器到目标服务器的内容刷新


我已经做了多次,效果非常好。

我将这样做。如果必须从源服务器进行匹配,我将从目标服务器删除内容树。考虑到这一点,我现在将从源服务器到目标服务器进行内容刷新


我已经这样做过多次,效果非常好。

转到“登台>页面>并选择顶级页面”,然后单击“同步当前子树”将正确同步页面及其顺序。在同步之前,您可能必须删除目标服务器上的所有页面,以验证所有页面是否对齐。如果不起作用,则可能会删除e一个错误,您是否使用了最新的修补程序?

转到“暂存>页面>并选择顶级页面”,然后单击“同步当前子树”将正确同步页面及其顺序。在同步之前,您可能必须删除目标服务器上的所有页面,以验证所有内容是否正常。如果它不起作用,则可能是一个错误,是否打开最新的修补程序?

“节点无序”是什么意思?…我是指不同环境中同一记录(在NodeAliasPath上连接)的dbo.CMS_Tree.NodeOrder列的值不同。“节点无序”是什么意思?…我是指同一记录(在NodeAliasPath上连接)的dbo.CMS_Tree.NodeOrder列的值在不同的环境中是不同的。您仅在较低的环境中手动从生产环境刷新它?您使用什么方法来执行此“刷新”@probrandono是的,仅从生产环境刷新到较低的环境。要从开发>测试>阶段>产品,我们将阶段应用程序作为“正常”使用。该方法是将整个内容树从源环境同步到目标环境。您在“系统>设置”中的节点顺序设置是什么?@ChetanSharma我找不到“系统>设置”,但在“设置”应用程序和“内容>内容管理”下,我发现“新页面顺序”设置设置设置为“字母顺序”…是的,这与我的相同,然后我会转到树的根并按“同步整个内容树”按钮。但是,奇怪的是,它不适合您。我通常按照此例程进行同步,如果任何特定子级别不同步,我将重复此过程,但是如果您的内容树嵌套很深,则很难执行此过程。您仅在较低的环境中从生产中手动刷新它?您使用什么方法是否要执行此“刷新”?@probrandono是的,仅从生产环境刷新到较低的环境。要从开发>测试>阶段>生产环境移动,我们将阶段应用程序作为“正常”使用。方法是将整个内容树从源环境同步到目标环境。什么