DB 컬럼 타입 제약 정책 선택

상태

승인

후보군

방안설명
FK·ENUM·BOOLEAN 미사용FK 없이 앱 레벨 관리, 상태/방향은 VARCHAR, 날짜는 DATETIME(6)
DB 수준 FK·ENUM·BOOLEAN 사용DB 무결성을 DB 제약으로 보장

결정

FK 컬럼 없이 애플리케이션이 참조를 관리하고, 상태/방향은 VARCHAR, 날짜는 DATETIME(6)을 사용한다.

결정 이유

  • DB 스키마 컨벤션상 FK·ENUM 타입·BOOLEAN을 지양한다.
  • FK 제거로 테이블 간 의존성을 낮춰 마이그레이션·샤딩이 용이하다.
  • VARCHAR 상태값은 Enum 추가 시 DDL 변경 없이 애플리케이션만 수정하면 된다.
  • DATETIME(6)으로 마이크로초 정밀도를 확보한다.

검토 대안

방안기각 이유
DB 수준 FK·ENUM·BOOLEAN 사용스키마 컨벤션 위반, ENUM 변경 시 DDL ALTER 필요, BOOLEAN 이식성 낮음

트레이드 오프

  • 득: DB 이식성·하위 호환 용이, 마이그레이션 단순, Enum 확장 자유
  • 실: 참조 무결성은 애플리케이션 책임으로 전가, DB 레벨 검증 부재