我正在使用Umbraco的Umbraco 4.6.2版本。
尽管从Umbraco管理面板发布了新代码,但我们无法查看修改后的页面。我们需要重新发布该页面,然后才能在网站上看到更改。我们需要在不同的环境中重新发布。
例如:如果我从我的机器上发布,我可以在菜单中看到。但我不能在我的同事机器上得到同样的东西。当我在我的同事机器上使用admin登录并发布代码时,我可以在网站上看到更改。然后,如果我从我的手机上打开网站,我看不到变化。
所以,问题是我需要在每台机器上发布它。是否有任何解决方案。
请帮帮我....
答案 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
然后从“重新发布整个站点”重新发布所有内容,右键单击站点主节点并右键单击并选择“发布”并选中两个复选框。