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

55 lines
1.6 KiB
C#

using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace BrokerApiCore;
public class PlanetInfoConfig : IEntityTypeConfiguration<PlanetInfo>
{
public void Configure(EntityTypeBuilder<PlanetInfo> builder)
{
builder.ToTable("planet_info");
builder.HasKey(x => x.PlanetId);
builder.HasIndex(x => x.PlanetName);
builder.HasIndex(x => x.CompanyName);
builder.HasIndex(x => x.SecretKey);
builder.Property(x => x.PlanetId)
.IsRequired()
.HasColumnName("planet_id")
.HasColumnType("varchar(50)");
builder.Property(x => x.PlanetName)
.IsRequired()
.HasColumnName("planet_name")
.HasColumnType("varchar(32)");
builder.Property(x => x.CompanyName)
.IsRequired()
.HasColumnName("company_name")
.HasColumnType("varchar(32)");
builder.Property(x => x.SecretKey)
.IsRequired()
.HasColumnName("secret_key")
.HasColumnType("varchar(50)");
builder.Property(x => x.ServerType)
.IsRequired()
.HasColumnName("server_type")
.HasColumnType("varchar(50)");
builder.Property(x => x.Description)
.IsRequired()
.HasColumnName("description")
.HasColumnType("varchar(255)");
builder.Property(x => x.CreatedAt)
.HasColumnName("created_at")
.HasComment("생성 시간")
.HasColumnType("timestamp")
.IsRequired()
.HasDefaultValueSql("CURRENT_TIMESTAMP"); // MySQL 기본값
builder.Property(x => x.UpdatedAt)
.HasColumnName("updated_at")
.HasComment("수정 시간")
.HasColumnType("timestamp")
.IsRequired()
.HasDefaultValueSql("CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP"); // MySQL 기본값
}
}