使用Team Foundation Server的管理他们的数据库有人?目前,我们正在使用的颠覆。队抱怨,这是很难以在TFS构建过程,并且回避远离它。

任何一个优秀的三分球,文章,经验?

有帮助吗?

解决方案

DB变更管理没有多少与你的选择的版本控制系统,只要你有一个摆在首位。当然,如果你使用的变更管理工具,从MS,你可以肯定的是,他们已经对TFS和MS开发堆栈的其它部分很好的测试。无论你是否使用DBPro或经典VS“数据库项目”,或在SQL Management Studio中的剥离下来的项目/解决方案绑定看到的更老/很烂的形式整合是真的。但是,没有任何原因,你不能使用DBPro使用Subversion,或红门与TFS对这一问题。

也是一样的构建产生。 CC.NET VS团队建设,南特VS的MSBuild,等...官方MS工具往往是大致与竞争相提并论。您还没有描述你的数据库部署过程中的细节,但我无法捉摸它会显著更难脚本的MSBuild比您正在使用什么现在,如果在所有。它也不是很难选择在堆叠中的不同位置有不同的工具集:你可以有基于CC.NET的MSBuild建立驱动器使用其红门的命令行部署,或任何其他组合。我忽然想到被粘到MS世界远远超过任何一个工具怪癖所提供的紧密集成,但选择是存在的。

让我得到的一点是:这听起来像你的主要问题不在于技术,而是让DBA能够真正采取摆在首位的版本控制。如果你的“开发”和“刺”的环境是自己的生活的实体,而不是一般的机器的完全定义的一些重复的构建过程的结果,那么你就没有真正使用版本控制在我的书。试想一下,如果一个客户端开发人员偶尔用手调整了对各地公司的各种机器的DLL文件,然后抱怨说,他们太辛苦同步;你会认为他疯了。

除此之外,最重要的投资越来越到没有什么是以往任何时候都直接完成一个DB的地方(比你到%ProgramFiles%闲逛了)。如果不是在源代码库,它不存在。

我不认为你如何到达那里是非常重要的。你可以写你的所有创建并在记事本中改变,在命令行中检查他们,并让您“打造过程”是一个两行shell脚本,将其连接到一个众所周知的文件,其中部署脚本知道如何寻找。或者你可以使用像DBPro看中工具来放大与智能感知/单元测试/离线模拟/等有后者的方向(特别是如果你相信的声明性编程是需要奋斗的一般),但我真的相信第一步骤是最大的。

其他提示

我们正在使用Visual Studio 2008团队套房TFS一起。我能够给我们的数据库导入到TFS相对容易。然而,我发现,大部分团队(包括数据库管理员)的忘记更新TFS当他们在SQL修改一个对象。

任何种类的构建过程是要依靠DB临到你的开发环境和目标环境之间产生差异的脚本。我发现,因为我们的开发环境是不是干净的比赛对我们的生产环境中,这是有问题的。权限是肯定不同的,我们有一些地方变化,开发/ QA被应用,但从来没有出正式版(但也从来没有逆转)其他情况。试图更改从在DB Pro的其他变化很多隔离是具有挑战性的,因为它的用户界面让你排除在最终剧本(所以如果你修改2个对象1000人是不同的,你必须取消其他1000个对象)的对象。此外,该模式比较的配置工具 - >选项往往是做,而像红门其他工具允许您配置在同一屏幕上,你开始它比较。

我觉得工具很有潜力,但是我们肯定需要适应我们现有的程序和系统TFS的工作。此外,你的数据库对象具有版本是无价的,即使它不是100%是最新的。

我们使用TFS与数据库版本。

在数据库创建脚本具有后脚本以开发数据加载到DB。

我们做定期部署到开发环境。所有的开发商都SQL本地安装和他们做自己获取最新和部署。

在单元测试环境中,登录,数据库(OLTP和OLAP),复制,ETL包,SQL作业等等都部署到它们各自的位置,一切都接种。

开发没有做任何改动之外,在没有检查他们,因为再部署单元测试是行不通的。

有在这个堆栈溢出的问题上这更多的意见: 是什么真正的好处Visual Studio团队系统数据库版(GDR)? (我不知道为什么,但我的搜索把我带到这个问题,而是和我有很多的麻烦找上这个意见,希望此链接将帮助其他人执行相同的搜索。)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top