Files
Teamup/src/Modules/TeamUp.Modules.Memory/Persistence/MemoryDbContext.cs
T

27 lines
917 B
C#
Raw Normal View History

using Microsoft.EntityFrameworkCore;
using TeamUp.Modules.Memory.Domain;
using TeamUp.SharedKernel.Persistence;
namespace TeamUp.Modules.Memory.Persistence;
internal sealed class MemoryDbContext(DbContextOptions<MemoryDbContext> options)
: DbContext(options), IModuleDbContext
{
public DbSet<MemoryEntry> Entries => Set<MemoryEntry>();
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.HasDefaultSchema("memory");
modelBuilder.Entity<MemoryEntry>(entry =>
{
entry.ToTable("memory_entries");
entry.HasKey(e => e.Id);
entry.Property(e => e.Kind).HasConversion<string>().HasMaxLength(20);
entry.Property(e => e.Content).IsRequired();
entry.Property(e => e.Embedding).HasColumnType("vector(384)");
entry.HasIndex(e => new { e.TeamId, e.CreatedAtUtc });
});
}
}