0

您应该如何正确使用 Visual Studio Team System 数据库项目在 sql server 数据库上实现版本控制?

这可能看起来过于笼统,但到目前为止我在网上找到的所有东西都没有帮助我实现任何有用的东西。我设法找到了与 Redgate 的工具 Sql Compare 中的功能相似的功能,但它绝对不像他们的产品那样直观。

根据我对这些数据库项目应该如何工作的理解,您可以拥有一个存在于 Team Foundation Server(或 sql server 本身)中的数据库版本,您可以将其签出到本地机器工作然后检查新的更改,这将允许同步开发像编码一样正常工作。我被误导了吗?或者它只是一个复杂的设置过程?

相关的是您如何使用它来将更改部署到登台/生产服务器?

4

2 回答 2

4

我们不使用它,我们只是编写每件事的脚本并将其像任何其他文件一样放入源代码控制中,并且所有对 prod 的部署都只能通过从源代码控制中提取的脚本。我认为真正的关键是除了通过源代码控制脚本之外,没有任何东西可以放在产品上。一旦开发人员无法以任何其他方式进行更改(开发人员不应拥有 prod 权限),就没有动力不将更改放入源代码控制中。

于 2010-02-01T18:48:37.373 回答
2

有趣的是你应该问。我是负责将我们的生产数据库置于版本控制之下的人,我们正在使用 Visual Studio 数据库版来做到这一点。这是一个很棒的工具。这个工具的好处在于,它不仅可以让您的模式处于版本控制之下,而且还可以验证您的数据库模式,并允许您对其进行代码分析。它还允许重构操作和许多其他事情。

通常,我们针对本地开发数据库工作,将更改同步回 VSDE,构建数据库以确保没有警告或错误,然后创建部署脚本以部署到我们的生产数据库。

这是对我们执行此操作的内容和方式的简化说明,但我认为它可以让您大致了解如何使用它。我很乐意回答您的任何更具体的问题。

于 2010-02-01T19:11:58.127 回答