# sequelize install
$ npm install --save sequelize
# 마이그레이션을 사용하기 위해 sequelize-cli 설치
$ npm install --save-dev sequelize-cli
$ npx sequelize-cli init
# model:generate 사용
# --name 옵션은 모델명이며, 나중에 마이그레이션시 테이블명은 복수명으로 생성된다(User=>Users)
# --attribute 모델의 속성(칼럼명:데이터타입)
$ npx sequelize-cli model:generate --name url --attributes "url:string, title:string, visit:integer"
# 마이그레이션 실행
$ npx seqeulize-cli db:migrate
# 실행 취소: 가장 최근의 마이그레이션
$ npx sequelize-cli db:migrate:undo
# 실행 취소: 초기상태로, SQL Rollback 느낌
$ npx sequelize-cli db:migrate:undo:all
# 실행 취소: 해당 마이그레이션으로 되돌리기, 이거는 rollback savepoint느낌
$ npx sequelize-cli db:migrate:undo:all --to 해당날짜시간-create-모델파일명.js
# 시드파일 실행
$ npx sequelize-cli db:seed:all
# 시드파일 취소: 가장 최근의 시드
$ npx sequelize-cli db:seed:undo
# 시드파일 취소: 특정 시드 취소
$ npx sequelize-cli db:seed:undo --seed name-of-seed-as-in-data
# 시드파일 취소: 모든 시드파일 취소
$ npx sequelize-cli db:seed:undo:all
# model:generate를 이용, user 모델 생성
$ npx sequelize-cli model:generate --name user --attributes fullName:string,email:string
# 필드 추가 및 fk 설정할 마이그레이션 파일 생성
$ npx sequelize-cli migration:generate --name addUserIdColumn
// models/index.js 다음 내용 추가
const {url, user} = sequelize.models;
url.belongsTo(user);
user.hasMany(url);
참고
- 설치(https://sequelize.org/)
- 마이그레이션(https://sequelize.org/master/manual/migrations.html)
- 디폴트값(https://sequelize.org/master/manual/model-basics.html#default-values)
- 조인(https://flyingsquirrel.medium.com/sequelize-table-join%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95-34dc1ce4e86f)
- 시퀄라이즈(https://lgphone.tistory.com/86)