Enums
Enums는 컬럼에 허용되는 값을 고정된 목록으로 정의합니다. 상태값, 카테고리, 역할처럼 미리 정한 옵션만 받아야 하는 컬럼에 적합합니다.
Enum 만들기
- 왼쪽 사이드바에서 Enums 탭을 엽니다.
- + Add Enum을 클릭합니다.
- enum name을 입력합니다. 예:
status,role,priority - values를 추가합니다. 각 value는 허용되는 하나의 옵션입니다.
새 enum은 Enums 탭 목록에 나타나며 컬럼 타입으로 사용할 수 있습니다.
Enum 속성
| 속성 | 설명 |
|---|---|
| Name | enum 타입 이름 예: order_status, user_role |
| Schema | 선택적 schema prefix |
| Values | 허용 값의 순서 있는 목록 |
값 관리
- + Add Value로 값을 목록 끝에 추가합니다.
- 각 값은
active,inactive,pending같은 name을 가집니다. - 값 옆의 삭제 아이콘으로 제거합니다.
- 드래그해 순서를 바꿀 수 있습니다.
Enum을 컬럼 타입으로 사용
enum을 만든 뒤에는 컬럼 타입으로 참조할 수 있습니다.
- 편집 패널에서 테이블을 엽니다.
- 컬럼을 추가하거나 기존 컬럼을 편집합니다.
- Type 필드에 enum 이름을 입력합니다. 예:
order_status
Enum 삭제
- Enums 탭에서 enum을 선택합니다.
- Delete 버튼을 클릭합니다.
주의
Enum을 삭제해도 이를 참조하던 컬럼이 자동으로 업데이트되지는 않습니다. 해당 컬럼은 enum 이름을 일반 텍스트 타입 문자열로 유지합니다. 삭제 후 컬럼 타입을 직접 수정하거나 다시 할당하세요.
예시
일반적인 order_status enum은 다음과 같습니다.
| Value |
|---|
pending |
confirmed |
shipped |
delivered |
cancelled |
orders.status 컬럼이 order_status 타입으로 이를 참조합니다.
팁
method보다payment_method처럼 도메인을 드러내는 이름이 명확합니다.- enum 값은 lowercase,
snake_case,UPPER_CASE등 한 가지 규칙으로 통일하세요. - enum은 status machine, role-based access, 설정 플래그처럼 애플리케이션 로직을 구동하는 컬럼에 특히 유용합니다.
- SQL 또는 DBML로 import하면 기존 enum 정의도 자동으로 파싱되어 생성됩니다.