그럼 지금 어떤 테스트들을 한거야? 자세하게 설명좀해줘
그리고 DB를 어떻게 들어갔어? -> 이거도 뭐한건지 자세히 설명해줘
아까 dev와 .env를 본 이유가 뭔지 자세하게 알려줘. 이게 목적이 뭔지
오전 5:02
1. 어떤 테스트를 한 거야?
목적: 구현한 검색 기능이 실제로 동작하는지 검증
테스트 1 — backfill 확인
sql
SELECT id, search_text FROM therapy_posts LIMIT 5;
V25 마이그레이션이 실행되면서 기존 게시글에 search_text가 채워졌는지 확인. 1번 게시글에 test post for notification 선택안함 이 들어있었으니까 마이그레이션은 정상 실행된 거예요.
테스트 2 — trigram similarity 동작 확인
sql
SELECT similarity(search_text, '감각통합') AS sim ...
GIN 인덱스가 실제로 유사도 점수를 계산하는지 확인. 처음엔 데이터가 영어뿐이라 0이 나왔고, 한국어 데이터 넣고 나서 0.178이 나와서 trigram이 정상 동작한다는 거 확인.
테스트 3 — 임계값 적정성 확인 0.178 > 0.03 임계값 → 검색 결과가 정상적으로 반환된다는 거 확인.
docker exec → 실행 중인 컨테이너 안에서 명령어 실행
-it → 터미널 입출력 연결 (interactive)
builders-db → 컨테이너 이름 (docker ps로 확인한 것)
psql → PostgreSQL 클라이언트 실행
-U builders → 유저명 builders로 접속
-d builders → builders 데이터베이스 선택
즉 Docker로 떠있는 PostgreSQL 컨테이너 안에 직접 들어가서 SQL을 날린 거예요.
앱 실행
→ Spring이 DB에 연결 시도
→ DB 연결 정보(URL, 계정)가 필요
→ 이 정보가 .env에 있음
→ .env가 안 읽히면 URL이 비어서 에러
dev를 확인한 이유
IntelliJ Run Configuration dev가 .env 파일을 자동으로 읽도록 설정돼 있어요. gradlew bootRun은 .env를 자동으로 못 읽기 때문에 'url' must start with "jdbc" 에러가 난 거예요.
결론
gradlew bootRun → .env 못 읽음 → DB URL 없음 → 에러
IntelliJ dev → .env 읽음 → DB URL 있음 → 정상 실행