본문 바로가기

Backend/실수 일기

231019의 실수 일기 (안쓰는 컬럼 지우기)

나는 백엔드 개발자 10개월차이다.

하지만 오늘 이전에 없던 실수를 저질러버린 ㅠ.ㅠ 

 

상황은 다음과 같다. 

FE팀에서 API 정리 목록 요청이 들어와서, API 호출 테스트 + 정리 겸 필요 없는 테이블의 컬럼을 삭제하고자 하였다. 

 

지금 상황에서는 이 컬럼을 안쓰겠지~하고 DEV와 PROD DB에서 안쓰는 컬럼을 정리하였는데 

맙소사. 홈페이지에 팝업이 뜨지 않았다. 500 에러를 내뿜으며 데이터는 감감 무소식.. 팝업은 틀만 나오는 상황.

 

이건 큰일났다 하며 부랴부랴 다시 삭제했던 컬럼을 원복하고, QA팀에서 슬랙 언급되고, 20~30분 안의 상황이 어떻게 흘러가는지도 몰랐다. 

 

팀장님의 임시 조치 방법은 isActive=false로 하여 현재 떠있는 팝업을 아예 지우자고 한 것. 

그래서 isActive=false로 모두 처리하고, 프론트에서도 팝업이 아예 안뜨도록 도와주었다. 

 

그렇게 시간이 흐르고, 나는 문제를 해결하였다. 

 

그럼 나는 어떤 것이 문제였을까? 

1. 해당 컬럼에 잡혀있던 연관관계를 생각하지 않고, 그저 안쓴다는 이유만으로 컬럼을 지워버린 것 

2. DEV-QA 환경에서 컬럼 지운 것을 먼저 테스트하고, 운영 PROD 환경에서도 똑같이 적용하는지 넘어갔어야 하는데 그저 DEV DB와 운영 DB에서만 컬럼을 지워버림 

 

고쳐야 할 부분 

1. 해당 entity의 컬럼이 지금은 안쓰더라도 > 다른 어디선가 쓰이고 있는지 확인하고 컬럼 지우기

2. 해당 컬럼에 잡힌 연관관계를 먼저 보고, 해당 연관관계가 잡힌 곳까지 보고 작업하기 였다. 

 

잠깐동안이나 세상이 노래졌으나, 문제 해결 후에 안도의 한숨을 쉬며

문제해결하느라 고생했다는 팀원들의 응원과 앞으로 컬럼을 지울때 어떻게 하면 좋을지 조언까지 곁들여줘서 정말 감사한 팀에 있다고 생각했다. 

 

앞으로 이 실수를 통해 마음가짐을 달리 하고, 한층 더 성장하는 백엔드 개발자가 되고 싶다.