对使用GitHub部署的dotnet核心站点运行azure上的迁移

Din*_*s35 9 azure entity-framework-core asp.net-core

我有一个用.Net核心构建的小网站,其中包括一个SQLite数据库和实体框架核心.我在Mac上使用VS Code.

在本地管理数据库很容易 - dotnet ef database update效果很好.问题是在部署到Azure时运行迁移.

我的回购在GitHub上,当我推送到主分支时,我将Azure配置为从GitHub中提取代码.部署工作正常,但迁移不在Azure上运行.

我已经看到了一些我可以yourDbContext.Database.Migrate()在Startup.cs中使用的建议,但它似乎.Migrate()已不再可用.

我尝试从Azure下载部署脚本并通过添加call :ExecuteCmd dotnet ef database update -e Production到deploy.cmd 来自定义它,但这似乎不起作用.

我尝试过使用PS shell我可以通过Kudu站点手动运行迁移,但是当试图运行dotnet ef database update结果时,No executable found matching command "dotnet-ef"

这里有一个非常相似的问题(EF Core(1.0.0)迁移在Azure应用服务上),但这个问题没有得到任何答案.

小智 7

您可以context.Database.Migrate()在代码中初始化数据库时运行.首次启动应用程序时将运行迁移

  • 谢谢@matthijsb - 我在几个地方看到了这个答案,但这对我不起作用.我再试一次,然后开始工作.诀窍是我需要将`使用Microsoft.EntityFrameworkCore;`添加到Startup.cs的顶部.没有它我仍然能够在VS Code中找到`.Database`创建上下文和intellisense.但是在添加额外的"using"之前,它没有找到`.Migrate()`. (2认同)