I am setting up a WebApi in .NET Core 2.0. I will be using Entity Framework Core as ORM. Whole app will be deployed as Docker Container. The thing that disturbs me a bit is the way of handling DB migrations in this case. I mean PRODUCTION environment. Here is what I managed to research:
dotnet ef database update
Any other suggestions ? Or what is the best, most proper solution ?
in my opinion it is your first point (Database.Migrate() due startup) which meets mostly our use case. So for me it`s currently the preferred way to do that.
We have some additional constellations in the starting up process:
Production environment with Azure SQL server (Published and deployed through Azure DevOps pipeline
Migrations are created in its own project via dotnet ef ...
dotnet ef migrations add "your migration name" --startup-project "path to your actually API" --context "database context name"
Important: you have to change the working directory to the migration project first in order to use another startup project but generate the migration files in the "migration project"
In our case it works fine with different APIs with their own databases behind the szene.