노드에서 MYSQL데이터베이스에 연결을 하고 작업을 쉽게해주는 라이브러리가 시퀄라이즈 입니다.
시퀄라이즈는 ORM(Object-relational Mapping)으로 분류됩니다. ORM은 자바스크립트 객체와 데이터베이스의 릴레이션을 매핑해주는 도구 입니다.
시퀄라이즈를 사용하기 위해 npm을 통해 패키지를 설치합니다.
프로젝트경로> npm i sequelize sequelize-cli mysql2
sequelize-cli는 시퀄라이즈 명령어를 실행하기 위한 패키지 이고 mysql2는 MYSQL과 시퀄라이저를 이어주는 드라이버 입니다.
* 시퀄라이즈 init명령어를 통한 model폴더 생성
프로젝트경로> npx sequelize init
npx사용 이유
npm이 아닌 npx를 사용해 전역설치 없이 명령어로 initialize 진행
MYSQL에서 정의한 테이블을 시퀄라이즈에서도 정의해야 사용할 수 있습니다.
* 시퀄라이즈의 특징
* 모델 정의방법
* MYSQL과 시퀄라이즈 자료형 비교
MYSQL | 시퀄라이즈 |
---|---|
VARCHAR(100) | STRING(100) |
INT | INTEGER |
TINYINT | BOOLEAN |
DATETIME | DATE |
INT UNSIGNED | INTEGER.UNSIGNED |
NOT NULL | allowNull: false |
UNIQUE | unique: true |
DEFAULT now() | defualtValue: Sequelize.now( ) |
* 관계정의
시퀄라이즈로 CRUD 작업을 하려면 시퀄라이즈 쿼리를 알아야 합니다.
참고문서
Node.js 교과서