Loading...
Loading...
개발 DB에 SQL을 직접 실행하여 데이터를 조회하는 스킬. "DB 확인", "데이터 조회", "테이블 조회", "SQL 실행", "데이터 검증" 키워드로 트리거. AI 에이전트가 백엔드/프론트엔드 개발 중 개발 DB 데이터를 즉시 확인할 때 사용.
npx skill4agent add peachsolution/peach-harness peach-db-query⚠️ DML — 직접 실행이 필요합니다
─────────────────────
SQL: UPDATE [테이블] SET status = 'A' WHERE [테이블]_seq = 42;
대상: [테이블] 테이블
조건: PK 단건 (WHERE [테이블]_seq = 42)
확인용 SELECT:
SELECT * FROM [테이블] WHERE [테이블]_seq = 42;
실행 방법:
PGPASSWORD='[pw]' psql -h [host] -p [port] -U [user] -d [db] -c "위 SQL"
─────────────────────/peach-db-migrateenv.local.ymlenv.dev.ymlenv.prod.yml| OS | 전략 | 명령 |
|---|---|---|
| macOS | brew 직접 설치 (Docker 불필요) | |
| Linux | 패키지 매니저 | |
| Windows | Docker fallback | |
| OS | 전략 | 명령 |
|---|---|---|
| macOS | brew 직접 설치 (Docker 불필요) | |
| Linux | 패키지 매니저 | |
| Windows | Docker fallback | |
macOS에서 Docker 사용 금지 — brew가 훨씬 빠르고 이후에도 재사용 가능. Docker 이미지 최초 다운로드는 postgres:16 ~300MB, mysql:8 ~500MB로 불필요한 대기가 발생한다. 설치 상세 절차 및 PATH 설정 → cli-설치-가이드.md
uname -s # Darwin=macOS / Linux / MINGW64_NT=Windows# psql 확인
which psql && psql --version || echo "psql 없음"
# mysql 확인
which mysql && mysql --version || echo "mysql 없음"brew install libpq
echo 'export PATH="/opt/homebrew/opt/libpq/bin:$PATH"' >> ~/.zshrc && source ~/.zshrc
# 현재 세션 즉시 적용
export PATH="/opt/homebrew/opt/libpq/bin:$PATH"
psql --version # 설치 확인libpq keg-only 주의: brew가 libpq를 keg-only로 설치하므로 반드시 PATH에 추가해야 함. PATH 추가 없이실행 시 "command not found" 발생.psql등록으로 영구 적용 +~/.zshrc명령으로 현재 세션 즉시 적용.export
brew install mysql-client
echo 'export PATH="/opt/homebrew/opt/mysql-client/bin:$PATH"' >> ~/.zshrc && source ~/.zshrc
export PATH="/opt/homebrew/opt/mysql-client/bin:$PATH"
mysql --version # 설치 확인sudo apt-get install -y postgresql-client # PostgreSQL
sudo apt-get install -y mysql-client # MySQLDocker fallback은 Windows 전용. macOS/Linux는 CLI 설치가 간단하므로 Docker 사용 금지.
# Docker 설치 확인 (선행 필수)
docker --version && echo "Docker 사용 가능" || echo "Docker 없음 — CLI 직접 설치 필요"# URL의 특수문자는 인코딩 유지 (env.local.yml의 URL 그대로 사용)
docker run --rm postgres:16 psql \
"postgresql://[user]:[encoded_password]@[host]:[port]/[dbname]" \
-c "[SQL]" 2>/dev/null# -p'password' — 특수문자 포함 시 반드시 따옴표로 감싸기
docker run --rm mysql:8 mysql \
-h [host] -P [port] -u [user] -p'[password]' [dbname] \
-e "[SQL]" 2>/dev/null주의:은 Docker pull 진행 메시지를 숨긴다. 최초 실행 시 이미지 다운로드(postgres:16 ~300MB, mysql:82>/dev/null500MB)가 발생할 수 있다. 이후 실행은 캐시로 12초 내 시작된다.
grep "DATABASE_URL" api/src/environments/env.local.yml 2>/dev/null || \
grep "DATABASE_URL" api/env.local.yml 2>/dev/nullpostgresql://mysql://# 우선 탐색 경로
grep "db_host\|db_port\|db_dbname\|db_user\|db_password\|db_division" src/cfg/conf.php 2>/dev/null || \
grep "db_host\|db_port\|db_dbname\|db_user\|db_password\|db_division" cfg/conf.php 2>/dev/null || \
# fallback: 전체 탐색
find . -name "conf.php" | xargs grep -l "db_host" 2>/dev/null | head -1 | \
xargs grep "db_host\|db_port\|db_dbname\|db_user\|db_password\|db_division" 2>/dev/nulldb_division = 'pdo''mysqli'db_division = 'postgresql'postgresql://peach:peach%21%25%23@dev.mng.dien.co.kr:55432/peach
→ host=dev.mng.dien.co.kr, port=55432, user=peach, password=peach!%# (URL 디코딩), db=peach%21!%25%%23#PGPASSWORD='[password]' psql -h [host] -p [port] -U [user] -d [db] -c "[SQL]"mysql -h [host] -P [port] -u [user] -p'[password]' [db] -e "[SQL]" column1 | column2 | column3
---------+---------+---------
value1 | value2 | value3
(N rows)-xPGPASSWORD='...' psql ... -x -c "[SQL]"