해결된 질문
작성
·
355
0
안녕하세요.
강의 듣고 조금씩 변형해가면서 연습하고 있습니다.
User와 Follow 모델을 참고해서
User와 UserRealation (판매자-구매자 관계)를 작성했습니다.
판매자가 구매자를 등록하는 (팔로워 등록과 유사)간단한 API는 이렇고요,
이걸 실행하면 라우트에서
이렇게 처리하는 방식입니다.
tester1이라는 판매자 아이디로 로그인해서 tttt라는 구매자를 등록하는 과정인데
제 생각으로는
이렇게 해야 providerId : tester1, customerId: tttt 이렇게 들어갈것 같은데
실제로 sql에서 까보면 반대로 들어가있습니다.
그래서
이렇게 해야 제가 의도한대로 들어가는데..
customer에 addcustomer로 providerId를 넣는다는게 좀 이해가 안되서 헷갈리네요.
(req.body를 까보면 providerId: tester1, customerId: tttt로 잘 받아왔습니다.)
처음에는
이렇게 했다가 강의에있는 User모델 보고
이렇게 바꿔놓은건데도 동일하게 작동합니다.
SQL도 잘 못하긴 하지만 그냥 SQL INSERT문으로 생각하면 간단한데 시퀄라이즈 모델 개념이 부족해서 너무 헷갈리네요..
답변 2
1
0
CREATE TABLE IF NOT EXISTS `Users` (`id` VARCHAR(30) NOT NULL UNIQUE , `password` VARCHAR(100) NOT NULL, `company` VARCHAR(20) NOT NULL, `name` VARCHAR(10), `phone` VARCHAR(20), `email` VARCHAR(20), `role` VARCHAR(15) NOT NULL DEFAULT 'NOVICE', `createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_general_ci;
Executing (default): SHOW INDEX FROM `Users` FROM `excuse-moa`
Executing (default): CREATE TABLE IF NOT EXISTS `UsersRelation` (`createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NOT NULL, `providerId` VARCHAR(30) , `customerId` VARCHAR(30) , PRIMARY KEY (`providerId`, `customerId`), FOREIGN KEY (`providerId`) REFERENCES `Users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (`customerId`) REFERENCES `Users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_general_ci;
Executing (default): SHOW INDEX FROM `UsersRelation` FROM `excuse-moa`
테이블 drop한다음에 서버끄고 다시 하니까 이번엔 의도한대로 작동하네요.. 😅😯
답변 감사드립니다.....