실행 명령어
migrate run
모든 Migration 실행 DB 최신 상태로
migrate status
실행 상태 확인 pending 목록
migrate apply
대상 DB를 골라서 실행
migrate generate
준비된 Migration 파일 생성
sonamu migrate의 서브커맨드는 run, apply, generate, status 네 가지입니다. 롤백은 CLI가
아닌 Sonamu UI에서 수행합니다. 롤백하기 문서를 참고하세요.기본 실행
모든 Migration 실행
migrate run은 아직 실행되지 않은 모든 Migration을 순서대로 실행합니다.실행 상태 확인
실행 순서
Migration은 파일명의 타임스탬프 순서로 실행됩니다:대상 DB 지정 실행
migrate apply
migrate run은 현재 NODE_ENV에 해당하는 DB에만 적용합니다(NODE_ENV=test인 경우 test와
fixture). 대상 DB를 직접 고르려면 migrate apply를 사용합니다.
Migration 하나씩만 골라서 실행하는 명령은 제공되지 않습니다. 실행 단위는 항상 pending 전체입니다.
Batch 시스템
Batch란?
함께 실행된 Migration 그룹입니다:Batch의 역할
- 롤백 단위: 같은 batch의 Migration은 함께 롤백됩니다
- 실행 그룹:
migrate run으로 한 번에 실행하면 같은 batch
환경별 실행
개발 환경
스테이징 환경
프로덕션 환경
트랜잭션
자동 트랜잭션
각 Migration은 별도 트랜잭션으로 실행됩니다:트랜잭션 비활성화
일부 DDL 작업은 트랜잭션을 지원하지 않을 수 있습니다.
에러 처리
실행 중 에러
- Migration 파일 수정
- 다시 실행 시도
부분 실패
실행 로그 확인
실행 결과
migrate run은 대상 커넥션별로 batch 번호와 적용된 파일 목록을 출력합니다. SQL 단위의 상세 로그를
남기는 옵션은 제공되지 않으므로, 실제 실행된 SQL을 확인하려면 아래 knex_migrations 조회나 DB
서버 로그를 사용하세요.
실행 기록 조회
CI/CD 통합
GitHub Actions
Docker
다운타임 최소화
Blue-Green Deployment
호환성 유지
실전 팁
1. 실행 전 확인
2. 백업
3. 모니터링
다음 단계
롤백하기
Sonamu UI에서 되돌리기
전략
안전한 마이그레이션
마이그레이션 생성
Sonamu UI에서 생성
동작 원리
자동 생성 이해하기