TIL[85].schema 에 engine 설정하기

jake.log·2020년 11월 1일
0

Aquery를 통해 웹 사이트 테이블 모델을 만들면 자동으로 ERD를 SQL 문으로 만들어주는 기능이 있다.

Django는 ORM 기능으로 테이블이 생성되지만, flask는 rowquery이기 때문에 직접 테이블을 SQL문으로 써서 만들어야 한다. 많은 테이블이 있어 Aquery의 SQL 변경 기능은 큰 도움이 된다.

sql문은 다음과 같은데

CREATE TABLE accounts
(
    id               INT            NOT NULL    AUTO_INCREMENT, 
    identification   VARCHAR(45)    NOT NULL     UNIQUE COMMENT '계정 아이디',
    password         VARCHAR(500)   NOT NULL            COMMENT '비밀번호', 
    account_type_id  INT            NOT NULL  DEFAULT 2 COMMENT '(master,seller)',  
    PRIMARY KEY (id)
);

이 상태로 그냥 두면 안 된다는게 오늘 글의 핵심이다.
아래 SQL 문 처럼 엔진을 필드 입력 후에 작성해줘야 한다.

CREATE TABLE accounts
(
    id               INT            NOT NULL    AUTO_INCREMENT, 
    identification   VARCHAR(45)    NOT NULL     UNIQUE COMMENT '계정 아이디',
    password         VARCHAR(500)   NOT NULL            COMMENT '비밀번호', 
    account_type_id  INT            NOT NULL  DEFAULT 2 COMMENT '(master,seller)',  
    PRIMARY KEY (id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT '계정';
  • ENGINE=InnoDB : MySQL에 기본엔진 InnoDB
  • CHARSET=utf8mb4 :UTF-8 인코딩 체계에서 Maxbyte 4로 저장
  • COLLATE=utf8mb4_general_ci: 문자 정렬 방식 설정

물론 Engine 설정을 꼭 하지 않더라도 테이블이 생성되지만, 작성이 안 되는 경우를 대비해 Engine 설정은 꼭 해준다.

profile
꾸준히!

0개의 댓글