adonis / custom primary key

flobeeee·2021년 12월 5일
0

시행착오

목록 보기
24/43

상황

post 메소드 api기능을 개발하던 중이었다.
다른 테이블 id를 pk로 사용하는 테이블이 있었다.
즉, 이 id는 auto increment가 적용되지 않는 primary key이다.
DB에 저장할 데이터를 넣고 save()를 하는 순간 이 id 가 0으로 바뀌었다. (황당)

예시

webtoonReview.webtoonId = webtoon.id
webtoonReview.starScore = request.input('starScore')

console.log(webtoonReview.webtoonId) // 여기서는 webtoon.id가 잘 찍힘

await postReview.save() // 데이터 저장 !

console.log(webtoonReview.webtoonId) // 0으로 찍힘

검색검색 !!

https://github.com/adonisjs/lucid/issues/89
https://github.com/adonisjs/core/discussions/3251

해결방법

https://docs.adonisjs.com/reference/orm/base-model#static-selfassignprimarykey
공식문서에 명시되어있다.

아래 코드를 모델에 명시하면 해결된다.

public static selfAssignPrimaryKey = true
profile
기록하는 백엔드 개발자

0개의 댓글