Reorder database init to fix migrations

This commit is contained in:
Pat Hartl 2025-03-23 20:01:44 -05:00
parent a49d1914df
commit 98cab7ec24
2 changed files with 6 additions and 14 deletions

View file

@ -30,13 +30,11 @@ builder.AddHangfire();
builder.AddOpenApi();
builder.AddServerProcessStatusMonitor();
builder.AddLANCommanderServices(settings);
builder.AddDatabase();
builder.AddDatabase(settings, args);
Log.Debug("Building Application");
var app = builder.Build();
app.UseDatabase(args);
app.UseCors("CorsPolicy");
app.UseHttpsRedirection();

View file

@ -6,28 +6,22 @@ using LANCommander.Server.Services;
using LANCommander.Server.Services.Models;
using Microsoft.Data.Sqlite;
using Microsoft.EntityFrameworkCore;
using Octokit;
using Serilog;
namespace LANCommander.Server.Startup;
public static class Database
{
public static WebApplicationBuilder AddDatabase(this WebApplicationBuilder builder)
public static WebApplicationBuilder AddDatabase(this WebApplicationBuilder builder, Settings settings, string[] args)
{
builder.Services.AddDbContextFactory<DatabaseContext>();
builder.Services.AddDbContext<DatabaseContext>();
builder.Services.AddDatabaseDeveloperPageExceptionFilter();
return builder;
}
public static WebApplication UseDatabase(this WebApplication app, string[] args)
{
var settings = app.Services.GetService<Settings>();
var databaseProviderParameter = args.FirstOrDefault(arg => arg.StartsWith("--database-provider="))?.Split('=', 2).Last();
var connectionStringParameter = args.FirstOrDefault(arg => arg.StartsWith("--connection-string="))?.Split('=', 2).Last();
if (!String.IsNullOrWhiteSpace(databaseProviderParameter))
DatabaseContext.Provider = Enum.Parse<DatabaseProvider>(databaseProviderParameter);
else
@ -38,8 +32,8 @@ public static class Database
else
DatabaseContext.ConnectionString = settings.DatabaseConnectionString;
return app;
}
return builder;
}
public static async Task MigrateDatabaseAsync(this WebApplication app)
{