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

Kas*_*sth 7 umbraco

我处于这样的情况:我被指控向Umbraco提出申请或扩展,使后端用户能够将他们在开发站点上的更改迁移到实际站点.这种迁移应该每天发生一次,或者当后端用户按下后端的按钮时.

我知道Umbraco在Courier包中提供了这个,但显然它对这种情况不起作用.

更多细节:

开发和实时站点都驻留在同一台服务器上,数据库也是如此.数据只需要从一个文件夹传输到另一个文件夹,并与数据库中的表格相同.

我可以看到有两种方法可以解决这个问题.

1)您进行完全迁移,基本上拆除了实时数据库并将其更新到新版本.然后,您也可以复制所需的所有文件.

2)您创建了一个包含文档类型的包,依此类推,您已在开发人员站点上更改并在实际站点上加载该包.

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

我的问题是:

有没有办法以编程方式创建包并以相同的方式加载它们或以编程方式实现此迁移的最佳方法?

任何建议都会非常感激,因为我有点不知所措:

编辑

我最终实际上做了一个完整的镜像,因为我使用Robocopy传输文件夹中已更改的所有文件,然后我用SQL命令备份了开发站点,然后我恢复了它使用RESTORE SQL命令实时数据库.

在SQL命令中需要进行一些设置,但它运行顺畅,完整传输需要10秒,具体取决于已更改的文件数.

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

seb*_*aan 4

您始终可以创建一个用户控件来为您处理整个站点的重新发布,您可以从控制台应用程序调用它。

您还可以加入Courier 2 beta计划,这确实足够好(无论如何,对于功能,我自己还没有测试过)。

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

这是一个艰难的选择,有很多选择,但还没有灵丹妙药。我非常希望《信使 2》能够完美地实现这一点,并热切地等待它的发布。