diff --git a/src/Dockerfile b/src/Dockerfile index e4fc8a9..add5976 100644 --- a/src/Dockerfile +++ b/src/Dockerfile @@ -12,6 +12,12 @@ RUN dotnet build -c Release -o /app RUN mv src/mods /app && ln -s /app/mods src/ RUN mv src/assets /app && ln -s /app/assets src/ +# install ef tools +RUN dotnet tool install --global dotnet-ef --version 7.0.12 + +# ensure database is in sync with migrations +RUN dotnet ef database update + # Create clean run environment (without source and sdk) # FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base # WORKDIR /app diff --git a/src/Program.cs b/src/Program.cs index a9bb892..cb35b05 100644 --- a/src/Program.cs +++ b/src/Program.cs @@ -63,14 +63,11 @@ var app = builder.Build(); using var scope = app.Services.CreateScope(); -scope.ServiceProvider.GetRequiredService().Database.EnsureCreated(); - -// ensure any new migrations are applied -var migrations = scope.ServiceProvider.GetRequiredService().Database.GetPendingMigrations(); - -if (migrations != null) - // apply them - await scope.ServiceProvider.GetRequiredService().Database.MigrateAsync(); +if(app.Environment.IsDevelopment()) +{ + var migrations = scope.ServiceProvider.GetRequiredService().Database.GetPendingMigrations(); + if (migrations != null) await scope.ServiceProvider.GetRequiredService().Database.MigrateAsync(); +} // Configure the HTTP request pipeline.