Files
caliverse_server/BrokerApiCore/Repository/SqlConfig/PlanetItemExchangeOrderAmountUserLimitConfig.cs
2025-05-01 07:23:28 +09:00

71 lines
1.9 KiB
C#

using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace BrokerApiCore;
public class PlanetItemExchangeOrderAmountUserLimitConfig : IEntityTypeConfiguration<PlanetItemExchangeOrderAmountUserLimit>
{
public void Configure(EntityTypeBuilder<PlanetItemExchangeOrderAmountUserLimit> builder)
{
// 테이블 이름
builder.ToTable("planet_exchange_order_amount_user_limits");
// 인덱스
builder.HasIndex(o => o.ExchangeMetaId);
builder.HasIndex(o => o.ExchangeDate);
builder.HasIndex(o => o.SeasonId);
builder.HasIndex(o => o.UserGuid);
// 복합 기본 키 (Primary Key) - ExchangeMetaId에 PlanetId 속성이 있으므로 생략함
builder.HasKey(o => new { o.ExchangeMetaId, o.ExchangeDate, o.SeasonId, o.UserGuid });
// 교환 메타 아이디
builder.Property(o => o.ExchangeMetaId)
.HasColumnName("exchange_meta_id")
.HasMaxLength(50)
.IsRequired()
.HasComment("교환 메타 아이디");
// 교환 일자
builder.Property(o => o.ExchangeDate)
.HasColumnName("exchange_date")
.IsRequired()
.HasComment("교환 일자");
// 유저 아이디
builder.Property(o => o.UserGuid)
.HasColumnName("user_guid")
.HasMaxLength(50)
.IsRequired()
.HasComment("유저 아이디 (GUID)");
// 교환 메타 수량
builder.Property(o => o.DailyAmount)
.HasColumnName("daily_amount")
.HasColumnType("INT")
.IsRequired()
.HasComment("사용자별 일일 교환 메타 수량");
builder.Property(o => o.SeasonId)
.HasColumnName("season_id")
.HasMaxLength(50)
.IsRequired()
.HasComment("시즌 아이디");
builder.Property(o => o.CreatedAt)
.HasColumnName("created_at")
.HasColumnType("TIMESTAMP")
.IsRequired()
.HasComment("생성 일자");
builder.Property(o => o.UpdatedAt)
.HasColumnName("updated_at")
.HasColumnType("TIMESTAMP")
.IsRequired()
.HasComment("업데이트 일자");
}
}