如何在部署时在asp.net MVC上自动进行迁移?

时间:2019-11-01 13:58:27

标签: sql asp.net-mvc entity-framework azure-devops

我最近使用IIS Deployment部署了asp.net MVC应用程序,并且数据库位于服务器上。我的问题是,有没有办法可以使Azure管道上的迁移自动化,如果可以,怎么办?

1 个答案:

答案 0 :(得分:1)

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

第一步:命令在构建管道中生成迁移脚本

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

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 

有关详细信息,请参阅此blogcase

相关问题