웹 개발
데이터베이스 검색 기능 배포 전 점검법
데이터베이스 검색이 로컬에서는 잘 작동하는데 배포 후 실패하는 경우, 사전에 확인할 체크리스트입니다.
데이터베이스 검색 기능은 환경 차이에 민감하다. 로컬 개발 환경의 작은 데이터셋에서는 문제없던 쿼리가 프로덕션의 대규모 데이터에서는 느려지거나 실패할 수 있다.
먼저 확인할 것: 데이터베이스 연결
DATABASE_URL이 정확하게 설정되어 있는지 가장 먼저 확인해야 한다. 로컬과 프로덕션의 데이터베이스 주소, 사용자, 비밀번호가 다르면 검색이 전혀 작동하지 않는다.
프로덕션 환경 변수를 다시 한 번 확인하고, 필요하면 데이터베이스 관리자 페이지에서 직접 연결을 테스트해보자.
스키마와 마이그레이션 상태 확인
Prisma를 사용한다면 마이그레이션이 프로덕션에 제대로 적용되었는지 꼭 확인해야 한다.
npx prisma validate
npx prisma migrate status
이 명령으로 스키마가 현재 상태와 일치하는지, 적용되지 않은 마이그레이션이 있는지 확인한다. 검색에 필요한 인덱스가 생성되었는지도 중요하다.
실제 데이터로 검증하기
프로덕션 데이터는 로컬 개발 데이터와 형식이 다를 수 있다. 특히:
- 텍스트 인코딩 (UTF-8 vs 다른 인코딩)
- 특수 문자나 이모지 포함 여부
- NULL 값이 예상보다 많음
- 대소문자 구분 설정
이런 차이들이 검색 결과에 영향을 줄 수 있다.
배포 전 점검 순서
- DATABASE_URL이 올바른 환경을 가리키는가 — 프로덕션 DB 주소 확인
- 마이그레이션이 모두 적용되었는가 —
prisma migrate status로 확인 - 검색 인덱스가 생성되었는가 — 대규모 데이터에 인덱스가 필수
- 로컬 테스트 데이터와 프로덕션 데이터의 차이 — 특수 문자, 인코딩, NULL 값 등
- 배포 후 첫 검색 쿼리 재실행 — 실제 프로덕션 환경에서 확인
조용한 실패는 위험하니, 로그와 응답을 꼼꼼히 남겨두자.