0

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

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

例如:如果我从我的机器上发布,我可以在菜单中看到它。但我不能在我的同事机器上得到同样的结果。当我在同事机器上以管理员身份登录并发布代码时,我可以在网站上看到更改。然后,如果我从我的手机打开该网站,我看不到更改。

所以,问题是我需要在每台机器上发布它。有什么解决办法吗?

请帮帮我....

4

1 回答 1

1

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

对您的数据库运行以下查询以从 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

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

于 2014-02-14T14:11:54.057 回答