본문으로 건너뛰기

컬럼 정의 — 기본

컬럼 정의​

{
"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에 직접 표시됨)
  • defaultValue는 enumValues 중 하나

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