항해99/TIL

20230307 TIL

공대루루 2023. 3. 8. 09:39

1.  설치한 sequelize를 초기화 하여, sequelize를 사용할 수 있는 구조 생성

npx sequelize init

2.  config/config.json의 database에 설정된 이름으로 DB 생성. 생성 전에 config.json 파일의 값을 설정해야 한다.

npx sequelize db:create

3. sequelize를 통해서 model을 생성한다. 아래 명령어를 입력하면  migration 파일과 model 파일이 생성된다.

npx sequelize model:generate --name 테이블이름 --attributes 데이터 속성

예를 들어 npx sequelize model:generate --name Posts --attributes title:string,content:string 이런식으로 입력하면 테이블 이름은 Posts이며 Posts 테이블 안에는 title 과 content 가 string 타입으로 설정되어 있는 migration 과 model 파일이 생성된다. 이때 id 와 createdAt updatedAt은 자동으로 생성된다.

생성된 migration 과 model 파일은 바로 MySQL 의 테이블과 맵핑시킬 수도 있지만 필요한 속성들을 입력해준 후 맵핑을 시켜야 한다. title과 content의 속성을 더 추가해주거나 자동으로 생성된 id 값 또는 createdAt, updatedAt의 값의 속성을 추가해줄 수도 있고 이때 FK, PK 를 설정해주어야 한다.

PK : Primary Key
→ 각 테이블의 고유 key 이며 기본적으로 자동생성이 된다.
FK : Foreign Key
→ 자식테이블과 부모테이블을 연결할 때 사용하는 참조키

3.  migrations 폴더에 정의된 migration 파일들과 MySQL의 테이블을 맵핑시키기

npx sequelize db:migrate

실행한 db:migrate 취소하는 법

npx sequelize db:migrate:undo //가장 최근 migrate 취소
npx sequelize db:migrate:undo:all //모든 migrate 취소