// using System; using Rag.Data; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; #nullable disable namespace Rag.Data.Migrations { [DbContext(typeof(RagDbContext))] [Migration("20260507140305_InitialRagSchema")] partial class InitialRagSchema { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasDefaultSchema("rag") .HasAnnotation("ProductVersion", "10.0.7") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); modelBuilder.Entity("Rag.Data.Entities.RagChatCompletionCacheEntity", b => { b.Property("CacheKey") .HasMaxLength(64) .HasColumnType("nvarchar(64)"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasDefaultValueSql("SYSUTCDATETIME()"); b.Property("Model") .IsRequired() .HasMaxLength(120) .HasColumnType("nvarchar(120)"); b.Property("ResponseText") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("Temperature") .HasColumnType("decimal(4,2)"); b.HasKey("CacheKey"); b.ToTable("ChatCompletionCache", "rag"); }); modelBuilder.Entity("Rag.Data.Entities.RagChunkEntity", b => { b.Property("Id") .HasMaxLength(64) .HasColumnType("nvarchar(64)"); b.Property("ChunkIndex") .HasColumnType("int"); b.Property("DocumentId") .IsRequired() .HasMaxLength(64) .HasColumnType("nvarchar(64)"); b.Property("Embedding") .IsRequired() .HasColumnType("varbinary(max)"); b.Property("Text") .IsRequired() .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.HasIndex("DocumentId"); b.ToTable("Chunks", "rag"); }); modelBuilder.Entity("Rag.Data.Entities.RagDocumentEntity", b => { b.Property("Id") .HasMaxLength(64) .HasColumnType("nvarchar(64)"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasDefaultValueSql("SYSUTCDATETIME()"); b.Property("DocumentType") .IsRequired() .HasMaxLength(80) .HasColumnType("nvarchar(80)"); b.Property("MetadataJson") .IsRequired() .ValueGeneratedOnAdd() .HasColumnType("nvarchar(max)") .HasDefaultValue("{}"); b.Property("RawText") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("SourceUrl") .HasMaxLength(1200) .HasColumnType("nvarchar(1200)"); b.Property("TextHash") .IsRequired() .HasMaxLength(64) .HasColumnType("nvarchar(64)"); b.Property("Title") .IsRequired() .HasMaxLength(300) .HasColumnType("nvarchar(300)"); b.Property("TypeConfidence") .HasColumnType("float"); b.HasKey("Id"); b.HasIndex("DocumentType"); b.HasIndex("TextHash"); b.ToTable("Documents", "rag"); }); modelBuilder.Entity("Rag.Data.Entities.RagEmbeddingCacheEntity", b => { b.Property("CacheKey") .HasMaxLength(64) .HasColumnType("nvarchar(64)"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasDefaultValueSql("SYSUTCDATETIME()"); b.Property("Model") .IsRequired() .HasMaxLength(120) .HasColumnType("nvarchar(120)"); b.Property("TextHash") .IsRequired() .HasMaxLength(64) .HasColumnType("nvarchar(64)"); b.Property("Vector") .IsRequired() .HasColumnType("varbinary(max)"); b.HasKey("CacheKey"); b.HasIndex("TextHash"); b.ToTable("EmbeddingCache", "rag"); }); modelBuilder.Entity("Rag.Data.Entities.RagChunkEntity", b => { b.HasOne("Rag.Data.Entities.RagDocumentEntity", "Document") .WithMany("Chunks") .HasForeignKey("DocumentId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Document"); }); modelBuilder.Entity("Rag.Data.Entities.RagDocumentEntity", b => { b.Navigation("Chunks"); }); #pragma warning restore 612, 618 } } }