using FictionArchive.Service.NovelService.Models.Novels; using Microsoft.EntityFrameworkCore; namespace FictionArchive.Service.NovelService.Services; public class NovelServiceDbContext(DbContextOptions options, ILogger logger) : DbContext(options) { public DbSet Novels { get; set; } public DbSet Sources { get; set; } public DbSet TranslationEngines { get; set; } public DbSet Tags { get; set; } private readonly ILogger _logger = logger; public void UpdateDatabase() { IEnumerable pendingMigrations = Database.GetPendingMigrations(); if (!pendingMigrations.Any()) { _logger.LogDebug("No pending migrations found, continuing."); return; } foreach (string migration in pendingMigrations) { _logger.LogInformation("Found pending migration with name {migrationName}.", migration); } _logger.LogInformation("Attempting to apply pending migrations..."); Database.Migrate(); _logger.LogInformation("Migrations applied."); } }