【发布时间】:2011-04-27 12:52:54
【问题描述】:
我的情况是,我负责为 Umbraco 制作应用程序或扩展,使后端用户能够将他们在开发站点上的更改迁移到实时站点。这种迁移应该每天发生一次,或者当后端用户按下后端的按钮时发生。
我知道 Umbraco 在 Courier 包中提供此功能,但显然它不适用于这种情况。
更多细节:
开发和实时站点都驻留在同一台服务器上,它们的数据库也是如此。只需将数据从一个文件夹传输到另一个文件夹,并且与数据库中的表相同。
据我所知,有两种方法可以解决这个问题。
1) 您进行了一次完整迁移,基本上是对实时数据库进行拆解并将其更新到新版本。然后,您还可以复制所有需要的文件。
2) 您创建一个包,其中包含您在开发者站点上更改的文档类型等,并将该包加载到实时站点上。
数字 1 的问题在于,您似乎必须在完成转移后重新发布整个网站。据我了解,您可以使用网络服务来执行此操作,但如果我可以使用控制台应用程序,我会更喜欢它。
我的问题是:
有没有办法以编程方式创建包并以相同的方式加载它们,或者以编程方式实现此迁移的最佳方式是什么?
任何建议都将不胜感激,因为我有点不知所措:)
编辑
我最终实际上做了一个完整的镜像,因为我使用 Robocopy 传输了文件夹中所有已更改的文件,然后我使用 SQL 命令备份了开发站点,然后我恢复了使用 RESTORE SQL 命令在实时数据库上。
需要在 SQL 命令中完成一些设置,但它运行平稳,根据已更改的文件数量,完整传输需要 10 秒。
最后一件事。如果您希望更改可见,则需要重新加载 Umbraco。您可以通过手动修改 web.config 文件或以编程方式将其设置为 LastWriteTime。
【问题讨论】:
标签: umbraco