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

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

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

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

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

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

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

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

也许答案是频繁部署到开发服务器,例如,当我调试和更改 proc 时?相当多的开销;我可以在几秒钟内手动执行必要的脚本,构建和部署需要几分钟。另外,如果我们三个人将不同的更改部署到开发数据库,​​我们不会覆盖彼此的修改吗?

抱歉这么长篇大论,但我忍不住想我在这里遗漏了一些简单的东西。

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

最佳答案

我想您已经一语中的了。为了测试您修改后的存储过程,您必须通过部署步骤来更新您的数据库。这是离线开发模式的缺点。

在 Red Gate,我们收到了很多要求让 SQL 源代码控制支持数据库项目的请求,这将允许开发人员从“在线”开发模型中受益,同时仍然受益于数据库项目功能。

[编辑] 我们在 SQL 源代码控制中添加了对数据库项目的“测试版”支持,它允许针对数据库项目格式进行连接的 SSMS 开发。从 SQL 源代码管理中简单链接到带有 eh .sqlproj 文件的文件夹并开始开发! [/编辑]

与此同时,您必须继续定期部署到开发人员!

另一种方法是在真实数据库上进行开发,并使用架构比较功能同步回您的数据库项目。架构比较在 Visual Studio 的高级版和旗舰版中可用。

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

关于database - 如何在 Visual Studio 2010 数据库项目中开发 TSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3561130/

相关文章:

sql - 嵌套选择查询优化——执行缓慢

database - Swift - 从数据库中删除单条记录

找不到 XML 注释文件 - Swagger

c# - 将 Entity Framework Code First 与动态连接字符串结合使用

c++ - 如何强制库使用自定义 std::allocator?

c++ - C++ 中的警告 6011

tsql - T-SQL VIEW - CTE + UNPIVOT 对比 UNION 对比其他技术

sql - SQL、PL-SQL 和 T-SQL 之间有什么区别?

mysql - 在一条语句中使用多个 SQL 查询

python - 如何在 Django 中创建/使用自定义数据库函数