首页 > 解决方案 > 如何在部署时在 asp.net MVC 上自动迁移?

问题描述

我最近使用 IIS 部署部署了我的 asp.net MVC 应用程序,我的数据库位于服务器上。我的问题是,有没有一种方法可以使 Azure Pipeline 上的迁移自动化,如果可以,如何实现?

标签: sqlasp.net-mvcentity-frameworkazure-devops

解决方案


对于这个问题,我认为您可以在发布管道中使用 Azure SQL 发布任务。SQL Azure 和本地实例之间唯一相关的区别是连接字符串的服务器部分。所以这个任务对你有用。

Step1:在构建管道中生成迁移脚本的命令

创建命令行任务以生成迁移脚本:

dotnet ef migrations script -i -o %BUILD_ARTIFACTSTAGINGDIRECTORY%\migrate.sql --project EfMigrationApp.Database\EfMigrationApp.Database.csproj --startup-project EfMigrationApp\EfMigrationApp.csproj -i -o %BUILD_ARTIFACTSTAGINGDIRECTORY%\migrate.sql

步骤 2:在发布管道中发布 Azure SQL

行动:发布类型:SQL 脚本文件 Sql 脚本应如下所示:

$(System.ArtifactsDirectory)/_$(Build.DefinitionName)/drop/migrate.sql 

详情请参考此博客案例


推荐阅读