인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

mhr님의 프로필 이미지

작성한 질문수

Slack 클론 코딩[백엔드 with NestJS + TypeORM]

공지내용대로 해도 여전히 마이그레이션시 dataSource를 찾을 수 없다는 에러가 뜹니다.

작성

·

947

0

제로초님 안녕하세요.

typeorm 0.3 버전 사용에 대한 빠른 대응 감사합니다. 

저 그런데 공지사항에 올려주신대로 해도 에러메시지가 뜨면서 실행이 안 됩니다. 

공지에 올려주신 것처럼 src 폴더 아래 dataSource.ts 파일을 만들었고, https://github.com/typeorm/typeorm/issues/8810#issuecomment-1084255476 여기에 나온 것을 참고해서 npx typeorm migration:generate src/migrations/categoryToType -d src/dataSource.ts 와 npx typeorm migration:run -d src/dataSource.ts를 실행시켜면 Unable to open file: '.../src/dataSource.ts' 라는 에러가 뜨면서 안 됩니다. 

package.json의 script에 "db:migrate": "npm run typeorm migration:run -d ./src/dataSource.ts"로 지정해서 실행시켜보면 Missing required argument: dataSource라고 나오고요. 

어떻게 해결해야할까요? 

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

npx typeorm이 아니라 npm run typeorm입니다.

mhr님의 프로필 이미지
mhr
질문자

제로초님 안녕하세요. 해당 부분은 제가 오타를 냈네요. Unable to open file 에러는 오타 때문이었습니다. 

저 그런데 말씀하신대로 해도 Missing required argument: dataSource라는 메시지는 계속 뜹니다. 떠도 상관없는 건가요? 시험삼아서 Entity를 약간 바꾼 다음에 npm run typeorm migration:generate -d ./src/dataSource.ts 를 실행해봤는데 동일한 메시지가 나오고 마이그레이션 파일도 안 만들어집니다. 뭐가 문제인 걸까요? 

 

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

npm run typeorm migration:generate -- ./src/migrations -d ./src/dataSource.ts

하니까 되네요. 위에서 말씀드렸듯 --가 원래 명령어에 옵션을 전달하는 명령어입니다. npm run typeorm migration:generate는 원래 명령어가 아니라 node --require ts-node/register ./node_modules/typeorm/cli.js를 가리키는 별명입니다.

mhr님의 프로필 이미지

작성한 질문수

질문하기