2010-01-07 70 views
3

你们如何维护存储过程?我想保留它们的版本有几个不同的原因。在源代码管理中维护存储过程

我也将设置cruisecontrol.net,并在本周末将自动化构建。

我正在考虑在我的开发数据库中编写能够为所有tables/sprocs/udf/xml模式生成脚本的代码。然后,它会采取这些脚本,并在每隔几个小时更新它们在源代码控制中....理想情况下,我想为cruisecontrol.net制作一些插件/模块。

还有其他想法吗?

回答

3

我们在工作中使用Red Gate的SQL Toolbelt来达到这个目的。奇迹般有效。

http://www.red-gate.com/

+0

我使用红门的sql比较和sql数据比较来部署从一个环境到另一个环境的变化。是的,这是(imo)迄今为止最好的工具。但他们有一个版本数据库创建脚本的组件? – dub 2010-01-08 00:13:10

+0

是的,还有几种不同的方法可以做到这一点。可以生成从SQL Compare自动签入的脚本或使用SQL ChangeSet(我们使用后一种方法)。 他们即将发布另一个软件作为独立应用程序与Management Studio集成。 http://www.red-gate.com/Products/SQL_Source_Control/index.htm 了解Red-Gate的其他产品我相信它也会很好。 – 2010-01-08 01:06:16

3

每个对象,存储过程或以其他方式和模式的变化是通过颠覆控制下的脚本(文本文件)处理。就像你项目中的其他文件一样。通过针对相关数据库执行这些脚本来更改对象/模式。为了方便起见,我们的构建过程将这些过程汇总为一个大脚本和架构更改脚本的编写方式,以便他们可以重新运行没有警告/错误(如果不存在... exec ...)

我会建议反对编辑表格定义或直接在数据库中创建对象使用查询工具,然后尝试将这些更改提取到脚本中。

改为使用这些版本控制的脚本,以与您在qa/production中相同的方式更改开发数据库。

相关问题