using FictionArchive.Service.ReportingService.Models; using FictionArchive.Service.Shared.Services.Database; using Microsoft.EntityFrameworkCore; namespace FictionArchive.Service.ReportingService.Services; public class ReportingDbContext : FictionArchiveDbContext { public DbSet Jobs { get; set; } public ReportingDbContext(DbContextOptions options, ILogger logger) : base(options, logger) { } protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Entity(entity => { entity.HasIndex(j => j.ParentJobId); entity.Property(j => j.Metadata) .HasColumnType("jsonb"); entity.HasOne(j => j.ParentJob) .WithMany(j => j.ChildJobs) .HasForeignKey(j => j.ParentJobId) .OnDelete(DeleteBehavior.SetNull); }); } }