나만의 작은 도서관
[TIL] 240604 캠프 51일차: prisma client와 연결된 DB간의 관계. 협업에서 발생할 수 있는 문제에 대해서... 본문
[TIL] 240604 캠프 51일차: prisma client와 연결된 DB간의 관계. 협업에서 발생할 수 있는 문제에 대해서...
pledge24 2024. 6. 4. 23:39오늘 배운 내용
prisma client와 연결된 DB간의 관계. 협업에서 발생할 수 있는 문제에 대해서...
prisma client는 npx prisma generate와 같은 명령어로 생성할 수 있는데 이렇게 생성된 client는 local범위(즉, 명령어를 실행한 PC)에서만 적용이 된다. npx prisma db push 명령어를 실행하게 되면 자동으로 npx prisma generate가 실행됨과 동시에 갱신된 client정보를 연결된 DB에 구조를 갱신하게 된다.
여기까지는 알고 있는 사실이었다. 문제는 같은 DB를 사용하는 다른 팀원이 해당 테이블을 사용할 수 있는지이다.
연결된 DB(이번 프로젝트 기준 mySQL)는 vscode에서 mySQL 익스텐션을 통해 raw query로 해당 테이블을 확인할 수 있다. 이는 해당 DB에 연결한 팀원들도 동일하게 사용할 수 있다. 하지만 문제는 갱신되지 않은 client를 사용하는 팀원들은 해당 테이블을 prisma에서 불러올 수가 없다. 그 이유는 client가 갱신되지 않아 테이블이 새로 생성된 경우 mapping된 모델이 client에 존재하지 않기 때문이다. 그래서 만약 테이블이 새로 생성하는 경우처럼 각 팀원이 이전 client에서 정의되지 않은 모델을 사용해야하는경우, API를 제작할 때 관련된 코드만 공유하는 것이 아닌, 적어도 생성한 테이블에 mapping된 .prisma에 제작한 model도 같이 공유해야한다. (이번 프로젝트에서 이런 문제가 발생했었다. 분명 요구하는 코드를 미리 공유했지만 해당 코드가 정상적으로 작동하지 않는 문제를 발견했기 때문. 위와 같은 이유가 원인이라는 것을 알게된 후에는 생성한 model을 같이 넘겨주었더니 정상적으로 작동하는 것을 확인하였다.)
오늘의 Trouble Shooting
- 오늘은 해결한 Trouble이 없어요!
오늘 한 일
- Select모델 / IOCP모델 발표 자료 제작 완료
- Select모델 / IOCP모델 발표
- 팀 프로젝트 회의 및 작업이 미리 끝난 팀원들에게 추가 과제 부여
- PR 요청 관리 및 merge 작업 진행
- 풋살 온라인 팀 프로젝트 게임 플레이 API 80%완료
'Today I Learn' 카테고리의 다른 글
[TIL] 240607 캠프 54일차: prisma: findFirst, findUnique, 그리고 유일성 조건에 따른 오류 (1) | 2024.06.07 |
---|---|
[TIL] 240605 캠프 52일차: Prisma 배열과 객체의 반환 값 판정, Prisma NOT, gte, lte사용법 (0) | 2024.06.05 |
[TIL] 240603 캠프 50일차: 소켓, 쓰레드, I/O (1) | 2024.06.04 |
[TIL] 240531 캠프 47일차: 식별/비식별 관계, IOCP (0) | 2024.06.01 |
[TIL] 240530 캠프 46일차: Prisma: include, 관계 속성 사용법 (0) | 2024.05.30 |