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

zeler1004님의 프로필 이미지

작성한 질문수

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

nestjs에서 DB에 데이터를 주입한 이후에 다시 서버를 작동시키고자 할때 발생하는 에러에 대한 문의점

해결된 질문

작성

·

560

0

스크린샷 2023-05-25 오후 7.38.14.png

ORM으로 API 구현중에 서버 작동을 위해 yarn start:dev로 진행하던중에

DB에 데이터를 주입한 이후에 서버를 다시 작동하게 되는 경우에 위 이미지와 같은 에러들이 발생하게됩니다.

DB에서 어떠한 변화가 일어나고 난 다음에 새롭게 서버를 작동시키게 되면 기존과 다른 상태(?)에서 서버가 작동되는것때문에 오류가 발생하는게 아닐까 라는 추측을 하게되는데요

이는 어떠한 문제가 있어서 그런것이고 이걸 해결하기 위해서는 어떠한 방향성을 갖고 DB연결 이후에 데이터를 주입한 이후에도 정상적으로 서버를 연결할 수 있을까요?! 아직 강의가 다 끝나지는 않았지만 다음 강의에 설명들이 나와있는지도 궁금합니다 !

답변 1

2

안녕하세요.

제가 아는데로 말씀드리면 app.module에서 synchronize세팅이 true가 돼있으면 서버 재시작시마다 데이터베이스를 새로 구성하고 데이터도 다시 집어넣는 과정을 자동으로 반복합니다.

이 과정에서 이전 데이터를 한번에 집어넣으면서 참조하는 키의 데이터가 넣어지지 않은 상태에서 외래키 데이터를 먼저 생성하려고 하기 때문에 발생하는 것으로 압니다.

데이터베이스의 테이블 데이터를 수동으로 다 삭제한 후 서버를 재시작하거나 가장 간단하고 근본적인 방법은 코드 상에 테이블 구조가 바뀌지 않았다면 synchronize를 false로 설정하여 서버 재시작시 데이터베이스를 새로 구성하지 않도록 하면 되십니다.

 

도움이 많이 되네요 감사합니다