내가 어려웠다고 생각했던 Express와 함께 적용이 되니 너무 어렵다는 생각이 들었다. 그래서 이번 주말은 Sequelize와 ORM Express를 주로 공부할 예정이다.
우선 sequelize를 npm을 이용해서 설치해보면
$ npm install --save sequelize
를 터미널에서 입력하면 된다.
그리고 cli 도구를 설치해야되는데 아래 공식문서 를 따라가면 된다.
Sequelize - Migrations
$ npm install --save-dev sequelize-cli
자신이 작성하고 있는 프로젝트에
$ sequelize init
라는 명령어를 작성하면 빈 sequelize 프로젝트를 생성한다.
파일이 생성되면 성공이다.
그 후에는 MySQL 데이터 베이스를 생성해야 하는데(MySQL을 사용하는 개발자를 기준으로), 기본값으로 되어있는 user는 root로 설정되어있고, password가 설정되어 있지 않은 상태를 기준으로.
$ mysql -u root -p
를 입력후
CREATE DATABASE project_name;
위와같이 sql 명령어로 데이터베이스를 생성후 프로젝트와 연결시켜 주면 된다.
이제 cli를 통해 모델을 만들어 보자.
만약 이름이 user이고 Int를 데이터로 갖는 userId라는 필드와 varchar를 데이터로 갖는 name이라는 필드를 생성하고 싶으면(id, createdAt, updateAt 필드는 자동생성된다) 아래와 같이 터미널에서 입력하면 된다.
npx sequelize-cli model:generate --name user --attributes userId:integer,name:string
을 입력하면 models에 user.js라는 파일이 생성이 된다.
만약 수정하고 싶은 사항이 있으면 이 파일을 수정하면 된다.
수정이 끝났다면 마이그레이션을 통해 database에 테이블을 생성할 수 있다.
npx sequelize-cli db:migrate
를 통해 마이그레이션을 해주면 된다.
user.js 파일을 추가로 수정하고 싶어서 수정하고 다시 마이그레이션을 하면 파일이 이미 존재한다고 하면서 마이그레이션이 되지 않는다.
npx sequelize-cli db:migrate:undo
라는 명령어를 입력하면 가장 최근 마이그레이션이 취소가 된다.