【发布时间】:2020-12-04 17:15:09
【问题描述】:
当我去更新我的数据库时,我首先运行$env:ASPNETCORE_ENVIRONMENT="Development",然后再执行Update-Database 命令来设置正确的环境。例如,如果我之前部署了对 Test 的更改,则运行此命令应该会将我指向我的开发环境,而不再指向 Test。
不幸的是,这仅在 33% 的情况下有效。每次我运行它时,我也会运行$env:ASPNETCORE_ENVIRONMENT 并检查它是否返回正确的环境并且确实如此。然后我运行我需要的Update-Database 命令,它会以某种方式变回以前的环境。
有人知道我做错了什么或者知道我将连接到正确的数据库吗?如果命中了错误的数据库并且数据恰好被删除或系统出现故障,这可能会非常糟糕。
【问题讨论】:
-
你是指调试和发布模式吗?
-
不,我的意思是设置将要更新的环境,因此 QA、测试、暂存、生产可能是示例。这样会影响正确的数据库。
-
我不知道为什么会这样,但这很令人沮丧,不知道我在运行
$env:ASPNETCORE_ENVIRONMENT="Development"后意外更新了多少次 Staging - 我现在基本上每次都仔细检查$env:ASPNETCORE_ENVIRONMENT因为它有时似乎无法正常工作。 -
即使使用 VS2022 仍然会发生这种情况!
标签: c# environment-variables visual-studio-2019 ef-core-3.1 package-manager-console