해결된 질문
작성
·
670
답변 1
0
안녕하세요! 뽕리뽕뽕님!
아래와같이 synchronize: true 를 주시게 되면, vscode에 작성하신 @Entity() 들과 데이터베이스의 테이블을 동기화 시키게 됩니다!
synchronize: true
하지만, 기존에 이미 있는 테이블과 컬럼에 대해서는 놔두고, 변경된 사항에 대해서만 추가/삭제 등이 발생하게 돼요!
따라서 위에서 보여주신 상황은 일반적인 상황은 아니며, 버전에 따른 문제로 보여집니다.
실제 몇 달 전에도 동일한 이슈가 typeorm에서 버전 문제로 인하여 발생했는데, 수업에서 사용된 버전을 공유드릴테니 아래 버전으로 다시 설치해서 진행해 보세요!
"@nestjs/typeorm": "9.0.1",
"mysql2": "3.2.0",
"typeorm": "0.3.12"
버전 교체시, node_modules와 yarn.lock 파일을 삭제하시고 다시 node_modules를 설치하시어 진행해 보세요!^^
네! 뽕리뽕뽕님!
해당 버전에서는 동기화이슈가 없믄 것으로 확인되었어요!
따라서, 해당 버전 설치가 잘못 되었거나, 코드상의 오류로 봐야할 것 같아요!
현재 제가 확인 가능한 코드가 없으므로 가능한 시나리오만 말씀을 드려 볼게요!
1.모든 테이블에 대해서 already exists가 나오고 있는지 확인해 보세요!
그게 아니라면 already exists라고 나오는 테이블의 entity이름으로 작성된 소스코드가 2개이고 각 소스코드에 @Entity() 데코레이터가 붙어있지 않은지
등을 확인해 보셔야 할 것 같아요!
선생님... 바꿔도 동일한 문제가 발생하네요 어떤게 문제일까요...?