Source控件中的数据库名称

时间:2011-12-02 11:42:43

标签: database version-control

我们正在使用Visual Studio 2010 Professional,SQL Server 2008 R2和Team Foundation Server 2010开发一个aspx项目。由于开发是在多个办公室中进行的,因此每个开发人员都有自己的数据库本地实例。 我想将这些多个数据库置于源代码控制之下(或者至少是数据库,结构和存储过程的模式 - 数据对我来说无关紧要)。我首选的方法是将数据库项目添加到VS解决方案,该解决方案已在TFS中进行源代码控制。任何更改都将由TFS分发,并可在本地部署。

我遇到的问题是数据库项目包含对本地数据库实例(服务器和名称)的引用。当有人获得我的更改的最新版本时,他们将引用我的本地数据库实例(与其本地数据库实例不同)。他们需要更改数据库详细信息(从而检查dbproj)以获取更新。

那么,有没有什么方法可以使数据库服务器&当模式保持在源代码管理下时,名称可以不在源代码管理之外吗?任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:1)

我不确定你是否可以。但是,您可以使用别名,因此所有开发人员都在其本地计算机上使用数据库,但由相同的别名引用。

请查看:http://www.mssqltips.com/sqlservertip/1620/how-to-setup-and-use-a-sql-server-alias/了解如何设置别名。

这样您就可以将数据库与连接细节分开。

答案 1 :(得分:0)

我参与开发了一个名为DBmaestro TeamWork的独特强制database source control解决方案。

它有一个SSMS插件,允许开发人员直接在数据库对象上工作(更改他们的工作环境),运行他们的测试,然后执行Check-In,读取元数据(表'结构,过程,函数) ,视图等)到版本控制存储库。

通过影响分析,可以轻松地将来自不同数据库的更改合并到单个数据库中。 影响分析算法执行三向分析(不仅仅是一个简单的比较和同步)来识别来自developerA的变更源,当开发人员合并他的更改时它不应该被还原,并且在运行影响分析或生成delta时忽略数据库名称脚本。