如何在Visual Studio 2010数据库项目中开发TSQL

时间:2010-08-24 21:20:51

标签: database visual-studio tsql visual-studio-2010

愚蠢的问题,我知道......让我先做一些基础工作。

我已经成功创建了一个由数百个表,存储过程,索引等组成的数据库项目。构成我们的生产数据库。

我已成功将解决方案添加到源代码管理(TFS)。

我已经对某些对象进行了更改(作为测试)并生成了部署脚本,整个系统非常令人印象深刻,我必须说。但从数据库的角度看,VS 2010的优势似乎是部署,而不一定是开发

我对使用Visual Studio进行数据库/ TSQL开发所涉及的日常工作流程感到困惑。假设我需要向表中添加几列,并修改相关的存储过程以返回/更新这些列的数据。

虽然修改我的数据库模型中的所有脚本都很容易,但我希望能够将它们与开发数据库隔离开来,我可以在那里进行一些测试...但它就像不更新一样简单proc是否存在而无需手动将脚本更改为ALTER(或在CREATE之前添加DROP代码)。必须这样做一两次是没有问题的,但在真正的开发环境中,我们整天都这样做。

也许答案是经常部署到开发服务器,例如我调试并对proc进行更改?相当多的开销;我可以在几秒钟内手动执行必要的脚本,构建和部署需要几分钟。另外,如果我们三个人正在为dev DB部署不同的更改,我们是否不会覆盖彼此的修改?

很抱歉这么长,但我不禁想到我在这里错过了一些简单的东西。

是否有任何书籍/教程/网络研讨会展示了这种实际开发方法?

1 个答案:

答案 0 :(得分:6)

我觉得你已经敲了敲头。为了测试修改后的存储过程,您必须完成部署步骤才能更新数据库。这是离线开发模式的缺点。

在Red Gate,我们有很多要求让SQL Source Control支持数据库项目,这将允许开发人员从“在线”开发模型中受益,同时仍然受益于数据库项目功能。

[编辑]我们在SQL源代码管理中为数据库项目添加了“Beta”支持,它允许针对数据库项目格式进行连接的SSMS开发。使用SQL Source Control中的eh .sqlproj文件轻松链接到该文件夹​​并开始开发! [/编辑]

与此同时,你必须定期继续部署到dev!

另一种方法是在真实数据库上开发,并使用Schema Compare功能同步回数据库项目。 Schema Compare可在Visual Studio的Premium和Ultimate版本中使用。

大卫阿特金森 产品经理 红门软件