我的应用程序具有基于xml的配置。它还有一个xsd文件。在我的应用程序启动之前,xmllint将根据xsd文件检查配置。
随着应用程序的增长,配置结构发生了一些变化。现在我必须面对这个问题:当我向客户提供我的应用程序的新版本时,我必须升级现有配置。
如何轻松巧妙地完成这项工作?
我的想法是使用python构建配置对象,然后从文件中读取配置v1并将其另存为v2。但是如果稍后再次更改结构,我必须构建另一个配置对象模型。
答案 0 :(得分:1)
对于配置之间保持相同的所有配置设置,请让安装脚本从旧配置文件中复制这些设置(如果存在)。对于其余部分,只需要一些默认值,用户可以根据需要更改,就像配置文件一样。除非我误解了这个问题,否则听起来你做的事情要比你需要做的更大。
顺便说一句,你真的只需要一个“更新程序”脚本,因为你可以参数化XML标记,使其通过你的新配置文件/配置布局文件,然后只检查旧文件中的标签反对并复制新文件中存在的数据。我之前没有使用过XSD文件,所以我不知道使用它们的具体细节,但我认为不应该那么困难。