# SAM API 저장소 작업 현황 ## 2025-09-30 (월) - DB 연결 환경변수 오버라이딩 설정 ### 주요 작업 - 로컬/Docker 환경 DB 연결 오버라이딩 설정 ### 수정된 파일 #### 환경 설정 - `.env` (라인 29) - DB_HOST 로컬 설정 (127.0.0.1) - 기존: `DB_HOST=${DB_HOST:-mysql}` (환경변수 파싱 오류) - 변경: `DB_HOST=127.0.0.1` (로컬 MySQL 컨테이너 접근) - Docker 환경은 docker-compose.yml에서 자동 오버라이드 ### 작업 내용 #### DB 연결 오류 해결 **문제**: - `.env` 파일의 `${DB_HOST:-mysql}` 형식이 Laravel에서 리터럴 문자열로 인식 - 에러: `php_network_getaddresses: getaddrinfo for ${DB_HOST failed` **해결**: 1. `.env`: `DB_HOST=127.0.0.1` (로컬 기본값) 2. `docker-compose.yml`: 환경변수 `DB_HOST=mysql`로 오버라이드 3. 로컬/Docker 모두 정상 연결 확인 #### 환경변수 오버라이딩 구조 **로컬 실행 시** (`php artisan serve`): - `.env`의 `DB_HOST=127.0.0.1` 사용 - 호스트에서 MySQL 컨테이너 포트 3306으로 직접 접근 **Docker 컨테이너 실행 시**: - docker-compose.yml 환경변수가 `.env` 값을 오버라이드 - `DB_HOST=mysql`로 컨테이너 간 통신 - `samnet` 네트워크를 통한 내부 DNS 해석 ### 품질 검증 - ✅ 로컬 DB 연결: `php artisan tinker` 정상 작동 - ✅ Docker DB 연결: 컨테이너 내부 연결 확인 - ✅ 마이그레이션: `php artisan migrate:status` 성공 - ✅ Tinker 테스트: `DB::connection()->getPdo()` 성공 ### 현재 상태 - ✅ API 서버 정상 작동 - ✅ 로컬/Docker DB 연결 안정화 - ✅ Swagger 문서 정상 접근 가능 - ⚠️ Parameter-based BOM 파일들 untracked 상태 (개발 진행 중) ### 참고사항 - API는 DB 스키마 관리 주체이므로 모든 마이그레이션은 API에서만 실행 - Admin/Front는 데이터 CRUD만 가능, 테이블/컬럼 작업 금지 --- **업데이트**: 2025-09-30 23:30 KST