#nullable disable using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; namespace AIStudio.Tools.Databases.EmbeddingState.Migrations; [DbContext(typeof(EmbeddingStateDbContext))] partial class EmbeddingStateDbContextModelSnapshot : ModelSnapshot { protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder.HasAnnotation("ProductVersion", "9.0.18"); var utcDateTimeOffsetConverter = new EmbeddingStateDateTimeOffsetConverter(); modelBuilder.Entity("AIStudio.Tools.Databases.EmbeddingState.EmbeddingStateDataSourceEntity", entity => { entity.Property("DataSourceId") .HasColumnType("TEXT") .HasColumnName("data_source_id"); entity.Property("DataSourceName") .IsRequired() .HasColumnType("TEXT") .HasColumnName("data_source_name"); entity.Property("DataSourceType") .IsRequired() .HasColumnType("TEXT") .HasColumnName("data_source_type"); entity.Property("EmbeddingProviderId") .IsRequired() .HasColumnType("TEXT") .HasColumnName("embedding_provider_id"); entity.Property("EmbeddingSignature") .IsRequired() .HasColumnType("TEXT") .HasColumnName("embedding_signature"); entity.Property("SourceHash") .IsRequired() .HasColumnType("TEXT") .HasColumnName("source_hash") .HasDefaultValue(string.Empty); entity.Property("UpdatedAtUtc") .HasConversion(utcDateTimeOffsetConverter) .HasColumnType("TEXT") .HasColumnName("updated_at_utc"); entity.Property("VectorSize") .HasColumnType("INTEGER") .HasColumnName("vector_size") .HasDefaultValue(0); entity.HasKey("DataSourceId"); entity.ToTable("data_sources"); }); modelBuilder.Entity("AIStudio.Tools.Databases.EmbeddingState.EmbeddingStateFileEntity", entity => { entity.Property("ParentFileId") .HasColumnType("TEXT") .HasColumnName("parent_file_id"); entity.Property("AbsolutePath") .IsRequired() .HasColumnType("TEXT") .HasColumnName("absolute_path") .UseCollation("NOCASE"); entity.Property("ChunkCount") .HasColumnType("INTEGER") .HasColumnName("chunk_count"); entity.Property("ComplianceLevel") .IsRequired() .HasColumnType("TEXT") .HasColumnName("compliance_level"); entity.Property("ComplianceLevelRank") .HasColumnType("INTEGER") .HasColumnName("compliance_level_rank"); entity.Property("CreationUtc") .HasConversion(utcDateTimeOffsetConverter) .HasColumnType("TEXT") .HasColumnName("creation_utc"); entity.Property("DataSourceId") .IsRequired() .HasColumnType("TEXT") .HasColumnName("data_source_id"); entity.Property("EmbeddedAtUtc") .HasConversion(utcDateTimeOffsetConverter) .HasColumnType("TEXT") .HasColumnName("embedded_at_utc"); entity.Property("FileName") .IsRequired() .HasColumnType("TEXT") .HasColumnName("file_name"); entity.Property("FileSize") .HasColumnType("INTEGER") .HasColumnName("file_size"); entity.Property("FileType") .IsRequired() .HasColumnType("TEXT") .HasColumnName("file_type"); entity.Property("Fingerprint") .IsRequired() .HasColumnType("TEXT") .HasColumnName("fingerprint"); entity.Property("LastWriteUtc") .HasConversion(utcDateTimeOffsetConverter) .HasColumnType("TEXT") .HasColumnName("last_write_utc"); entity.Property("RelativePath") .IsRequired() .HasColumnType("TEXT") .HasColumnName("relative_path"); entity.HasKey("ParentFileId"); entity.HasIndex("AbsolutePath") .HasDatabaseName("idx_embedded_files_absolute_path"); entity.HasIndex("ComplianceLevelRank") .HasDatabaseName("idx_embedded_files_compliance"); entity.HasIndex("DataSourceId") .HasDatabaseName("idx_embedded_files_data_source"); entity.HasIndex("DataSourceId", "AbsolutePath") .IsUnique() .HasDatabaseName("idx_embedded_files_data_source_absolute_path"); entity.HasIndex("FileType") .HasDatabaseName("idx_embedded_files_file_type"); entity.ToTable("embedded_files"); }); modelBuilder.Entity("AIStudio.Tools.Databases.EmbeddingState.EmbeddingStateChunkEntity", entity => { entity.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER") .HasColumnName("id") .HasAnnotation("Sqlite:Autoincrement", true); entity.Property("ChunkId") .IsRequired() .HasColumnType("TEXT") .HasColumnName("chunk_id"); entity.Property("ChunkIndex") .HasColumnType("INTEGER") .HasColumnName("chunk_index"); entity.Property("ChunkText") .IsRequired() .HasColumnType("TEXT") .HasColumnName("chunk_text"); entity.Property("EmbeddedAtUtc") .HasConversion(utcDateTimeOffsetConverter) .HasColumnType("TEXT") .HasColumnName("embedded_at_utc"); entity.Property("PageNumber") .HasColumnType("INTEGER") .HasColumnName("page_number"); entity.Property("ParentFileId") .IsRequired() .HasColumnType("TEXT") .HasColumnName("parent_file_id"); entity.HasKey("Id"); entity.HasIndex("ChunkId") .IsUnique() .HasDatabaseName("idx_embedding_chunks_chunk_id"); entity.HasIndex("PageNumber") .HasDatabaseName("idx_embedding_chunks_page"); entity.HasIndex("ParentFileId") .HasDatabaseName("idx_embedding_chunks_parent_file"); entity.HasIndex("ParentFileId", "ChunkIndex") .IsUnique() .HasDatabaseName("idx_embedding_chunks_parent_file_chunk_index"); entity.ToTable("embedding_chunks"); }); modelBuilder.Entity("AIStudio.Tools.Databases.EmbeddingState.EmbeddingStateSearchResultEntity", entity => { entity.Property("AbsolutePath") .IsRequired() .HasColumnType("TEXT"); entity.Property("ChunkCount") .HasColumnType("INTEGER"); entity.Property("ChunkId") .IsRequired() .HasColumnType("TEXT"); entity.Property("ChunkIndex") .HasColumnType("INTEGER"); entity.Property("ChunkText") .IsRequired() .HasColumnType("TEXT"); entity.Property("ComplianceLevel") .IsRequired() .HasColumnType("TEXT"); entity.Property("ComplianceLevelRank") .HasColumnType("INTEGER"); entity.Property("CreationUtc") .HasConversion(utcDateTimeOffsetConverter) .HasColumnType("TEXT"); entity.Property("DataSourceId") .IsRequired() .HasColumnType("TEXT"); entity.Property("DataSourceName") .IsRequired() .HasColumnType("TEXT"); entity.Property("DataSourceType") .IsRequired() .HasColumnType("TEXT"); entity.Property("EmbeddedAtUtc") .HasConversion(utcDateTimeOffsetConverter) .HasColumnType("TEXT"); entity.Property("FileName") .IsRequired() .HasColumnType("TEXT"); entity.Property("FileSize") .HasColumnType("INTEGER"); entity.Property("FileType") .IsRequired() .HasColumnType("TEXT"); entity.Property("Fingerprint") .IsRequired() .HasColumnType("TEXT"); entity.Property("LastWriteUtc") .HasConversion(utcDateTimeOffsetConverter) .HasColumnType("TEXT"); entity.Property("PageNumber") .HasColumnType("INTEGER"); entity.Property("ParentFileId") .IsRequired() .HasColumnType("TEXT"); entity.Property("RelativePath") .IsRequired() .HasColumnType("TEXT"); entity.Property("Score") .HasColumnType("REAL"); entity.HasNoKey(); entity.ToView("embedding_chunk_search_results"); }); modelBuilder.Entity("AIStudio.Tools.Databases.EmbeddingState.EmbeddingStateFileEntity", entity => { entity.HasOne("AIStudio.Tools.Databases.EmbeddingState.EmbeddingStateDataSourceEntity", "DataSource") .WithMany("Files") .HasForeignKey("DataSourceId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); entity.Navigation("DataSource"); }); modelBuilder.Entity("AIStudio.Tools.Databases.EmbeddingState.EmbeddingStateChunkEntity", entity => { entity.HasOne("AIStudio.Tools.Databases.EmbeddingState.EmbeddingStateFileEntity", "File") .WithMany("Chunks") .HasForeignKey("ParentFileId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); entity.Navigation("File"); }); modelBuilder.Entity("AIStudio.Tools.Databases.EmbeddingState.EmbeddingStateDataSourceEntity", entity => { entity.Navigation("Files"); }); modelBuilder.Entity("AIStudio.Tools.Databases.EmbeddingState.EmbeddingStateFileEntity", entity => { entity.Navigation("Chunks"); }); #pragma warning restore 612, 618 } }