체크섬 파일 파싱 오류
증상
원인
sonamu.lock 파일이 손상되었습니다. 일반적인 원인:
- Sync 중단 (Ctrl+C)으로 파일이 불완전하게 저장됨
- 파일이 빈 파일이거나 잘못된 JSON 형식
- 여러 프로세스가 동시에 파일을 수정함
해결 방법
1. 체크섬 파일 삭제 (권장)
2. 파일 내용 확인
{}만 있다면 삭제 후 재생성하세요.
3. 예방 방법
- Sync 중단 시 반드시 완료될 때까지 기다리기
- 여러 터미널에서 동시에
pnpm dev실행하지 않기
마이그레이션 파일 충돌
증상
원인
같은 날짜에 여러 마이그레이션을 생성하여 타임스탬프가 중복되었습니다.해결 방법
1. 파일명 수동 변경
2. 타임스탬프 형식 사용
Sonamu는YYYYMMDD_HHMMSS 형식을 지원합니다:
Generated Column 오류
증상
원인
PostgreSQL의 Generated Column을 수정하려 할 때 발생합니다. Generated Column은 다른 컬럼의 값으로 자동 계산되는 컬럼으로, 직접 수정할 수 없습니다.해결 방법
1. Generated Column 삭제 후 재생성
2. entity.json 수정
타임스탬프 Precision 오류
증상
원인
PostgreSQL에서timestamp 타입의 precision이 명시되지 않아 기본값과 불일치합니다.
해결 방법
1. entity.json에서 precision 명시
2. 마이그레이션 파일에서 수정
외래 키 제약 오류
증상
원인
참조되고 있는 레코드를 삭제하거나 수정하려 했습니다.해결 방법
1. CASCADE 옵션 사용
2. 마이그레이션으로 수정
마이그레이션 롤백 실패
증상
원인
마이그레이션 파일에down() 함수가 없거나 잘못 구현되었습니다.
해결 방법
1. down() 함수 구현
2. 복잡한 마이그레이션 롤백
마이그레이션 상태 불일치
증상
원인
- 마이그레이션 파일이 삭제되었으나 DB에는 기록이 남아있음
- 여러 환경에서 마이그레이션을 다르게 적용함