Sequelize CLI 이용하기

Purple·2021년 11월 18일
0

TIL

목록 보기
57/73

1. Sequelize 설치하기

  • 터미널에 npm install — save sequelize 한다.

2. Sequelize CLI 설치하기

$ npm install —save-dev sequelize-cli
  • ‘-dev’라고 쓰는 이유는 초기 세팅시만 필요하여 dev dependency에만 설치하기 위해서
  • sequelize-cli는 migration을 할 수 있도록 돕는 툴로, cli에서 모델을 생성해주거나, 스키마 적용을 할 수 있도록 돕는다. migration은 스키마 변경에 따른 데이터 이주(migration)을 뜻한다. 이는 데이터를 선택, 준비, 추출 및 변환하여 한 컴퓨터 저장 시스템에서 다른 컴퓨터 저장 시스템으로 영구적으로 전송하는 프로세스를 뜻한다.

3. bootstrapping 하기

  • ORM을 잘 사용할 수 있도록 bootstraping(프로젝트 초기 단계를 자동으로 설정할 수 있도록 도와주는 일)해준다. - 그럼 자동으로 4가지 directory가 만들어진다.
$ npx sequelize-cli init
  1. config/config.json
  2. models/
  3. migrations/
  4. seeders/

4. MySQL에 접속해서 데이터베이스 생성하기

mysql > CREATE DATABASE “데이터베이스명”;
  • 다시 quit

5. CLI 통해서 모델 만들기

$ npx sequelize-cli model:generate --name 모델명 --attributes 필드명:필드타입,필드명:필드타입, 필드명:필드타입
  • 필드타입 예) string, integer 등등
  • 그러면 models 디렉토리에 지정한 모델명의 파일이 만들어진다.
  • 그리고 migration file도 migration폴더에 만들어진다.파일명 예)XXXXXXXXXXXXXX-create-user.js
    migration 파일은 해당 모델 또는 더 구체적으로 CLI에서 사용하는 해당 테이블의 변경 사항이다. migration을 데이터베이스의 일부 변경에 대한 커밋이나 로그처럼 보면 된다.
    MySQL에서는 문자열은 varchar로 지정하였지만, sequelize덕분에 자바스크립트 처럼 string이라고 적을 수 있다.

6. Migration 생성하기

  • 데이터베이스에서 위에서 만든 model과 migration 파일의 테이블을 생성하려면 db:migrate 명령을 실행해야 한다.
$ npx sequelize-cli db:migrate
  • 그러면 database에 SequelizeMeta라는 테이블이 생겼을 것이다. 이 테이블은 현재 데이터베이스에서 실행된 migration을 기록하는데 사용된다.
  • 아직 실행되지 않은 migration 파일은 sequelizeMeta테이블에서 확인 가능하다.
  • migration을 생성하면 migration file에서 지정된 모든 column으로 이루어진 테이블이 만들어졌을 것이다.

7. 주의사항

  • 스키마 변경이 있을 때 마다 migration을 해주어야 한다.
  • timestamp 형식으로 migration 파일이 생성되어 자동으로 history를 관리할 수 있다. 그래서 migration 파일에는 가능한 한 파일에 하나의 작업만 하는 것이 좋다. 한 migration 파일에서 여러 작업을 동시에 진행하다가 도중에 실패하거나 중단했을 때 이도저도 할 수 없어 매우 답답한 상황에 처할 수 있다.
profile
다시 보면, 더 많은 것들이 보인다.

0개의 댓글