2015-05-04 67 views
1

我想将数据直接操作到数据库中。 但这些变化并未反映在果园网站上。 在数据库中进行一些数据更改后,如何告诉Orchard清除所有数据库缓存?Clear Orchard CMS数据库缓存

+0

我建议描述更多特别是你想要改变什么以及你想要的结果是什么。也许有人可以给你一个不需要直接数据库操作的建议。 – wentz

回答

0

您可以禁用SysCache模块,那么Orchard不会缓存数据库输出。否则,您可以重新启动您的网站,这也将清除数据库缓存。

还要确保您对数据库所做的更改都保存在那里。例如,WebMatrix在完全取消选择之前不会保存行。

+0

SysCache已被禁用。当我从SSMS向数据库添加一些小部件图层时,新的小部件图层不会出现在Orchard控制面板中。为什么? –

1

我假设你将记录添加到表LayerPartRecord?这是行不通的,因为图层是Orchard中的内容项,它们是由多个表构建的,而不仅仅是layerpartrecord表。您将不得不将记录添加到其他几个表中。它引发了一个问题,你为什么要这么做? Orchard不适合直接修改数据库。 Sebastien Ros在这里谈论了一些有关Orchards数据库结构的内容,如果你真的想要修改数据库:http://sebastienros.com/understanding-orchard-s-database,但我肯定会说它比它的价值更麻烦。

相反,你可以创建一个使用果园命令行层:

layer create Authenticated /LayerRule:"authenticated" /Description:"The widgets in this layer are displayed when the user is authenticated" 

或者使用导入/导出模块,让您的导入代码会是这个样子:

<Layer Id="/Layer.LayerName=Authenticated" Status="Published"> 
    <CommonPart Owner="/User.UserName=admin" CreatedUtc="2014-07-01T12:22:26Z" PublishedUtc="2014-07-01T12:22:26Z" ModifiedUtc="2014-07-01T12:22:26Z"/> 
    <LayerPart Name="Authenticated" Description="The widgets in this layer are displayed when the user is authenticated" LayerRule="authenticated"/> 
</Layer> 
+0

感谢Hazza,我需要操纵数据库中的数据,因为应该做很多改变。我意识到除了Widget_LayerPartRecods之外,从DB向Orachard添加一个图层需要更新Framework_ContentItemRecord,Framework_ContentItemVersionRecord表。但你的回答对我来说非常有用。再次感谢 –