在进行常规构建时,如何处理数据库版本控制?

时间:2009-04-23 22:30:16

标签: database database-versioning dailybuilds

我有一个Web应用程序项目,可以使用相当大的数据库(超过5 GB)。数据库中的数据按项目分区。每个项目大约需要1 GB,它是应用程序工作的最小集合(我们进行一些分布在此数据集上的数学计算,并且不能删除部分数据集)。

作为日常构建的一部分,我们还将应用程序部署到测试环境中。为此,构建器运行自定义数据库更新实用程序,以将当前数据库更新为适当的版本。但我们还要求保留所有日常构建,以便QA团队能够“及时回溯”并比较不同构建的计算结果。尽管我们尝试拥有向后兼容的数据模式,但有时它非常具有挑战性并且非常耗时。因此,问题是:

如果您需要保留以前的每日构建和运行,并且需要在进行每日构建时管理大型数据库,那么您将使用哪种数据库版本控制方法?

如果它们有所不同,我们会在前端使用SQL Server 2005和ColdFusion以及一些Java。

1 个答案:

答案 0 :(得分:3)

我建议阅读Leon Bambrick的名单11 Tools for Database Versioning

我会将Visual Studio for Database Professionals添加到列表which can be found here

此外,杰夫阿特伍德对这个主题有一个很好的blog post,并附有一些背景阅读链接。