namespace BrokerCore.Repository.SqlConfig; using DbEntity; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; public class PlanetInfoConfig : IEntityTypeConfiguration { public void Configure(EntityTypeBuilder 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 기본값 } }