1

我当前的项目使用 Visual Studio Team System for Database Professionals GDR2(又名 DataDude)。我们是唯一使用我们使用 DataDude 建模的数据库的应用程序。

我的公司想考虑在我们所有的项目中全面使用 DataDude。但是,我不确定这对于共享数据库的项目(这是我们的大部分应用程序)的效果如何。

例如:ApplicationA、ApplicationB 和 ApplicationC 都共享 Server1 上的 Database1。(他们不共享源代码,只共享数据库。)所有三个应用程序都在当前开发中(如果重要,使用 Scrum)。

当 ApplicationB 需要发布到我们的测试环境时,问题就来了。DataDude 的自动部署/脚本功能将捕获 ApplicationA 和 ApplicationC 的当前开发更改。(现在为每个应用程序进行数据库更改是一个手动过程)。

那么,当它们共享同一个数据库时,我如何才能将每个应用程序与另一个应用程序隔离呢?

注意:我并不担心这个问题的冲突更改(即,如果 ApplicationA 进行了破坏 ApplicationC 的数据库更改)。我们可以在测试中找到那些。我只需要确保不将不属于我当前发布的应用程序的任何数据库更改移动到我的测试/生产环境中。

是否有任何最佳实践或功能可以帮助我解决这个问题?

4

1 回答 1

3

我们处于类似的情况。我们有许多应用程序访问同一个数据库,我们的数据库受 DBPro 源代码控制。我们通过让各种应用程序在它们自己的数据库源代码分支中工作来处理这个问题。每个应用程序都会定期从主分支向下合并,以便其分支知道其他应用程序所做的更改。然后,当其中一个应用程序需要部署到测试时,会合并到主分支,然后部署到测试服务器。

于 2010-02-02T19:22:57.840 回答