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

dhj100님의 프로필 이미지
dhj100

작성한 질문수

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

FileInterceptor 적용하기

관계형 연결되어있는 DB 모델 삭제 시 에러 처리

해결된 질문

작성

·

345

1

안녕하세요. 강의 잘 듣고 있습니다.

image multer 적용 후, 몇가지 api를 테스트 하던중에 아래와 같은 에러가 발생하여, 해결하고자 시도를 해보았는데 잘 해결 되지 않아 질문 드립니다.

 

  • 에러 메세지
    QueryFailedError: update or delete on table "posts_model" violates foreign key constraint "FK_40cd89c6655ec7b102842feacab" on table "image_model"

  • 에러 발생 상황
    - image가 post 모델에 관계형이 지어있는 상황에서, post를 지우려고 하면 (deletePost API 사용) 위와 같은 에러 메세지가 나오며 에러가 발생합니다.

  • 에러 해결을 위한 시도
    - onDelete : "CASCADE" 옵션을 posts model에 주고, db를 초기화 한후 다시 시도해보았지만 같은 상황이 발생하였습니다.

해당 에러를 어떤식으로 해결해야할지 말씀 부탁드립니다.

답변 1

1

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요!

onDelete 옵션은 연동된 상대 row가 삭제됐을때의 액션을 정의합니다.

즉, post 테이블에 정의하게되면 post가 바라보고있는 테이블에서의 삭제를 감지합니다.

말씀 하신것처럼 post가 삭제됐을때 image도 같이 삭제되길 원한다면 image에 onDelete: Cascade 옵션을 주셔야합니다.

감사합니다!

dhj100님의 프로필 이미지
dhj100
질문자

감사합니다! 말씀해주신데로 해보겠습니다.

dhj100님의 프로필 이미지
dhj100

작성한 질문수

질문하기