【发布时间】:2012-04-02 17:14:28
【问题描述】:
在创建包含数据类型和项目的包时,后续升级包以保留在网站上创建的数据同时添加对关联类型的更改的最佳做法是什么?
包名应该保持不变还是应该包含版本信息以保持版本的唯一性?软件包的版本号似乎没有强制执行任何类型的升级策略。
目前在开发过程中,软件包被卸载,然后更新的软件包随后被安装,但是在软件包达到生产后,我相信这种类型的升级工作流在不影响相关数据的情况下是不够的。
【问题讨论】:
标签: c1-cms
在创建包含数据类型和项目的包时,后续升级包以保留在网站上创建的数据同时添加对关联类型的更改的最佳做法是什么?
包名应该保持不变还是应该包含版本信息以保持版本的唯一性?软件包的版本号似乎没有强制执行任何类型的升级策略。
目前在开发过程中,软件包被卸载,然后更新的软件包随后被安装,但是在软件包达到生产后,我相信这种类型的升级工作流在不影响相关数据的情况下是不够的。
【问题讨论】:
标签: c1-cms
只要您增加包版本但保留其唯一的 GUID 和名称,您就可以再次安装相同的包,从而强制 C1 覆盖现有文件、配置等。
这有一些注意事项,主要是如果您需要在安装过程中删除一些旧文件或配置条目,因为这是您在卸载过程中通常会做的事情。但是你仍然可以这样做,写你的own installaton-steps code。
它是从一些核心基础包类继承而来的类,您可以在安装期间调用这些类。它可以包含诸如检查是否安装了某些其他软件包、执行自定义特殊逻辑或清理早期升级等逻辑。
但是,是的,长话短说,只要版本号增加,您就可以“升级”一个包,通过安装较新版本,同时仍安装旧版本。
【讨论】: