Skip to main content

컬럼 정의 — 기본

컬럼 정의

{
"name": "item_code",
"displayName": "품목코드",
"type": "VARCHAR",
"constraints": ["NOT_NULL", "UNIQUE"],
"defaultValue": null,
"enumValues": null,
"fkRef": null,
"systemRef": null
}

컬럼 필드 명세

필드타입필수설명
namestring필수컬럼명 (snake_case, 영문)
displayNamestring필수한글 표시명
typeColumnType필수데이터 타입
constraintsstring[]필수제약조건 배열 (빈 배열 가능)
defaultValuestring|null선택기본값 (문자열로 표현)
enumValuesstring[]|null조건부type: "ENUM" 일 때 필수
fkRefobject|null조건부constraints"FK" 포함 시 필수
systemRefstring|null조건부constraints"SYSTEM_REF" 포함 시 필수
descriptionstring선택상세 설명
lockedboolean선택사용자 삭제 불가 컬럼
isComputedboolean선택자동 계산 컬럼 여부 (DTO 제외, 읽기 전용)
computedConfigobject|null조건부isComputed: true 일 때 필수 — 계산 설정
supportsAutoNumberingboolean선택자동 채번 대상 컬럼 (읽기 전용, 패턴 기반 생성)

데이터 타입 (ColumnType)

타입PostgreSQL용도예시
VARCHARvarchar(255)짧은 텍스트 (코드, 이름, 번호)품목코드, 거래처명
TEXTtext긴 텍스트 (비고, 설명, 메모)특이사항, 작업내용
INTinteger정수 (수량, 순서, 횟수)생산수량, 정렬순서
BIGINTbigint큰 정수시리얼넘버
DECIMALdecimal소수 (금액, 무게, 비율, 치수)단가, 무게, 불량률
BOOLEANboolean참/거짓사용여부, 승인여부
DATEdate날짜 (시간 없음)납기일, 생산일
TIMESTAMPtimestamp일시 (날짜+시간)시작시각, 완료시각
UUIDuuid고유 식별자 (FK용)품목ID, 거래처ID
ENUMvarchar + CHECK열거형 (고정 선택지)상태, 유형, 등급
FILEjsonb파일 첨부도면, 사진, 문서
JSONjsonJSON 데이터설정값, 메타데이터
JSONBjsonb검색 가능 JSON검사항목, 속성맵

제약조건 (Constraints)

제약설명조합 규칙
NOT_NULL필수 입력 (NULL 불가)모든 타입과 조합 가능
UNIQUE고유값 (중복 불가)보통 NOT_NULL과 함께 사용
FK외래키반드시 fkRef 함께 정의
SYSTEM_REF시스템 테이블 참조반드시 systemRef 함께 정의
PK기본키직접 사용 금지 (id는 자동 생성)
INDEX인덱스검색 성능 최적화

ENUM 정의

{
"name": "status",
"displayName": "상태",
"type": "ENUM",
"constraints": ["NOT_NULL"],
"enumValues": ["대기", "진행중", "완료", "취소"],
"defaultValue": "대기"
}
  • type: "ENUM" 일 때 enumValues 필수
  • 값은 한글 사용 (UI에 직접 표시됨)
  • defaultValueenumValues 중 하나

이전: 테이블 정의 | 다음: 컬럼 정의 (고급)