📝 PR 본문 (Body)
🎯 작업 목적
- RAG 파이프라인의 핵심인 **상향식(Bottom-up) 지식 트리 및 의존성 관계(Fan-in)**를 표현하는 PostgreSQL 17 + pgvector 기반 DB 스키마 설계
- 리눅스/로컬 개발 환경에서 도커 컨테이너 실행, 포트 포워딩, 방화벽 허용 및 스키마 자동 주입까지 원클릭으로 완료할 수 있는 인프라 실행 환경 구축
- 기획 및 개발 사양에 맞춰 전체 가이드 문서(README, GETTING_STARTED, 마스터 기능명세서)에 Python 3.12 및 React 19 환경 버전 규격 동기화
✨ 주요 변경 사항
🛠️ 리뷰 및 로컬 테스트 방법
리뷰어가 로컬 환경에서 다음과 같이 인프라 기동 및 스키마 자동 초기화 결과를 테스트할 수 있습니다.
- 브랜치 체크아웃:
git checkout feat/infra-and-db-setup
- PostgreSQL pg17 컨테이너 구동 (포트 포워딩):
# setup_env.sh 실행
sh CodeMap/scripts/setup_env.sh
# 5432 포트로 postgresql-17 컨테이너가 가동되는지 확인
docker ps
- 스키마 초기화 스크립트 구동:
# init_db.sh 실행 (pg_isready 대기 후 init.sql 주입)
sh CodeMap/scripts/init_db.sh
- 스키마 및 pgvector 생성 검증:
# 컨테이너 psql에 진입해 생성된 테이블 리스트 확인
docker exec -it postgresql-17 psql -U codemap -d codemap -c "\dt"
# pgvector 익스텐션 활성화 여부 확인
docker exec -it postgresql-17 psql -U codemap -d codemap -c "\dx"
📸 실행 결과 (선택)
init_db.sh 실행 시 콘솔 출력 결과:
데이터베이스 스키마 초기화가 성공적으로 완료되었습니다!
=============================================
⚠️ 리뷰어에게 당부하는 점
pgvector HNSW 인덱스 생성 및 코사인 유사도 검색용 인덱스 쿼리(vector_cosine_ops)가 init.sql에 올바르게 적용되어 있는지 검토해 주세요.
- 기존
.gitignore 변경으로 인해 scripts/ 폴더 내 다른 파일들이 예외 처리로 올라가지 않도록, /scripts/로 절대 경로 매핑을 한 부분이 정상 작동하는지 확인해 주세요.
Originally authored by smmini as PR #7
📝 PR 본문 (Body)
🎯 작업 목적
✨ 주요 변경 사항
.gitignore수정: python venv 규칙에 가려 무시되던 루트 level의/scripts/폴더를 예외 처리(!/scripts/)하여 형상 관리에 안전하게 포함시켰습니다.database/init.sql추가:vector익스텐션 활성화, 대용량 소스코드 원문 테이블(source_files), 코사인 유사도 검색용 청크 테이블(code_chunks), 파일 간의 import 참조 관계를 기록하는 의존성 테이블(file_dependencies) 설계 및 HNSW 인덱스 적용.scripts/setup_env.sh추가: PostgreSQL 17 + pgvector 컨테이너 기동 셸 스크립트. 기존 충돌 컨테이너 자동 제거, 볼륨 마운트,5432:5432포트 포워딩, 최대 커넥션(500) 및 TZ 설정 포함.scripts/init_db.sh추가:pg_isready를 활용해 DB 컨테이너가 준비될 때까지 대기 후init.sql스크립트를 자동 주입하는 초기화 셸 스크립트 구현.scripts/docker-compose.yml수정:docker run명령어와 동일하게 작동되도록 pg17 이미지 정보 및 DB 설정 1:1 매핑.README.md,GETTING_STARTED.md,CodeMap_Master_Specification.md에 Python v3.12 및 React v19.2 버전 요건 명시 및 동기화.🛠️ 리뷰 및 로컬 테스트 방법
리뷰어가 로컬 환경에서 다음과 같이 인프라 기동 및 스키마 자동 초기화 결과를 테스트할 수 있습니다.
# init_db.sh 실행 (pg_isready 대기 후 init.sql 주입) sh CodeMap/scripts/init_db.sh📸 실행 결과 (선택)
init_db.sh실행 시 콘솔 출력 결과:pgvectorHNSW 인덱스 생성 및 코사인 유사도 검색용 인덱스 쿼리(vector_cosine_ops)가init.sql에 올바르게 적용되어 있는지 검토해 주세요..gitignore변경으로 인해scripts/폴더 내 다른 파일들이 예외 처리로 올라가지 않도록,/scripts/로 절대 경로 매핑을 한 부분이 정상 작동하는지 확인해 주세요.Originally authored by smmini as PR #7