오늘 한 일 - 프리즈마 수정하기, 게시판 GET 구현, 한걸음 앞으로 가면 두걸음 오류걸려서 뒤로가기
37번째줄
Resume Resume? -> resumes Resume[]
강의에서 이력서가 생성될수도 아닐 수도 있음을 이야기 하셔서 ? 붙였음.
과제에서는 이력서를 여러개 생성할 수 있으니 s 붙이고, 같은 형식의 이력서를 나열(목록조회)하므로 [] 붙여줌
51번째줄
user의 id와 resume의 id를 연결하고, 표시로 Id로 지정해두었으나... 더 큰 혼란만 가져왔다고 한다..
차라리 userid 로 지정해줘도 됬을 듯
54번째줄
두 테이블에 id를 각각 연결한다고 생각해서 이력서 id를 따로 생각하고, 기본값을 자동생성하게 지정했었으나
user 의 id와 resume에 들어갈 id를 authorId로 바꿔서 관계설정해줌. => 타입을 int로 user의 id와 맞춤
60번째줄
resume에 있는 author와 user에 있는 user를 관계설정 해줄건데
authorId와 id를 관계설정해줌
수정된 스키마
스키마 입력, 수정 모두 prisma db push 이 친구를 이용하는데, 어디서 수정 할 때 입력하면 충돌난다고 해서 수정 하는 코드가 따로 있는줄 알고 엄청 찾아봤었다.
결론은
yarn prisma db push - 스키마 입력 및 수정 후 적용
(npx prisma db push 도 같은 역할)
수정 후에 yarn prisma db push 해도 충돌이 일어날 수 있고, 아닐 수 도 있음
충돌이 날 경우에는 yarn prisma db push --accept-data-loss 쓰면 됨 ; 데이터 손실 감안해야함
나는 yarn prisma db push 요 코드를 사용했는데 다행히 별 문제없었다.
그 외로,
배포 후 에러가 났다면
- EC2 배포 시 Prisma가 DATABASE_URL을 못 찾는다는 에러가 나온다면 아래 명령을 실행해 주세요.
- Prisma는 Schema를 정의하면 맞춤으로 사용할 수 있는 코드를 생성해 줍니다. (ex: prisma.users.create, prisma.users.findFirst)
- 이 코드를 생성해 주는 명령이 바로 위의 명령어인데, 로컬에서 개발할 때에는 prisma db push 라는 명령을 실행 할 때 자동으로 generate가 실행되어서 아무 문제 없이 실행이 됐을겁니다.
- 해당 코드가 node_modules 안에 생성 되기에, Git으로 관리되지 않습니다. 그래서 배포할 때 clone을 받으면 해당 코드가 포함되어 있지 않아, 위의 명령을 통해서 직접 생성해줘야 합니다.
오늘의 실수 : RDS 포트 번호 임의로 바꾸기.. (mysql 3306 -> ip4 3000) ; 지난 번에 mysql 기본 포트값이 3306이였는데 vs code로 my sql 작업하며 3306 쓰고 있었어서 중간에 3000번으로 바꿔줘서 RDS 도 바꿔줘야 한다고 생각함..ㅎ
api 주소에서 자꾸 api 빼고 insomnia에다 안나온다고 멘붕오기
post api 주소 연결해서 웹에 연결하고 안나온다고 멘붕오기...
회고 : 꼼꼼히 살펴보자...