feat(fundamentals): dynamic settings, IFinlyticLogger, live log streaming, and EF migration

This commit is contained in:
2026-08-15 21:29:50 +02:00
parent 3dbee36ca0
commit a1f2b888f6
7 changed files with 600 additions and 28 deletions
@@ -1,10 +1,12 @@
using FinlyticCore.Database;
using FinlyticCore.Entities.Settings;
using FinlyticFundamentals.Entities;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Design;
namespace FinlyticFundamentals.Database;
public class FundamentalsDbContext : DbContext
public class FundamentalsDbContext : DbContext, ISettingsDbContext
{
public FundamentalsDbContext(DbContextOptions<FundamentalsDbContext> options) : base(options)
{
@@ -23,7 +25,7 @@ public class FundamentalsDbContext : DbContext
modelBuilder.Entity<SettingEntity>(entity =>
{
entity.HasKey(e => e.Id);
entity.HasIndex(e => e.Key);
entity.HasIndex(e => e.Key).IsUnique();
});
modelBuilder.Entity<AssetDataEntity>(entity =>
@@ -93,3 +95,13 @@ public class FundamentalsDbContext : DbContext
});
}
}
public class FundamentalsDbContextFactory : IDesignTimeDbContextFactory<FundamentalsDbContext>
{
public FundamentalsDbContext CreateDbContext(string[] args)
{
var optionsBuilder = new DbContextOptionsBuilder<FundamentalsDbContext>();
optionsBuilder.UseNpgsql("Host=localhost;Database=fundamentals;Username=postgres;Password=postgres");
return new FundamentalsDbContext(optionsBuilder.Options);
}
}