핵심은,
테이블들 중 하나가
orders테이블의 외래키인 status_id를 통해
제품 결제 진행상태에 따른 데이터들만 추출해서
JsonResponse 하면 되는 것이다.
1. 결제진행중
2. 결제완료
3. 배송준비중
즉, 위의 ERD구성도를 통해
장바구니창, 주문결제 창, 주문중인창 , 환불중인 창 등을 모두 구현할 수가 있다. (프론트엔드에서 각각의 페이지만 구현해준다면 말이다.)
테이블 중 하나가 반드시 장바구니 여야 한다는 고정관념에서 벗어나야 한다.
(즉, 테이블 이름이 orders라고 해도,
설사 그게 장바구니처럼 해석될 여지가 충분히 있다는 것을 이해하지만
장바구니를 의미하는 것이 아니다.)
commit log의 시간순 정리를 위해.
내가 브랜치로 빼 둔 걸
가장 최근의 마스터 이후로 시간이동을 하겠다( head를 최근으로 옮긴다는 것.)
하지만, 아직 그렇게 된 상태는 안 됨. (conflict는 날 수 밖에 없다.)
그 위력은 나중에 git log로 확인해보면 알 수 있음.
$ git checkout master
$ git rebase -i master feature브랜치명
git push
즉, git rebase는 내가 remote repo에서의 최신의 마스터를 pull했을 때 하는 것.
이미 최신버전을 가지고 있다면, 할 필요없음.
내 HEAD를 가장 최신의 마스터 바로 뒤에 놓기 위해 하는 것.
PICK은 시작 기준점.
S는 스쿼시
실습순서
팀원이 git push 및 PR 했고, merge가 된 상태.
내가 로컬 마스터로 브랜치 이동후,
git pull origin master
충돌이 일어나면 git add .
충돌 없으면 git rebase --continue