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

This commit is contained in:
2026-08-15 21:30:05 +02:00
parent a94c36a878
commit 1522c3480f
9 changed files with 494 additions and 89 deletions
@@ -1,10 +1,12 @@
using FinlyticCore.Database;
using FinlyticCore.Entities.Settings;
using FinlyticTechnicalAnalysis.Entities;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Design;
namespace FinlyticTechnicalAnalysis.Database;
public class TechnicalAnalysisDbContext : DbContext
public class TechnicalAnalysisDbContext : DbContext, ISettingsDbContext
{
public TechnicalAnalysisDbContext(DbContextOptions<TechnicalAnalysisDbContext> options) : base(options)
{
@@ -23,7 +25,7 @@ public class TechnicalAnalysisDbContext : DbContext
modelBuilder.Entity<SettingEntity>(entity =>
{
entity.HasKey(e => e.Id);
entity.HasIndex(e => e.Key);
entity.HasIndex(e => e.Key).IsUnique();
});
modelBuilder.Entity<MarketCandleEntity>()
@@ -34,3 +36,13 @@ public class TechnicalAnalysisDbContext : DbContext
.HasIndex(c => c.Isin);
}
}
public class TechnicalAnalysisDbContextFactory : IDesignTimeDbContextFactory<TechnicalAnalysisDbContext>
{
public TechnicalAnalysisDbContext CreateDbContext(string[] args)
{
var optionsBuilder = new DbContextOptionsBuilder<TechnicalAnalysisDbContext>();
optionsBuilder.UseNpgsql("Host=localhost;Database=ta;Username=postgres;Password=postgres");
return new TechnicalAnalysisDbContext(optionsBuilder.Options);
}
}