“이 기능 있으면 좋을 것 같아요”…
기능의 구현이 끝나고 나서 들은 의견, 게시판 POST Request를 하면서,
자동으로 게시글의 넘버가 생성되어 기록 되었으면 좋겠다.
그렇게 시작 된 게시글 번호 자동생성.
먼저 해당 기능을 구현하기 위한 모듈 혹은 라이브러리가 있는지 확인했다. 다행히 mongoode-auto-increment 모듈이 있어 손쉽게 자동 카운트 되는 데이터를 만들 수 있다고 한다.
먼저 해당 모듈을 npm 설치 후 import && require 코드를 만들어 주고, 내부에 중복데이터로 변한 postsId 값도 변형시켜주었다, 내 기능에 맞도록 이리저리 변수명을 수정하고 이리저리 뚝딱 뚝딱 하고 음.. 이제 되는지 좀 볼까하고 git 커밋 후에 자동 배포상태로 있는 클라이언트를 종료하고 잘 진행되고 있었는데 …. 어?
terminal 에서 왜 인지 모듈 설치 부터 오류가 나기 시작한 것… 설치 이름을 잘 못 넣었나? 하고 이름을 확인했으나 잘 설치했고, 그때 부터 시작된 디버그 릴레이. 아까 분명히 에러코드 없이 깔끔한 VSCODE 터미널도 왜 인지 모를 새빨간 Warning👹 을 출력하기 시작한다. 에러메세지를 읽고 schemas 쪽 문제인 것 같아 임포트 코드나 익스포트 코드를 잘못 입력해서 그런가보다 하고 하나 하나 찾아보는데 크게 문제는 없다.
그렇게 시간이 흐르고 에러코드를 자세히 보니 Version 이야기가 보이기 시작. mongoose 와 해당 모듈의 버전이 맞지 않다고 하는것을 확인 다른 모듈을 찾을 생각도 못하고 mongoose를 다운그레이드 하는 최악의 선택을 하였다.
계속 뿜어내던 에러코드는 해결이 되었는데 이번엔 다른 모듈과 기능에서 에러코드가 역류하기 시작해서 망했네…. 싶어 팀원에게 지금 겪는 문제를 이야기하니 왠걸 나랑 똑같은 증상을 겪고 있는것,,,,
구글링을 시작하다 발견한 최신글 하나
사용하던 모듈이,,, 업데이트가 멈춘 엄청 옛날 라이브러리인것, 그래서 아까 버전문제가 발생한 것이었다.
이미 너무 많이 코드를 수정해서 깃헙에 history를 뒤져 모듈 설치전의 옛 커밋을 불러와 작업을 처음부터 다시 시작하였다. commit history를 뒤져서 롤백하는 경험은 처음이었는데, 이래서 히스토리 관리와 브랜치 관리가 정말 중요하다는 것을 느낀 순간이었고, 구글링이나 기술 블로그들을 참조 할때는 게시글의 날짜를 잘 확인해보아야한다고 기억에 심어두었다.
해당 모듈은 mongoose-sequence 라는 모듈로 자동으로 설정한 시퀀스 요소의 num을 자동으로 카운트 해주는 고마운 녀석이다 .
작업은 처음부터 해당 모듈의 require 코드를 넣어주고
plugin 입력 및 내 코드에 맞는 변수명들고 변경
기존 코드는 자동 카운트시 쓸모없게 되어 주석처리 (혹시모르니)로 진행하니 코드가 잘 작동하여
코드가 정상적으로 잘작동 하는 것을 확인했다.
옛날 정보를 가지고 오히려 해결책이될 수 있겠지만, 항상 최신의 정보를 가지고 업무를 진행해야한다.
조심하자..
아니 근데 처음에는 왜 작동했던거야…