테이블 생성/수정/삭제 같은 스키마 변경사항을 기록하는 파일
여러 개발자/환경에서 DB 구조를 일관되게 유지
git처럼 "어떤 구조가 언제 변경되었는지 추적 가능"
typeorm에서 sync: true로 설정하면 자동으로 데이터베이스 구조가 변경되었다.
Controlled Changes: 원하는 상황에 원하는 형태로 마이그레이션을 자유롭게 실행할 수 있다.
Reversible: 진행한 마이그레이션을 되돌릴 수 있다.
Versioning: 마이그레이션은 스키마 변경에 대한 히스토리를 담고 있다. 디버깅에 매우 유용하다.
Consistency: 다양한 환경에서 데이터베이스 스키마가 같게 유지되도록 할 수 있다.
Complex Changes: 복잡한 데이터베이스의 변화를 직접 컨트롤 할 수 있다.
npx typeorm migration:generate -n (MigrationName)
npx typeorm migration:run
npx typeorm migration:revert