在源代码管理中维护存储过程

时间:2010-01-07 23:54:41

标签: sql version-control stored-procedures

你们如何维护存储过程?我想保留它们的版本有几个不同的原因。

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

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

还有其他想法吗?

2 个答案:

答案 0 :(得分:3)

我们使用Red Gate的SQL Toolbelt来实现此目的。像魅力一样。

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

答案 1 :(得分:3)

每个对象,存储过程或其他方式以及架构更改都由subversion控制下的脚本(文本文件)处理。就像项目中的任何其他文件一样。对对象/模式的更改是通过对相关数据库执行这些脚本来完成的。为方便起见,我们的构建过程将这些过程聚合成一个大脚本并且模式更改脚本以某种方式编写,以便可以在没有警告/错误的情况下重新运行它们(如果不存在... exec ...)

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

使用这些版本控制的脚本,以与在qa / production中相同的方式对dev数据库进行更改。