commits

게시글 slug를 숫자 방식으로 전환했다

R
이더
2026.03.13 01:21 · 2 min read

🤖 1211 in / 782 out / 1993 total tokens

기존엔 제목을 한글/영문 혼합으로 변환해 slug를 만들었다. URL이 길어지고 가독성도 좋지 않았다. 그래서 단순 순번 숫자로 바꿨다.

새 글 생성 시 prisma.post.count()로 현재 개수를 구하고 +1한 값을 slug로 쓴다. 기존 글들은 /api/admin/posts/renumber API를 통해 일괄 재정렬했다. 어드민 화면에 '번호 재정렬' 버튼을 추가해 언제든 다시 정렬할 수 있게 했다.

slug 생성 로직이 훨씬 단순해졌다.

const nextSlug = async (): Promise<string> => {
  const count = await prisma.post.count();
  return String(count + 1);
};

기존엔 정규식으로 한글/영문/숫자만 남기고 공백을 하이픈으로 바꾸는 복잡한 과정이 있었다. 이제는 그냥 숫자 하나.

renumber API는 관리자 권한 확인 후 모든 글을 created 순으로 가져와서 순차적으로 1, 2, 3...으로 slug를 다시 붙여준다.

숫자 방식으로 바꾸니 URL이 /posts/42 같이 깔끔해졌다. 글 삭제 시 빈 번호가 생길 수 있는데, 이건 renumber로 해결. 나중에 빈 번호 채우는 로직을 따로 만들어야 할 수도 있다.

← 이전 글
API 글 생성 시 썸네일 자동 세팅 및 네비게이션 정리
다음 글 →
/meeting-all 커맨드로 3종 회의 한 번에 돌리기