当前位置:  开发笔记 > 编程语言 > 正文

您应该将SQL存储过程存储在源代码管理中吗?

如何解决《您应该将SQL存储过程存储在源代码管理中吗?》经验,为你挑选了3个好方法。

在开发具有大量存储过程的应用程序时,是否应将它们存储在某种源版本控制系统中(例如源安全,TFS,SVN)?如果是这样,为什么?使用SQL Server Management Studio是否有方便的前端方式?



1> kemiller2002..:

是.所有代码都应存储在源代码管理中.

简单地说,代码是代码,错误发生.很高兴能够回头看看随着时间的推移发生了什么变化,并能够回到这些变化.

我们必须手动将其添加到源控制系统,但您可以为Sql Server管理系统创建插件.我没有创建一个自动添加到源代码控制,但我想你可以.此外,所有代码都存储在sql表中,因此理论上您可以创建一个进程或某些内容来遍历表并检索所有代码并自动提交.

更新:我总是编写额外的代码来检查并查看代码是否存在,以及它是否创建了填充程序,然后实际的脚本执行并更改过程.

IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE 
id = OBJECT_ID(N'[dbo].[SomeStoredProcedure]') AND 
OBJECTPROPERTY(id,N'IsProcedure') = 1)

EXEC sp_executesql N'CREATE PROCEDURE [dbo].[SomeStoredProcedure] AS

SELECT ''SPROC Template'''

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

 ALTER PROCEDURE SomeStoredProcedure

执行删除并重新创建将删除您为其设置的所有用户权限.



2> Jason Punyon..:

绝对没有问题,没有任何问题在整个宇宙中都没有异常!


sooo ...你说的是你认为这是个好主意?:)

3> Gulzar Nazim..:

在版本控制下获取数据库.查看Scott Allen的一系列帖子.

在版本控制方面,数据库通常是第二类甚至是三等公民.从我所看到的情况来看,那些在一百万年内从未想过编写没有版本控制代码的团队 - 这是正确的 - 可能会完全忘记对应用程序所依赖的关键数据库进行版本控制的需求.我不知道当你的数据库与其他代码完全没有完全相同的源代码控制级别时,你怎么称自己为软件工程师并保持直面.不要让这件事发生在你身上.在版本控制下获取数据库.

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有