Hansel

연극 프로젝트/ 배포 본문

웹/Django

연극 프로젝트/ 배포

핑슬 2022. 2. 4. 22:21

이 토이 프로젝트는 2021년 8월에 장고를 공부하고 나서 배운 것들을 완전히 내것으로 만들자는 의도로 시작되었던 프로젝트 입니다.

배포에 대해서는 3가지 방법(우분투, 헤로쿠, 도커)을 배웠었지만 어느것 하나 솔직히 완벽한 상태는 아니었습니다.

 

우분투와 도커를 통해 배포를 시도했지만 도커의 경우 가상환경을 도커 컨테이너에 같이 올려서 상당히 느린 퍼포먼스를 보여주었습니다.

 

우분투의 경우 데이터베이스에서 쿼리 문제가 생겼었는데 이는 다음과 같습니다.

 

당시엔 이게 뭐때문에 일어난 일인지 전혀 몰랐지만 sql을 공부하고 추후에 포스트그레스 db와 연동을 시켜 조회를 해보니 저기서 문제가 되는 divison_team의 id, 즉 pk가 null인 상태였습니다.

분명히 모델을 작성할땐 pk가 자동으로 증가하는 방식인 IntegerFiled의 primary_key = true를 해줬는데 왜 안되나 싶었습니다.

 

정확한 발생 원인은 찾지 못했지만 sql을 배우고 나니 저 방식은 단순히 null로 설정이 된 pk들에 차례대로 pk를 대입시키도록 쿼리를 날려주면 되는 일이란걸 알았습니다.

 

CREATE SEQUENCE 테이블_id_seq;
ALTER TABLE 테이블 ALTER COLUMN id SET DEFAULT nextval('테이블_id_seq');

 

이러한 sql 문을 포스트그레스db를 통해 날려주니 해결이 되었고 저 에러 또한 사라졌습니다.

 

지금와서 다시 이 프로젝트의 과정을 보면 정말 무모하고 단계도 없이 진행되었기 때문에 추후에 할 프로젝트에선 어떤식으로 진행해야 할지 감을 잡는 계기가 되기도 하였고 sql과 db에 대한 이해도가 얼마나 중요한지 또한 깨닫게 되는 계기였습니다.