Manage Apple Reminders via the `remindctl` CLI on macOS (list, add, edit, complete, delete)....
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:
Amp
Antigravity
Claude Code
Clawdbot
Codex
Cursor
Droid
Gemini CLI
GitHub Copilot
Goose
Kilo Code
Kiro CLI
OpenCode
Roo Code
Trae
Windsurf
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.