我有一个用.Net核心构建的小网站,其中包括一个SQLite数据库和实体框架核心。我在Mac上使用VS Code。
在本地管理数据库很容易 - dotnet ef database update
效果很好。问题是在部署到Azure时运行迁移。
我的repo在GitHub上,当我推送到主分支时,我将Azure配置为从GitHub中提取代码。部署工作正常,但迁移不在Azure上运行。
我已经看到一些建议,我可以在Startup.cs中使用yourDbContext.Database.Migrate()
,但似乎.Migrate()
不再可用。
我尝试从Azure下载部署脚本并通过将call :ExecuteCmd dotnet ef database update -e Production
添加到deploy.cmd来自定义它,但这似乎不起作用。
我尝试使用我可以通过Kudu网站访问的PS shell来手动运行迁移,但在尝试运行dotnet ef database update
时,结果为No executable found matching command "dotnet-ef"
这里有一个非常相似的问题(EF Core (1.0.0) Migrations On Azure App Services),但这个问题没有得到任何答案。
答案 0 :(得分:7)
在代码中初始化数据库时,可以运行context.Database.Migrate()
。首次启动应用程序时将运行迁移