事实:
如果我运行PM>“Get-DbContext”,它会从我的appsettings.Development.json文件中恢复信息GREAT,这就是我大部分时间都想要的!
但是,如何告诉它从appsettings.Staging.json中提取db变量而不是PM命令的开发?
我尝试创建新的launchSettings.json配置文件并设置“ASPNETCORE_ENVIRONMENT”:“暂存”,但一切似乎都尊重除了PM。
PS解决它使用脚本迁移生成脚本但我想快速UP和DOWN我得到并且不会用它来部署到prod
没有详细记录,但您必须通过在程序包管理器控制台中运行此命令来手动更改ASPNETCORE_ENVIRONMENT
PM> $env:ASPNETCORE_ENVIRONMENT='Staging'
然后你可以运行这个命令来验证它是否指向你想要的数据库:
PM> Get-DbContext
这将踢出去
providerName databaseName dataSource options
------------ ------------ ---------- -------
Microsoft.EntityFrameworkCore.SqlServer myDatabase tcp:fake.database.windows.net,1433 None
然后正常运行您的命令。例:
Update-Database
参考命令:https://docs.microsoft.com/en-us/ef/core/miscellaneous/cli/powershell