I use visual studio to update all my environments with a certain migration. It had worked fine using the command below.
update-database -Migration initMigrationProduct -c ProductContext -Environment Production
In ef core 2.0 this command has been changed and parameter -Environment has been removed. In the docs it said.
"With 2.0, you can use the ASPNETCORE_ENVIRONMENT environment variable instead."
https://learn.microsoft.com/en-us/ef/core/miscellaneous/cli/dotnet
I have now tried all kinds of ways but when I run the update-database
with ef core 2.0 it doesn't use the ASPNETCORE_ENVIRONMENT
variable. I tried to set in registry, application properties.
Please let me know what I need to do to get this working to update different environments?
If I start the application with different launchsettings
it works but not using the package manager console.
Using the package manager in Visual Studio was a dead end for me. The solution was:
Add below in .csproj in the starter project in solution:
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />
</ItemGroup>
Open the command tool(cmd) and go the the same folder as .csproj for start project are located(Default project).
Run the command as Anton Toshik suggested set ASPNETCORE_ENVIRONMENT=Production
4.Then run the command dotnet ef database update initMigrationProduct -c ProductContext
And now it works.
REMARK: in this command database
and update
have changed place since earlier versions. And there are no argument/code for migration. The docs explain more after this clarification:
https://learn.microsoft.com/en-us/ef/core/miscellaneous/cli/dotnet