2024-08-24 13:43:43 +02:00
|
|
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
|
|
|
2025-06-12 18:22:37 +02:00
|
|
|
|
namespace Vegasco.Server.Api.Persistence;
|
2024-08-24 13:43:43 +02:00
|
|
|
|
|
2025-06-12 17:43:22 +02:00
|
|
|
|
public class ApplyMigrationsService(ILogger<ApplyMigrationsService> logger, IServiceScopeFactory scopeFactory)
|
|
|
|
|
|
: IHostedService
|
2024-08-24 13:43:43 +02:00
|
|
|
|
{
|
|
|
|
|
|
public async Task StartAsync(CancellationToken cancellationToken)
|
|
|
|
|
|
{
|
2025-06-12 17:43:22 +02:00
|
|
|
|
logger.LogInformation("Starting migrations");
|
|
|
|
|
|
|
|
|
|
|
|
using IServiceScope scope = scopeFactory.CreateScope();
|
2024-08-24 13:43:43 +02:00
|
|
|
|
await using var dbContext = scope.ServiceProvider.GetRequiredService<ApplicationDbContext>();
|
|
|
|
|
|
await dbContext.Database.MigrateAsync(cancellationToken);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public Task StopAsync(CancellationToken cancellationToken) => Task.CompletedTask;
|
|
|
|
|
|
}
|