推荐使用:MSBuild.Sdk.SqlProj,构建SQL Server dacpac的智能方式
简介
MSBuild.Sdk.SqlProj是一个强大的MSBuild SDK工具,能够从一组SQL脚本中创建SQL Server数据层应用程序包(.dacpac),并可配合Microsoft.SqlPackage
dotnet工具进行部署。它借鉴了SQL Server数据工具的.sqlproj项目格式,但基于VS2017引入的新SDK样式项目,提供了更加灵活和现代化的开发体验。
如需视频引导,敬请观看dotnetFlix的这一集,详细了解此项目的起源,请阅读以下博客文章:
技术剖析
MSBuild.Sdk.SqlProj简化了SQL Server数据库项目的构建过程。它允许您直接在SDK风格的.NET Core项目文件中管理SQL脚本,如同处理C#或F#代码一样。通过设置项目属性,您可以控制目标SQL版本,排除不需要的脚本,并自定义 dacpac 包含的内容。此外,支持预部署和后部署脚本,使数据库部署更易管理和控制。
特性概览
- 使用现代SDK项目格式
- 直接从.NET Core CLI生成.dacpac
- 预部署和后部署脚本支持
- 支持指定SQL Server版本
- 可配置的编译选项和警告抑制
- 能与Visual Studio设计界面协同工作
应用场景
这款神器适用于任何需要构建和部署SQL Server数据库项目的场景,包括但不限于:
- Web应用或API的数据库同步
- 持续集成/持续部署(CI/CD)流程中的数据库变更管理
- 数据库迁移项目
- 多环境数据库部署策略
项目特点
- 易于上手:通过简单的
dotnet new sqlproj
命令即可快速启动新项目。 - 灵活的版本控制:可以针对不同版本的SQL Server调整项目设置。
- 模板支持:提供多种数据库对象(如表、视图、存储过程等)的模板,一键创建。
- 强大的项目文件:可自定义构建逻辑,包括排除特定脚本、设置数据库模型属性以及控制编译选项。
- 跨平台兼容:作为.NET Core的一部分,可以在Windows、Linux和macOS上无缝操作。
要开始探索MSBuild.Sdk.SqlProj的潜力,只需安装模板并创建您的第一个项目,然后用dotnet build
命令看看神奇的.dacpac如何诞生。这只是一个开端,更多的可能性等待您的发掘!
dotnet new --install MSBuild.Sdk.SqlProj.Templates
dotnet new sqlproj
dotnet build
加入到这个高效的SQL Server开发时代,让MSBuild.Sdk.SqlProj成为您打造数据库解决方案的理想伙伴!