以编程方式将Umbraco数据从开发站点迁移到Live站点

我处于负责向Umbraco提交应用程序或扩展的责任范围内,使得后端用户能够将其开发网站上的更改迁移到现场。 这种迁移应该每天发生一次,或者后端用户在后端按下按钮。

我知道Umbraco在Courier包中提供了这个功能,但显然它对这种情况并不适用。

更多细节:

开发和现场网站都位于同一台服务器上,所以他们的数据库也是如此。 数据只需要从一个文件夹传输到另一个文件夹,并且与数据库中的表格一样。

正如我所看到的,有两种方法可以解决这个问题。

1)您进行完整迁移,在那里您基本上会拆卸实时数据库并将其更新为新版本。 然后你复制你需要的所有文件。

2)您创建一个包含您在开发者网站上更改的文档类型等的包,并在实时网站上加载该包。

编号为1的问题是,当您完成传输时,您似乎必须重新发布整个站点。 据我了解,你可以用web服务来做到这一点,但我更喜欢它,如果我可以使用控制台应用程序。

我的问题是:

有没有办法以编程方式创建包并以相同的方式加载它们,或者通过编程实现这种迁移的最佳方式是什么?

任何建议,将不胜感激,因为我有点不知所措的方式:)

编辑

实际上我做了一个完整的镜像,因为我使用Robocopy传输文件夹中已更改的所有文件,然后使用SQL命令对开发站点进行备份,然后将其恢复到使用RESTORE SQL命令运行数据库。

需要在SQL命令中完成一些设置,但运行顺利,根据已更改的文件数量,完整传输需要10秒钟。

最后一件事。 如果您想要更改可见,则需要重新加载Umbraco。 这可以通过手动修改web.config文件或通过以编程方式设置它的LastWriteTime来完成。


你总是可以创建一个用户控件来处理整个网站的重新发布,你可以从你的控制台应用程序调用。

您也可以加入Courier 2测试版程序,这确实够好(对于功能而言,我自己也没有测试过)。

另一条路线可能是将所有节点作为xml源提供,并使用CMSImport的调度功能自动迁移节点。

这是一个艰难的选择,还有很多选项,没有银弹。 我对Courier 2将会非常完美并期待它的发布寄予厚望。

链接地址: http://www.djcxy.com/p/52259.html

上一篇: Migrate Umbraco data from development site to live site programmatically

下一篇: How to know whether a shutdown is currently in progress?