diff --git a/DockerRunCommand b/DockerRunCommand new file mode 100644 index 0000000..d24d7b9 --- /dev/null +++ b/DockerRunCommand @@ -0,0 +1 @@ +docker run --rm -it -p8080:80 -v/home/limited_dev/Documents/Code/School/imageboard/ImageBoardServerApp/Data/Nils.db:/app/Data/Nils.db ade4c760feb9 diff --git a/Dockerfile b/Dockerfile index 5627990..a24a9d7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,6 +16,4 @@ RUN dotnet publish "ImageBoardServerApp/ImageBoardServerApp.csproj" -c Release - FROM base AS final WORKDIR /app COPY --from=publish /app/publish . -RUN dotnet tool install --global dotnet-ef -RUN dotnet ef database update ENTRYPOINT ["dotnet", "ImageBoardServerApp.dll"] diff --git a/ImageBoardServerApp/Data/AppDBContext.cs b/ImageBoardServerApp/Data/AppDBContext.cs index 9538872..767d846 100644 --- a/ImageBoardServerApp/Data/AppDBContext.cs +++ b/ImageBoardServerApp/Data/AppDBContext.cs @@ -10,8 +10,10 @@ internal sealed class AppDBContext : DbContext public DbSet Comments { get; set; } public DbSet Reports { get; set; } - protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) - => optionsBuilder.UseSqlite("Data Source=./Data/Nils.db"); + protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) + { + optionsBuilder.UseSqlite("Data Source=./Data/Nils.db"); + } protected override void OnModelCreating(ModelBuilder mb) { diff --git a/ImageBoardServerApp/Program.cs b/ImageBoardServerApp/Program.cs index 4f3c1fb..f6ff8a1 100644 --- a/ImageBoardServerApp/Program.cs +++ b/ImageBoardServerApp/Program.cs @@ -1,4 +1,5 @@ using ImageBoardServerApp.Auth; +using ImageBoardServerApp.Data; using Microsoft.AspNetCore.Components.Authorization; using Microsoft.AspNetCore.Components.Server.ProtectedBrowserStorage; @@ -10,6 +11,7 @@ builder.Services.AddRazorPages(); builder.Services.AddServerSideBlazor(); builder.Services.AddScoped(); builder.Services.AddScoped(); +builder.Services.AddSingleton(); var app = builder.Build(); @@ -30,4 +32,10 @@ app.UseRouting(); app.MapBlazorHub(); app.MapFallbackToPage("/_Host"); +using (var serviceScope = app.Services.CreateScope()) +{ + var context = serviceScope.ServiceProvider.GetService(); + context.Database.EnsureCreated(); +} + app.Run(); \ No newline at end of file