작성
·
264
·
수정됨
1
안녕하세요 너무 잘듣고있습니다
'모든 Route 기본 Private로 만들고 IsPublic Annotation 작업하기' 수업듣는 중 질문이있어 글남깁니다.
POSTMAN에서 DELETE기능을 눌렀을때 에러가 발생합니다
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
[터미널에 나온 에러 내용]
[REQ] GET /posts?order__createdAt=DESC&take=5 2024. 3. 6. 오후 7:44:07
[REQ] DELETE /posts/122 2024. 3. 6. 오후 7:44:32
[Nest] 9576 - 2024. 03. 06. 오후 7:44:32 ERROR [ExceptionsHandler] update or delete on table "posts_model" violates foreign key constraint "FK_40cd89c6655ec7b102842feacab" on table "image_model"
QueryFailedError: update or delete on table "posts_model" violates foreign key constraint "FK_40cd89c6655ec7b102842feacab" on table "image_model"
at PostgresQueryRunner.query (C:\Users\manjin han\OneDrive\바탕 화면\flutter 폴더 및 파일\cf_sns\src\driver\postgres\PostgresQueryRunner.ts:331:19)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at DeleteQueryBuilder.execute (C:\Users\manjin han\OneDrive\바탕 화면\flutter 폴더 및 파일\cf_sns\src\query-builder\DeleteQueryBuilder.ts:77:33)
at PostsService.deletePost (C:\Users\manjin han\OneDrive\바탕 화면\flutter 폴더 및 파일\cf_sns\src\posts\posts.service.ts:332:7)
[postman 에러 내용]
{
"statusCode": 500,
"message": "Internal server error"
}
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
강의상
terminal창에, 이렇게 화면이 나와야하는데
해당화면처럼 에러가 나오네요
몇일 고민해도 안되서 질문 드립니다
답변 1
1
안녕하세요!
ImageModel 연동이 존재하는 Post를 삭제하려고 하신게 맞을까요?
Foreign Key를 다른곳에서 레퍼런스 하고 있을경우 삭제하려고 할때 에러를 던지는게 기본값입니다.
이럴경우 두가지 방법이 있습니다. 해당 레퍼런스 데이터를 먼저 삭제하고 (이경우 ImageModel) 원래 지우려던 데이터를 삭제합니다.
또는 Relation 옵션에 cascade: true를 입력 할 수 있습니다.
그럼 연동된 테이블의 데이터가 함께 삭제됩니다.
감사합니다!
해결되었습니다!!! 감사합니다 ㅠㅜ