migration은 데이터베이스를 수정 생성 삭제 등을 할때 이용합니다.
테이블의 내용을 마이그레이션을 이용하여 변경할 수 있습니다.
sequelize를 이용하여 작성 해보겠습니다.
설치먼저 합니다.
$ npm install --save-dev sequelize-cli
빈프로젝트를 생성하면,
config, 데이터베이스에 연결하는 방법을 CLI에 알려주는 구성 파일 포함
models, 프로젝트의 모든 모델을 포함합니다.
migrations, 모든 마이그레이션 파일 포함
seeders, 모든 시드 파일 포함
위에 4가지 폴더가 생성 됩니다.$ npx sequelize-cli init
모델을 생성해보겠습니다.
name: 모델의 이름;
attributes: 모델 속성 목록입니다.$ npx sequelize-cli model:generate --name 모델명 --attributes firstName:string,lastName:string,email:string
마이그레이션 실행
데이터베이스에 테이블이 생성되어 있을껍니다.$ npx sequelize-cli db:migrate
마이그레이션을 되돌릴려면(가장최근 마이그레이션으로 롤백)
db:migrate:undo:all -> 모든 마이그레이션 되돌리기
npx sequelize-cli db:migrate:undo:all --to XXXXXXXXXXXXXX-create-posts.js -> 특정 마이그레이션으로 되돌리기$ npx sequelize-cli db:migrate:undo
일반적인 마이그레이션 파일의 모습은 이러하다
파일추가 명령문을 입력하고
npx sequelize migration:create --name 파일명
내부의 모습이다
module.exports = {
up: (queryInterface, Sequelize) => {
// logic for transforming into the new state
},
down: (queryInterface, Sequelize) => {
// logic for reverting the changes
}
}
up:실행하고자 하는 내용
down: 다시 되돌릴때 내용