// using System; using FinlyticTechnicalAnalysis.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 FinlyticTechnicalAnalysis.Migrations { [DbContext(typeof(TechnicalAnalysisDbContext))] [Migration("20260801073352_Init")] partial class Init { /// 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("FinlyticTechnicalAnalysis.Entities.CachedAnalysisEntity", b => { b.Property("Isin") .HasMaxLength(20) .HasColumnType("character varying(20)"); b.Property("AnalysisJson") .IsRequired() .HasColumnType("jsonb"); b.Property("CalculatedAt") .HasColumnType("timestamp with time zone"); b.Property("Ticker") .IsRequired() .HasMaxLength(20) .HasColumnType("character varying(20)"); b.HasKey("Isin"); b.HasIndex("Isin"); b.ToTable("CachedAnalyses"); }); modelBuilder.Entity("FinlyticTechnicalAnalysis.Entities.MacroDataEntity", b => { b.Property("Symbol") .HasMaxLength(20) .HasColumnType("character varying(20)"); b.Property("LastUpdatedAt") .HasColumnType("timestamp with time zone"); b.Property("PreviousClose") .HasColumnType("decimal(18, 6)"); b.Property("TrendState") .IsRequired() .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property("Value") .HasColumnType("decimal(18, 6)"); b.HasKey("Symbol"); b.ToTable("MacroData"); }); modelBuilder.Entity("FinlyticTechnicalAnalysis.Entities.MarketCandleEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Ask") .HasColumnType("decimal(18, 6)"); b.Property("Bid") .HasColumnType("decimal(18, 6)"); b.Property("Close") .HasColumnType("decimal(18, 6)"); b.Property("High") .HasColumnType("decimal(18, 6)"); b.Property("Interval") .IsRequired() .HasMaxLength(10) .HasColumnType("character varying(10)"); b.Property("Low") .HasColumnType("decimal(18, 6)"); b.Property("Open") .HasColumnType("decimal(18, 6)"); b.Property("Symbol") .IsRequired() .HasMaxLength(20) .HasColumnType("character varying(20)"); b.Property("Timestamp") .HasColumnType("timestamp with time zone"); b.Property("Volume") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("Symbol", "Interval", "Timestamp") .IsUnique(); b.ToTable("MarketCandles"); }); modelBuilder.Entity("FinlyticTechnicalAnalysis.Entities.TaSettingsEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("EmaShortPeriod") .HasColumnType("integer"); b.Property("RsiOverboughtLimit") .HasColumnType("double precision"); b.Property("RsiOversoldLimit") .HasColumnType("double precision"); b.Property("SmaLongPeriod") .HasColumnType("integer"); b.Property("SmaMediumPeriod") .HasColumnType("integer"); b.Property("SupertrendMultiplier") .HasColumnType("double precision"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.HasKey("Id"); b.ToTable("Settings"); }); #pragma warning restore 612, 618 } } }