在源代码管理中存储数据库值

时间:2010-07-29 16:46:36

标签: database database-design version-control

我们的数据库中有一个表,用于存储应用于在我们的应用程序中创建的XML文档的XSL和XSD。此表的版本化意味着每次进行更改时,都会创建一个新行。

我正在尝试建议将XSL和XSD存储为源控制系统中的文件,而不是依靠数据库来跟踪历史记录。每次更新文件时,我们都会将新版本部署到数据库中。

我似乎没有就此问题达成多少协议。任何人都可以帮助我解决这种方法的利弊吗?也许我错过了什么。

1 个答案:

答案 0 :(得分:1)

XSL和XSD文件是应用程序的一部分,因此应该保持在源代码管理之下。这很明显。即使有人想将它们作为数据进行归类,它们也会成为参考数据,所以 - 至少在我的书中 - 需要保持在源代码管理之下。这是因为参考数据是应用程序的一部分,因此也是其配置的一部分。例如,使用数据库存储下拉值或实现业务规则的应用程序需要确保它保存正确的数据版本。

在dtabase中保留文件的多个版本的唯一理由是,如果您可能需要处理旧版本的XML文件。这取决于您的应用程序的性质。当然,我已经处理过XML文件/消息来自外部(第三方)系统的系统,我们实际上无法控制所发送消息的格式。因此,出于各种原因,我们需要能够处理传入的XML,无论其结构是当前的还是历史的。但是除了将文件存储在源控制存储库中之外,而不是代替。