【Azure DevOps系列】Azure DevOps EFCore命令式脚本部署到SQL数据库
构建迁移脚本
为了构建迁移脚本,我们将需要使用EF Tools for Command Line Interface
。这些工具在Microsoft.EntityFrameworkCore.Tools
提供。
- 迁移脚本
现在我们将通过 dotnet ef migrations script –p <path to your csproj with migrations> -o $(Build.ArtifactStagingDirectory)\migrations\scripts.sql –i
来迁移我们的脚本,在如下代码片段中我将脚本进行迁移出来并且输出到指定的路径 -o $(Build.ArtifactStagingDirectory)/migrations/scripts.sql
中, -i
代表生成可用于任何迁移的数据库的脚本。
- task: CmdLine@2
displayName: 'build efcore migrations'
inputs:
script: |
dotnet ef migrations script --project host/EasyAbp.PrivateMessaging.Web.Unified/EasyAbp.PrivateMessaging.Web.Unified.csproj -o $(Build.ArtifactStagingDirectory)/migrations/scripts.sql -i
选项 | Short | 描述 |
---|---|---|
--output <FILE> |
-o | 要写入脚本的文件 |
--idempotent |
-i | 生成可用于任何迁移的数据库的脚本。 |
- 发布脚本
添加一个发布任务将脚本进行发布,发布到指定的路径$(Build.ArtifactStagingDirectory)/migrations/scripts.sql
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)/migrations/scripts.sql'
ArtifactName: 'drop'
publishLocation: 'Container'
部署脚本
下面是我们的部署管道,本章还是主要介绍数据库脚本部署。
Sqlserver部署任务如下所示:
该任务主要是使用生成的sql脚本将其执行并恢复添加到我们的数据库服务器中,该任务脚本如下所示:
steps:
- task: SqlDacpacDeploymentOnMachineGroup@0
displayName: 'Deploy using : sqlQuery'
inputs:
TaskType: sqlQuery
SqlFile: '$(System.DefaultWorkingDirectory)/**/scripts.sql'
ServerName: ''
DatabaseName: 'PrivateMessaging_Unified'
AuthScheme: sqlServerAuthentication
SqlUsername: ''
SqlPassword: ''
enabled: false
Reference
https://docs.microsoft.com/zh-cn/ef/core/miscellaneous/cli/dotnet
分类:
Azure DevOps
, Azure
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2019-12-09 ASP.NET Core3.X 终端中间件转换为端点路由运行