首页 文章

Source控件中的数据库名称

提问于
浏览
2

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

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

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

2 回答

  • 1

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

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

    这样,您可以将数据库与连接详细信息分开 .

  • 0

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

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

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

相关问题