我知道这是完全依赖于实现的问题,但想知道用于迁移配置文件的一般策略。
我们有一个产品可以从属性/XML 文件中读取一些配置。在属性文件中配置了一些默认值。客户可以根据自己的需要更改属性。现在假设我们在文件中更改/添加一些属性并且客户迁移到更新的版本。我们应该如何将客户特定的配置与新添加/更新的属性合并?一种方法是编写一个实用程序来合并文件,但不想为每个版本都这样做。
提前致谢
我知道这是完全依赖于实现的问题,但想知道用于迁移配置文件的一般策略。
我们有一个产品可以从属性/XML 文件中读取一些配置。在属性文件中配置了一些默认值。客户可以根据自己的需要更改属性。现在假设我们在文件中更改/添加一些属性并且客户迁移到更新的版本。我们应该如何将客户特定的配置与新添加/更新的属性合并?一种方法是编写一个实用程序来合并文件,但不想为每个版本都这样做。
提前致谢
我们有一个配置继承模式。在开发中,我们有:
BaseSetup <- Setup <- DevelopmentSetup <-- StagingSystemSetup
|- DeveloperMikeSetup
|- DeveloperSusySetup
因此,演示服务器使用从通用 DevelopmentSetup 等继承的设置 StagingSystemSetup 运行。此外,每个开发人员都有自己的配置/设置,也已签入。这意味着每个人都可以根据需要更改其配置,而不会干扰其他人。
在生产/客户中,仅使用设置而无需专门设置,但这是客户提供的设置,它继承自基本设置。
如果我们引入并启用一个新功能,我们只需要修改基本设置。理想情况下,不应发生客户强制更改设置的情况。
我会说这都是文档。我不会打扰迁移工具。你肯定有你的软件的文档。在该文档中包含配置更改。您的客户有责任阅读更改日志并应用这些配置更改。如果缺少的新配置是必不可少的并且没有合理的默认值,则错误消息应清楚地将客户指向缺少的配置。OTH 如果缺少的配置具有默认值,则日志中的警告可能会有所帮助。