繁体   English   中英

数据库开发和部署方法和工具

[英]Database development and deployment methods and tools

我的团队使用ASP.NET开发了一个Web应用程序。 该应用程序非常基于数据库(我们使用SQL Server)。 除了服务器和客户端代码外,大多数功能都需要数据库开发。 我们使用GIT作为我们的源代码管理系统。

为了检入(并稍后部署)数据库更改,我们创建SQL脚本并检入它们。我们的安装程序知道要运行它们,这就是我们部署这些更改的方式。 使用脚本来合并更改非常不舒服(例如,如果两个开发人员在同一张表中添加了一列)。

所以我的问题是您还可以建议其他什么方法或工具? 我知道Visual Studio有一个可能有用的数据库项目,但我仍然没有了解它,我想知道在开始学习它之前是否还有其他选择。

谢谢!

我认为,您必须添加worlflow并从数据库开发的第一步开始使用Liquibase (请检查Liquibase Quick-Start ,其中changelog从创建初始结构开始)。

从开发人员POV添加Liquibase意味着在某些变更集中必须更改数据库架构时,会在source-tree中出现其他XML文件。

我为制造此产品的Red Gate工作的第一次完整披露...

您可能有兴趣了解一下SQL Source Control 它是用于SSMS的插件,可将您的开发数据库连接到现有的版本控制系统(在您的情况下为git)。

当开发人员对开发数据库(专用本地副本或共享开发数据库)进行更改时,将检测到此更改,然后将其提交到存储库。 其他开发人员可以选择此更改,然后您可以将其传播到其他环境。

部署时,您可以使用SQL比较工具从签出的存储库中的特定修订版进行部署。

在您的示例中,有两个开发人员对同一个表进行了更改的情况下,这确实非常方便。 第二个开发人员都可以在提交更改之前从版本控制系统中获取更改。 或者,您可以使用git的分支/合并功能在单独的分支中跟踪它们并将它们作为单独的更改进行部署。 也可以将其耦合到CI系统。

使用git运行SQL Source Control的一些细节:

以及指向更通用的设置指南的链接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM