// using System; using FinlyticAssets.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 FinlyticAssets.Migrations { [DbContext(typeof(AssetsDbContext))] [Migration("20260628195842_AddedScannerState")] partial class AddedScannerState { /// 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("AssetEntityTagEntity", b => { b.Property("AssetsIsin") .HasColumnType("text"); b.Property("TagsId") .HasColumnType("text"); b.HasKey("AssetsIsin", "TagsId"); b.HasIndex("TagsId"); b.ToTable("AssetEntityTagEntity"); }); modelBuilder.Entity("FinlyticAssets.Entities.Settings", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("AssetUpdateTypeDelay") .HasColumnType("integer"); b.Property("BatchAssetUpdateDelay") .HasColumnType("integer"); b.Property("CurrentScanningPage") .HasColumnType("integer"); b.Property("CurrentScanningType") .IsRequired() .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property("FinishedInitialScan") .HasColumnType("boolean"); b.Property("InitAssetUpdateTypeDelay") .HasColumnType("integer"); b.Property("InitBatchAssetUpdateDelay") .HasColumnType("integer"); b.Property("MaxRandomUpdateDay") .HasColumnType("integer"); b.Property("MinRandomUpdateDay") .HasColumnType("integer"); b.Property("TradeRepublicMaxRequestPageSize") .HasColumnType("integer"); b.Property("UpdateDayTimeStart") .HasColumnType("integer"); b.Property("UpdateDayTimeStop") .HasColumnType("integer"); b.HasKey("Id"); b.ToTable("Settings"); }); modelBuilder.Entity("FinlyticCore.Entities.Assets.AssetEntity", b => { b.Property("Isin") .HasColumnType("text"); b.Property("AssetType") .IsRequired() .HasMaxLength(13) .HasColumnType("character varying(13)"); b.Property("HasCfd") .HasColumnType("boolean"); b.Property("ImageId") .HasColumnType("text"); b.Property("InstrumentCategory") .IsRequired() .HasColumnType("text"); b.Property("LastUpdatedAt") .HasColumnType("timestamp with time zone"); b.Property("Name") .IsRequired() .HasColumnType("text"); b.Property("Type") .IsRequired() .HasColumnType("text"); b.Property("UpdateAt") .HasColumnType("timestamp with time zone"); b.HasKey("Isin"); b.ToTable("TradeRepublicAssets"); b.HasDiscriminator("AssetType").HasValue("AssetEntity"); b.UseTphMappingStrategy(); }); modelBuilder.Entity("FinlyticCore.Entities.Assets.TagEntity", b => { b.Property("Id") .HasColumnType("text"); b.Property("Name") .IsRequired() .HasColumnType("text"); b.Property("Type") .IsRequired() .HasColumnType("text"); b.HasKey("Id"); b.ToTable("TradeRepublicTags"); }); modelBuilder.Entity("FinlyticCore.Entities.Assets.BondEntity", b => { b.HasBaseType("FinlyticCore.Entities.Assets.AssetEntity"); b.Property("BondIssuerName") .IsRequired() .HasColumnType("text"); b.Property("SearchSubtitle") .IsRequired() .HasColumnType("text"); b.HasDiscriminator().HasValue("Bond"); }); modelBuilder.Entity("FinlyticCore.Entities.Assets.CryptoEntity", b => { b.HasBaseType("FinlyticCore.Entities.Assets.AssetEntity"); b.Property("SearchSubtitle") .IsRequired() .HasColumnType("text"); b.Property("Subtitle") .IsRequired() .HasColumnType("text"); b.ToTable("TradeRepublicAssets", t => { t.Property("SearchSubtitle") .HasColumnName("CryptoEntity_SearchSubtitle"); }); b.HasDiscriminator().HasValue("Crypto"); }); modelBuilder.Entity("FinlyticCore.Entities.Assets.DerivativeEntity", b => { b.HasBaseType("FinlyticCore.Entities.Assets.AssetEntity"); b.Property("DerivativeProductCategories") .IsRequired() .HasColumnType("text"); b.Property("UnderlyingIsin") .HasColumnType("text"); b.HasDiscriminator().HasValue("Derivative"); }); modelBuilder.Entity("FinlyticCore.Entities.Assets.EtfEntity", b => { b.HasBaseType("FinlyticCore.Entities.Assets.AssetEntity"); b.Property("DerivativeProductCategories") .IsRequired() .HasColumnType("text"); b.Property("EtfDescription") .IsRequired() .HasColumnType("text"); b.Property("MappedEtfIndexName") .IsRequired() .HasColumnType("text"); b.Property("SearchSubtitle") .IsRequired() .HasColumnType("text"); b.Property("Subtitle") .IsRequired() .HasColumnType("text"); b.ToTable("TradeRepublicAssets", t => { t.Property("DerivativeProductCategories") .HasColumnName("EtfEntity_DerivativeProductCategories"); t.Property("SearchSubtitle") .HasColumnName("EtfEntity_SearchSubtitle"); t.Property("Subtitle") .HasColumnName("EtfEntity_Subtitle"); }); b.HasDiscriminator().HasValue("Etf"); }); modelBuilder.Entity("FinlyticCore.Entities.Assets.StockEntity", b => { b.HasBaseType("FinlyticCore.Entities.Assets.AssetEntity"); b.Property("DerivativeProductCategories") .IsRequired() .HasColumnType("text"); b.ToTable("TradeRepublicAssets", t => { t.Property("DerivativeProductCategories") .HasColumnName("StockEntity_DerivativeProductCategories"); }); b.HasDiscriminator().HasValue("Stock"); }); modelBuilder.Entity("FinlyticCore.Entities.Assets.SyntheticEntity", b => { b.HasBaseType("FinlyticCore.Entities.Assets.AssetEntity"); b.Property("DerivativeProductCategories") .IsRequired() .HasColumnType("text"); b.ToTable("TradeRepublicAssets", t => { t.Property("DerivativeProductCategories") .HasColumnName("SyntheticEntity_DerivativeProductCategories"); }); b.HasDiscriminator().HasValue("Synthetic"); }); modelBuilder.Entity("AssetEntityTagEntity", b => { b.HasOne("FinlyticCore.Entities.Assets.AssetEntity", null) .WithMany() .HasForeignKey("AssetsIsin") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("FinlyticCore.Entities.Assets.TagEntity", null) .WithMany() .HasForeignKey("TagsId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); #pragma warning restore 612, 618 } } }