如何在不影响其他人的情况下进行SQL数据库更改

时间:2013-10-14 17:42:15

标签: database schema

我是新手,但是想知道可能存在一种标准做法,即在架构发生变化,模型发生变化以及相关代码更改(在我们的MVC应用程序中)发生时,开发人员可以访问同一个数据库而不会受到影响(并进行测试)使用相同的数据库。

我想我们必须获取数据库的副本,我们可以在其中实现架构更改。我们如何将这些更改导入/导入数据库,以便其他人可以看到对数据库的新更改。

2 个答案:

答案 0 :(得分:2)

如果您使用Visual Studio和TFS进行源代码管理,则可以在解决方案中包含一个数据库项目:http://msdn.microsoft.com/en-us/library/xee70aty.aspx。这将允许您将TFS用于数据库源代码控制。

另一个选择是使用数据库源控制工具,例如Redgate:http://www.red-gate.com/products/sql-development/sql-source-control/

答案 1 :(得分:1)

最佳实践要求您拥有与开发数据库,​​QA数据库和生产数据库大致相同的内容。如果多个开发人员正在改变它,那么即使拥有一个单独的开发数据库也会有点棘手,而这些变化与其他开发人员期望模式的状态相冲突。

我们公司的大多数人都是针对本地数据库开发的,然后定期将这些更改检查到源代码管理中。然后,每个开发人员都会对这些更改进行最新处理,并将它们集成到代码库等中。

然后,源代码管理中的更改将迁移到QA进行测试,然后再生成。

顺便说一下,我们使用SSDT(Sql Server开发工具)进行TFS源代码控制。我们的数据库位于自己的SSDT数据库项目中。您绝对应该对数据库模式使用某种版本控制。毕竟,您的数据库模式也是源代码,就像您的MVC代码一样。