获取存储过程的源代码控制

时间:2010-03-25 07:33:28

标签: sql sql-server svn stored-procedures

首先是技术性的东西:

我们正在使用VS 2008 pro并运行MS SQL 2008服务器。对于sourcecontrol,我们使用Subversion。

我们真的希望将我们的存储过程保存在subversion中,这样我们就可以知道改变了什么,等等。

然而,为了实现这一点,它必须是无缝的,否则开发人员只会忘记将提交的程序包含在提交中。

那么有什么好的解决方案吗?

我确信我们不能成为唯一有这个问题的公司: - )

6 个答案:

答案 0 :(得分:3)

在我们公司,我们使用Team Foundation服务器为Visual Studio团队系统跟踪代码源和存储过程版本控制;存储过程的处理方式与任何其他代码源一样。

数据库不能自动同步到TFS;因此,对于您需要的每个新SP:

  1. 创建
  2. 将其添加到TFS
  3. 签入
  4. 添加到数据库
  5. 如果您需要修改:

    1. 查看TFS
    2. 修改来源
    3. 签入TFS
    4. 修改数据库
    5. 当我们需要提交生产时,我们正式要求dba将新的/修改的存储过程同步到我们的生产数据库下载并应用TFS的最新版本。

      可能出现的问题:

      1. 懒惰的开发人员(像我一样)直接在Sql上修改SP 服务器并且不在TFS上对齐代码
      2. 疯狂的开发者(像我一样)忘了检查 最新的固定版本和Dba对齐 生产中的错误

答案 1 :(得分:3)

在Visual Studio 2008中,您可以创建一个数据库项目,该项目允许您将所有存储过程和任何其他SQL语句存储在一个不错的项目中,然后可以将其存放在Subversion中。

答案 2 :(得分:2)

我目前正在使用Red-Gate的一个名为SQL Source Control的免费工具来做这件事,它运行良好,它插入SSMS。这是一个包含更多信息http://www.red-gate.com/products/SQL_Source_Control/index.htm的链接我不得不提到它目前处于测试阶段但与SVN和TFS一起使用效果很好。

答案 3 :(得分:1)

如果您正在遵循敏捷方法,我建议您在完成,完成定义中添加“不要忘记提交SP”,这样它就会成为您流程的自然部分。

答案 4 :(得分:0)

我非常喜欢Visual Studio Team Edition for Database Professionals,如果你有Visual Studio Team Edition for Developers,现在可以免费使用。它允许您在脱机模型中使用数据库对象,可以将其签入源代码控制。然后使用脱机模型自动为数据库生成部署脚本。

唯一的缺点是价格。

答案 5 :(得分:0)

我们有一个程序可以在安装/升级程序时进行任何所需的数据库版本更改。

因此,为了部署任何SQL代码,它必须包含在该程序中(在我们的例子中作为资源)。这使得自动版本控制和将代码添加到VS支持的源代码控制系统。

请参阅链接后面的more in-depth description of our system