주문 API가 배송 정보 입력, 주문 상품 입력 등을 하나의 트랜잭션으로 처리하지 않아,
중간에 주문이 실패해도 데이터의 일관성이 유지되지 않았습니다.
올바른 테스트를 위해 데이터베이스의 데이터를 수동으로 삭제하던 중 다음과 같은 에러를 만났습니다.
❗ 원인
메시지에서 외래키 제약 조건에서 참조된 테이블을 TRUCATE 할 수 없다고 안내하고 있습니다.
❗ 해결 방법
TRUNCATE를 할 때 외래키 제약 조건을 해제하는 방법으로 문제를 해결할 수 있습니다.
-- 외래키 비활성화
SET FOREING_KEY_CHECKS = 0;
-- 삭제 명령
TRUNCATE order_item
-- 외래키 활성화
SET FOREIGN_KEY_CHECKS = 1;
반드시 외래키 제약 조건을 다시 활성화하는 것을 잊지 말아야 합니다.
비슷한 문제를 겪으신 분께 이 글이 도움이 되었으면 좋겠습니다.
글을 끝까지 읽어주셔서 감사합니다!
틀린 내용은 댓글로 지적 부탁드립니다.
'프로젝트' 카테고리의 다른 글
[CORS] 내 요청은 왜 차단될까? (0) | 2024.12.24 |
---|---|
[What To Do] JWT 인가 미들웨어 제작하기 (0) | 2024.10.16 |
[서점 프로젝트] 서브 쿼리를 이용한 평점 업데이트 (1) | 2024.10.08 |
[서점 프로젝트] Offset 페이지네이션 (2) | 2024.10.07 |
[서점 프로젝트] 줄거리 설명 컬럼의 자료형 고민 (0) | 2024.10.04 |