312 lines
11 KiB
C#
312 lines
11 KiB
C#
// <auto-generated />
|
|
using System;
|
|
using FinlyticTrades.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 FinlyticTrades.Migrations
|
|
{
|
|
[DbContext(typeof(TradesDbContext))]
|
|
[Migration("20260807210605_AddIndexToTradeHourlyUpdate")]
|
|
partial class AddIndexToTradeHourlyUpdate
|
|
{
|
|
/// <inheritdoc />
|
|
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("FinlyticTrades.Entities.TradeEntity", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<decimal?>("ActualEntryPrice")
|
|
.HasColumnType("decimal(18,4)");
|
|
|
|
b.Property<string>("AnalysisId")
|
|
.IsRequired()
|
|
.HasMaxLength(100)
|
|
.HasColumnType("character varying(100)");
|
|
|
|
b.Property<string>("CloseReason")
|
|
.HasMaxLength(50)
|
|
.HasColumnType("character varying(50)");
|
|
|
|
b.Property<DateTime?>("ClosedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("CompanyName")
|
|
.IsRequired()
|
|
.HasMaxLength(150)
|
|
.HasColumnType("character varying(150)");
|
|
|
|
b.Property<DateTime>("CreatedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<decimal?>("EntryFee")
|
|
.HasColumnType("decimal(18,4)");
|
|
|
|
b.Property<decimal>("EntryPrice")
|
|
.HasColumnType("decimal(18,4)");
|
|
|
|
b.Property<decimal?>("EntryZoneMax")
|
|
.HasColumnType("decimal(18,4)");
|
|
|
|
b.Property<decimal?>("EntryZoneMin")
|
|
.HasColumnType("decimal(18,4)");
|
|
|
|
b.Property<string>("EventId")
|
|
.IsRequired()
|
|
.HasMaxLength(100)
|
|
.HasColumnType("character varying(100)");
|
|
|
|
b.Property<DateTime?>("ExecutionTimestamp")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<decimal?>("ExitFee")
|
|
.HasColumnType("decimal(18,4)");
|
|
|
|
b.Property<string>("FundamentalRationale")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("InstrumentType")
|
|
.IsRequired()
|
|
.HasMaxLength(30)
|
|
.HasColumnType("character varying(30)");
|
|
|
|
b.Property<bool>("IsGlobalProposal")
|
|
.HasColumnType("boolean");
|
|
|
|
b.Property<bool>("IsRecurring")
|
|
.HasColumnType("boolean");
|
|
|
|
b.Property<bool?>("IsWin")
|
|
.HasColumnType("boolean");
|
|
|
|
b.Property<string>("Isin")
|
|
.IsRequired()
|
|
.HasMaxLength(30)
|
|
.HasColumnType("character varying(30)");
|
|
|
|
b.Property<decimal?>("KnockoutThreshold")
|
|
.HasColumnType("decimal(18,4)");
|
|
|
|
b.Property<decimal?>("LeverageUsed")
|
|
.HasColumnType("decimal(18,4)");
|
|
|
|
b.Property<decimal?>("MaxLeverage")
|
|
.HasColumnType("decimal(18,4)");
|
|
|
|
b.Property<decimal?>("PnlAbsolute")
|
|
.HasColumnType("decimal(18,4)");
|
|
|
|
b.Property<decimal?>("PnlPercent")
|
|
.HasColumnType("decimal(18,4)");
|
|
|
|
b.Property<decimal?>("PositionSize")
|
|
.HasColumnType("decimal(18,4)");
|
|
|
|
b.Property<decimal?>("Quantity")
|
|
.HasColumnType("decimal(18,4)");
|
|
|
|
b.Property<string>("Reasoning")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<decimal?>("RiskRewardRatio")
|
|
.HasColumnType("decimal(18,4)");
|
|
|
|
b.Property<string>("RiskTolerance")
|
|
.IsRequired()
|
|
.HasMaxLength(30)
|
|
.HasColumnType("character varying(30)");
|
|
|
|
b.Property<string>("RiskWarning")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("Sector")
|
|
.IsRequired()
|
|
.HasMaxLength(50)
|
|
.HasColumnType("character varying(50)");
|
|
|
|
b.Property<string>("SignalType")
|
|
.IsRequired()
|
|
.HasMaxLength(10)
|
|
.HasColumnType("character varying(10)");
|
|
|
|
b.Property<int>("Status")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<decimal>("StopLoss")
|
|
.HasColumnType("decimal(18,4)");
|
|
|
|
b.Property<string>("Symbol")
|
|
.IsRequired()
|
|
.HasMaxLength(30)
|
|
.HasColumnType("character varying(30)");
|
|
|
|
b.Property<decimal>("TakeProfit")
|
|
.HasColumnType("decimal(18,4)");
|
|
|
|
b.Property<string>("TakeProfitTargets")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("TechnicalRationale")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("Timeframe")
|
|
.IsRequired()
|
|
.HasMaxLength(20)
|
|
.HasColumnType("character varying(20)");
|
|
|
|
b.Property<string>("TradeId")
|
|
.IsRequired()
|
|
.HasMaxLength(100)
|
|
.HasColumnType("character varying(100)");
|
|
|
|
b.Property<int>("TtlMinutes")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<decimal?>("UserExitPrice")
|
|
.HasColumnType("decimal(18,4)");
|
|
|
|
b.Property<DateTime?>("UserExitTimestamp")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("UserId")
|
|
.HasMaxLength(100)
|
|
.HasColumnType("character varying(100)");
|
|
|
|
b.Property<int>("VixRegime")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<decimal>("VixValue")
|
|
.HasColumnType("decimal(18,4)");
|
|
|
|
b.Property<double>("WinRate")
|
|
.HasColumnType("double precision");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("AnalysisId");
|
|
|
|
b.HasIndex("CreatedAt");
|
|
|
|
b.HasIndex("EventId");
|
|
|
|
b.HasIndex("Isin");
|
|
|
|
b.HasIndex("Sector");
|
|
|
|
b.HasIndex("Status");
|
|
|
|
b.HasIndex("TradeId")
|
|
.IsUnique();
|
|
|
|
b.ToTable("trades");
|
|
});
|
|
|
|
modelBuilder.Entity("FinlyticTrades.Entities.TradeHourlyUpdateEntity", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<decimal>("CurrentPrice")
|
|
.HasColumnType("decimal(18,4)");
|
|
|
|
b.Property<decimal?>("FloatingPnlPercent")
|
|
.HasColumnType("decimal(18,4)");
|
|
|
|
b.Property<string>("Reasoning")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("Recommendation")
|
|
.IsRequired()
|
|
.HasMaxLength(30)
|
|
.HasColumnType("character varying(30)");
|
|
|
|
b.Property<decimal?>("SuggestedStopLoss")
|
|
.HasColumnType("decimal(18,4)");
|
|
|
|
b.Property<decimal?>("SuggestedTakeProfit")
|
|
.HasColumnType("decimal(18,4)");
|
|
|
|
b.Property<DateTime>("Timestamp")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<Guid>("TradeId")
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<decimal>("VixValue")
|
|
.HasColumnType("decimal(18,4)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("Timestamp");
|
|
|
|
b.HasIndex("TradeId");
|
|
|
|
b.HasIndex("TradeId", "Timestamp");
|
|
|
|
b.ToTable("trade_hourly_updates");
|
|
});
|
|
|
|
modelBuilder.Entity("FinlyticTrades.Entities.TradesSettingsEntity", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<double>("AtrStopLossMultiplier")
|
|
.HasColumnType("double precision");
|
|
|
|
b.Property<int>("MaxOpenPositions")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<double>("RiskPerTradePercentage")
|
|
.HasColumnType("double precision");
|
|
|
|
b.Property<DateTime>("UpdatedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("Settings");
|
|
});
|
|
|
|
modelBuilder.Entity("FinlyticTrades.Entities.TradeHourlyUpdateEntity", b =>
|
|
{
|
|
b.HasOne("FinlyticTrades.Entities.TradeEntity", "Trade")
|
|
.WithMany("HourlyUpdates")
|
|
.HasForeignKey("TradeId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("Trade");
|
|
});
|
|
|
|
modelBuilder.Entity("FinlyticTrades.Entities.TradeEntity", b =>
|
|
{
|
|
b.Navigation("HourlyUpdates");
|
|
});
|
|
#pragma warning restore 612, 618
|
|
}
|
|
}
|
|
}
|