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

Sql 在源代码管理中维护存储过程,sql,version-control,stored-procedures,Sql,Version Control,Stored Procedures,你们是如何维护存储过程的?出于几个不同的原因,我想保留它们的版本 我还将在本周末设置cruisecontrol.net和nant以实现构建的自动化 我在考虑编写一些代码,为开发数据库中的所有表/sproc/udf/xml模式生成创建脚本。然后,它将采取这些脚本,并在源代码管理中每两个小时更新一次。。。。理想情况下,我想让它成为cruisecontrol.net的某种插件/模块 还有其他想法吗?我们在工作中使用红门的SQL工具带就是为了这个目的。工作起来很有魅力 每个对象、存储过程或其他对象以及架

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

我还将在本周末设置cruisecontrol.net和nant以实现构建的自动化

我在考虑编写一些代码,为开发数据库中的所有表/sproc/udf/xml模式生成创建脚本。然后,它将采取这些脚本,并在源代码管理中每两个小时更新一次。。。。理想情况下,我想让它成为cruisecontrol.net的某种插件/模块


还有其他想法吗?

我们在工作中使用红门的SQL工具带就是为了这个目的。工作起来很有魅力


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

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


相反,使用那些版本控制的脚本,以与qa/生产中相同的方式对dev数据库进行更改

我使用Red Gate sql compare和sql data compare将更改从一个环境部署到另一个环境。是的,这是(国际海事组织)迄今为止最好的工具。但他们有一个组件,用于创建脚本?是的,也有几种不同的方法。您可以生成从SQL比较或使用SQL变更集自动检入的脚本(我们使用后一种方法)。他们很快将发布另一款软件作为独立应用程序,并与ManagementStudio集成。了解红门的其他产品,我相信它也会很好。