Siul49

verify-database-layer

0
0
# Install this skill:
npx skills add Siul49/skill-pack --skill "verify-database-layer"

Install specific skill from multi-skill repository

# Description

Repository, CRUD 경로, 스키마 가정, 쿼리 안전성을 검증합니다.

# SKILL.md


name: verify-database-layer
description: Repository, CRUD 경로, 스키마 가정, 쿼리 안전성을 검증합니다.


데이터베이스 레이어 검증

활성화 조건

  • verify-implementation 파이프라인에서 자동 호출
  • manage-skills가 Repository/DB 관련 변경 감지 시 등록

검증 대상 파일 패턴

  • **/repositories/**, **/repos/**
  • **/models/**, **/entities/** (DB 모델)
  • **/migrations/**, **/seeds/**
  • **/prisma/**, **/drizzle/**, **/typeorm/**
  • **/*.sql

워크플로우

Step 1: 변경된 DB 관련 파일 수집

Repository, 모델, 마이그레이션 파일에서 변경사항을 식별한다.

Step 2: 스키마 정합성 검사

검사 항목 PASS 기준 FAIL 기준
모델-마이그레이션 일치 모델 정의와 마이그레이션이 동기화됨 모델에 필드 추가했으나 마이그레이션 없음
필수 필드 기본값 NOT NULL 필드에 기본값 또는 마이그레이션 데이터 처리 NOT NULL 추가 시 기존 데이터 미고려
인덱스 존재 조회 조건 컬럼에 인덱스 정의 WHERE/JOIN 대상 컬럼에 인덱스 없음
FK 관계 일관성 외래 키 관계가 양쪽 모델에서 정의 한쪽만 관계 설정

Step 3: 쿼리 안전성 검사

검사 항목 PASS 기준 FAIL 기준
SQL 인젝션 방지 파라미터 바인딩 사용 문자열 연결로 쿼리 생성
N+1 쿼리 방지 관계 데이터 조회 시 JOIN/include 사용 루프 안에서 개별 쿼리 실행
페이지네이션 존재 목록 조회에 limit/offset 또는 커서 전체 데이터 무제한 조회
트랜잭션 사용 다중 쓰기에 트랜잭션 적용 여러 테이블 수정 시 트랜잭션 없음

Step 4: CRUD 경로 완전성 검사

검사 항목 PASS 기준 FAIL 기준
Repository 메서드 사용처 정의된 메서드가 실제 호출됨 미사용 Repository 메서드 존재
Soft delete 일관성 soft delete 사용 시 조회에서 필터링 삭제된 데이터가 일반 조회에 포함
감사 필드 createdAt/updatedAt 자동 관리 수동 관리 또는 누락

Step 5: 결과 보고

## 데이터베이스 레이어 검증 결과

| # | 상태 | 검사 항목 | 파일:라인 | 설명 |
|---|------|-----------|-----------|------|
| 1 | PASS/FAIL | 항목 | `path:line` | 상세 |

### 요약: PASS N건 / FAIL N건

예외

  • 인메모리 DB (SQLite 테스트용)
  • ORM 자동 생성 마이그레이션 (수동 수정 불필요)
  • 읽기 전용 외부 DB 연동 (스키마 변경 권한 없음)

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.