// using System; using FinlyticAnalyzer.Database; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; #nullable disable namespace FinlyticAnalyzer.Migrations { [DbContext(typeof(AnalyzerDbContext))] [Migration("20260805184638_AddTradeProposals")] partial class AddTradeProposals { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "10.0.9") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("FinlyticAnalyzer.Entities.AnalysisEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("AiOutputJson") .IsRequired() .HasColumnType("jsonb"); b.Property("AnalysisId") .IsRequired() .HasMaxLength(100) .HasColumnType("character varying(100)"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("EventId") .IsRequired() .HasMaxLength(100) .HasColumnType("character varying(100)"); b.Property("ImpactScore") .HasColumnType("double precision"); b.Property("IsTradeProposed") .HasColumnType("boolean"); b.Property("Isin") .IsRequired() .HasMaxLength(30) .HasColumnType("character varying(30)"); b.Property("N8nDecision") .IsRequired() .HasMaxLength(30) .HasColumnType("character varying(30)"); b.Property("N8nEvalScore") .HasColumnType("double precision"); b.Property("N8nResponseJson") .IsRequired() .HasColumnType("jsonb"); b.Property("RawDataJson") .IsRequired() .HasColumnType("jsonb"); b.Property("Sector") .IsRequired() .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property("Symbol") .IsRequired() .HasMaxLength(30) .HasColumnType("character varying(30)"); b.Property("VixRegime") .HasColumnType("integer"); b.Property("VixValue") .HasColumnType("numeric"); b.Property("WinRate") .HasColumnType("double precision"); b.HasKey("Id"); b.HasIndex("AnalysisId") .IsUnique(); b.HasIndex("CreatedAt"); b.HasIndex("EventId"); b.HasIndex("Isin"); b.HasIndex("Sector"); b.ToTable("analyses"); }); modelBuilder.Entity("FinlyticAnalyzer.Entities.AnalyzerSettingsEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("EnableLogAnalyzerAuto") .HasColumnType("boolean"); b.Property("EnableLogAnalyzerManual") .HasColumnType("boolean"); b.Property("EnableLogDatabaseOps") .HasColumnType("boolean"); b.Property("EnableLogMqttGeneral") .HasColumnType("boolean"); b.Property("EnableLogMqttHealthPing") .HasColumnType("boolean"); b.Property("MinSignalScore") .HasColumnType("double precision"); b.Property("ScanCronSchedule") .IsRequired() .HasColumnType("text"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.HasKey("Id"); b.ToTable("Settings"); }); modelBuilder.Entity("FinlyticAnalyzer.Entities.TradeProposalEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("ConfidenceScore") .HasColumnType("double precision"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("ExpiresAt") .HasColumnType("timestamp with time zone"); b.Property("Isin") .IsRequired() .HasColumnType("text"); b.Property("Name") .IsRequired() .HasColumnType("text"); b.Property("ProposedAction") .IsRequired() .HasColumnType("text"); b.Property("ReasonSummary") .IsRequired() .HasColumnType("text"); b.Property("Type") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("ExpiresAt"); b.HasIndex("Isin"); b.ToTable("TradeProposals"); }); #pragma warning restore 612, 618 } } }