在Umbraco发布问题

时间:2014-01-27 12:33:32

标签: umbraco umbraco-blog

我正在使用Umbraco的Umbraco 4.6.2版本。

尽管从Umbraco管理面板发布了新代码,但我们无法查看修改后的页面。我们需要重新发布该页面,然后才能在网站上看到更改。我们需要在不同的环境中重新发布。

例如:如果我从我的机器上发布,我可以在菜单中看到。但我不能在我的同事机器上得到同样的东西。当我在我的同事机器上使用admin登录并发布代码时,我可以在网站上看到更改。然后,如果我从我的手机上打开网站,我看不到变化。

所以,问题是我需要在每台机器上发布它。是否有任何解决方案。

请帮帮我....

1 个答案:

答案 0 :(得分:1)

你好接近这个问题。 通过删除Recycle-bin中的所有项目解决了我的问题。我想如果您右键单击“回收站”并单击“清空回收站”,则进度条将不会继续。如果是这样,你的umbraco数据库很脏。这意味着在UmbracoNode表中有一些节点已被删除,但它们的子节点没有标记为“已删除”或类似的东西。

针对您的数据库运行以下Query,以从UmbracoNode表及其所有依赖项中删除所有脏节点。

DECLARE @nodeId int
SET @nodeId = 0

SELECT id INTO #nodes FROM umbracoNode WHERE (path like '%-20%' AND id != -20 AND @nodeId = 0) OR (id = @nodeId)

SELECT COUNT(*) FROM #nodes
DELETE FROM umbracoUser2NodeNotify WHERE nodeId IN ( SELECT id FROM #nodes)
DELETE FROM umbracoUser2NodePermission WHERE nodeId IN (SELECT id FROM #nodes)
DELETE FROM umbracoRelation WHERE parentId IN ( SELECT id FROM #nodes)
DELETE FROM umbracoRelation WHERE childId IN ( SELECT id FROM #nodes)
DELETE FROM cmsTagRelationship WHERE nodeId IN ( SELECT id FROM #nodes)
DELETE FROM umbracoDomains WHERE domainRootStructureID IN ( SELECT id FROM #nodes)
DELETE FROM cmsDocument WHERE NodeId IN ( SELECT id FROM #nodes)
DELETE FROM cmsPropertyData WHERE contentNodeId IN ( SELECT id FROM #nodes)
DELETE FROM cmsPreviewXml WHERE nodeId IN ( SELECT id FROM #nodes)
DELETE FROM cmsContentVersion WHERE ContentId IN ( SELECT id FROM #nodes)
DELETE FROM cmsContentXml WHERE nodeID IN ( SELECT id FROM #nodes)
DELETE FROM cmsContent WHERE NodeId IN ( SELECT id FROM #nodes)

DELETE FROM umbracoNode WHERE id IN ( SELECT id FROM #nodes)

DROP TABLE #nodes

然后从“重新发布整个站点”重新发布所有内容,右键单击站点主节点并右键单击并选择“发布”并选中两个复选框。