MySQL enum? ERD 설계, 엔터티 설계, DTO 설계를 할 때 고민되는 부분이 있습니다. enum vs boolean, enum vs tinyint 어떤 차이가 있을까요? 비교 ERD를 많이 보신 분들이라면, enum('Y', 'N')을 사용하는 경우를 종종 볼 수 있습니다. 상태(State) 또는 코드(Code)에서도 enum("CANCEL", "STOP", "COMPLETE")등을 사용하기도 합니다. 하지만, 이는 그리 좋은 방법이 아닐 수 있습니다. 왜 Why? Enum은 DB 비표준이자, MySQL의 확장입니다. 여기서 문제가 발생할 수 있습니다. 다른 종류의 DBMS로 마이그레이션이 불가능합니다. 지정된 문자열이 아닌 다른 문자열이 들어왔을 때 빈 문자열이 저장될 수 있습니다. 값이 변..