망가진 로컬환경 고치기

2024년 3월 5일 화요일

Today I Learned

날짜

2024년 3월 5일 화요일

내용

스프린트 2일차

데이터베이스 모델링을 내가 처리하지 않았다. 하지만 이전에 이미 수 차례 회의를 통해 어떻게 작성할지 계획했기 때문에 이를 바탕으로 코드를 작성할 수 있었다. 이것저것 빠진 부분도 조금 있었지만 열심히 짜놓은 덕분에, 우선 기능 함수부터 편하게 구현할 수 있었다. 내일 테스트서버에 적용될 예정이니 pull 받아서 마이그레이션 하고 나면 본격적으로 함수를 테스트하고 완성할 수 있을 것 같다. 생각보다 너무 수월하게 잘되서 불안한데..

로컬환경

모처럼 이슈관리 하나를 맡아서 진행했다. 메일 템플릿의 미리보기가 뜨지 않는 문제였다. 내 로컬에 관련된 함수 내에 로깅문을 추가하였더니 아예 실행되지 않았다. 호출조차 되지 않는걸로 보아 무언가 잘못되었음을 느꼈다. 확인해본 결과 그동안 테스트 서버의 데이터베이스 에 연결해서 테스트하고 있어서 내 로컬 서버 코드가 돌아가지 않고 있었다. 로컬 프론트와 테스트서버의 백엔드가 연결되어 있었던 것. 놀란 가슴을 쓸어내리고 로컬로 연결을 바꿔 구동하고 로그인하니 로그인이 안됐다.

개발자도구 요청쪽에는 CORS 문제라고 뜨는데, 아무도 만진 적이 없는데… 이것저것 확인해본 결과 데이터베이스가 최신화가 안되있었다. 추가된 코드를 pull 해왔지만 그것에 맞게 마이그레이션을 하지 않아서 생긴 문제였다. 하필 추가된 필드가 로그인과 관련된 필드였고 이 부분이 내 로컬 데이터베이스에는 없으니 로그인이 안되고 있었다. 마이그레이션을 했더니 여전히 안됐다.

기존에 고객이 사용하고 있는 서비스를 표시하는 필드는 따로 관리됐다. is_review, is_ai 이런식으로 각각 boolean 값을 가지고 있었다. 이번 스프린트로 새로운 서비스를 추가하면서 이걸 jsonb 타입으로 하나의 필드에서 관리하도록 변경했다. 그리고 기존 필드는 삭제됐다. 기존에 표시되던 필드가 삭제되면서 누가 어떤 서비스를 이용하고 있는지 기록이 지워졌지만, 새롭게 생성한 필드에는 당연히 아무 값이 안들어있으니… 새로 생성된 필드에 임의로 표시해주는 데이터를 직접 넣어줬더니 다행히 작동됐다.

그런데, 왜 개발자도구에선 CORS 문제라고 떴던거지… 이 부분도 알아봐야겠다.

회고

슬랙에 분명 공유되었던 것이였는데, 그떄 하지 않으니 까먹고 안했다. 해야할 떄 바로하자.