hufscheer / spectator-server

7 stars 0 forks source link

[FIX] 타임라인 존재 시에도 경기 삭제 가능 #289

Open Zena0128 opened 3 weeks ago

Zena0128 commented 1 week ago
Zena0128 commented 1 week ago

잘 되는 줄 알았는데.... game progress 타임라인만 존재하면 잘 되는데 교체나 득점 타임라인 존재 시 여전히 오류나네용,,

Zena0128 commented 1 week ago

교체, 득점 타임라인도 LineupPlayer와 갖는 fk 때문에 발생하는 오류여서 원래 있던 관련 제약조건들 다 drop 후

ALTER TABLE timelines
ADD CONSTRAINT FK_TIMELINES_ON_ORIGIN_LINEUP_PLAYER FOREIGN KEY (origin_lineup_player_id) REFERENCES lineup_players(id) ON DELETE CASCADE;

ALTER TABLE timelines
ADD CONSTRAINT FK_TIMELINES_ON_REPLACED_LINEUP_PLAYER FOREIGN KEY (replaced_lineup_player_id) REFERENCES lineup_players(id) ON DELETE CASCADE;

ALTER TABLE timeliness
ADD CONSTRAINT FK_TIMELINES_ON_SCORER FOREIGN KEY (scorere_id) REFERENCES lineup_players(id) ON DELETE CASCADE;

쿼리 실행하니 서비스 상에서는 잘 되어여 @OnDelete가 다 먹지 않았던 듯 합미당

다만 테스트코드에서는 자꾸 제약조건이 걸려 실패하는디... 아직 캐시때문에 제대로 업데이트가 안 된 것인지..? 확인 필요

Zena0128 commented 1 week ago

생각해보니 테스트코드는 테스트디비 위에서 돌아가서 그랬겠군여,,, 근데 테스트디비에 제약조건 어케 거는지는 잘 몰라서 회의 때 마저 얘기해보면 좋겠습니당 ㅠ