콘텐츠로 이동

공유 패키지 및 예시

출처 URL: https://docs.prisma.io/docs/orm/prisma-client/client-extensions/extension-examples

마크다운 복사열기

Prisma와 커뮤니티가 구축한 Prisma Client 확장을 살펴보세요.

다음은 Prisma에서 만든 확장 목록입니다:

ExtensionDescription
@prisma/extension-read-replicasPrisma Client에 읽기 복제본 지원을 추가합니다

다음은 커뮤니티에서 만든 확장 목록입니다. 직접 패키지를 만들고 싶다면 Shared Prisma Client extensions 문서를 참고하세요.

ExtensionDescription
prisma-extension-supabase-rlsPrisma에서 Supabase Row Level Security를 지원하도록 추가합니다
prisma-extension-barkPrisma에서 트리 구조를 쉽게 생성하고 상호작용할 수 있도록 Materialized Path 패턴을 구현합니다
prisma-cursorstream커서 기반 스트리밍을 추가합니다
prisma-gpt자연어로 데이터베이스를 쿼리할 수 있게 해줍니다
prisma-extension-caching복잡한 쿼리를 캐시하는 기능을 추가합니다
prisma-extension-cache-manager모든 cache-manager 호환 캐시로 모델 쿼리를 캐시합니다
prisma-extension-random데이터베이스에서 임의의 행을 쿼리할 수 있게 해줍니다
prisma-paginate읽기 쿼리 페이지네이션 지원을 추가합니다
prisma-extension-streamdalStreamdal을 사용한 코드 네이티브 데이터 파이프라인 지원을 추가합니다
prisma-rbac사용자 정의 가능한 역할 기반 접근 제어를 추가합니다
prisma-extension-redisRedis 및 Dragonfly Databases를 사용해 효율적인 캐싱과 캐시 무효화를 위해 설계된 확장형 Prisma 확장입니다
prisma-cache-extensionRedis로 캐시 및 캐시 무효화를 수행하는 Prisma 확장(다른 스토리지 옵션도 지원 예정)
prisma-extension-caslCASL을 활용해 대부분의 단순/중첩 쿼리에 권한 부여 로직을 적용하는 Prisma 클라이언트 확장입니다.
prisma-emitter-extension설정 가능한 리스너를 기반으로 CRUD 작업 시 이벤트를 발행하는 Prisma 확장입니다.

확장을 만들었고 여기에 소개되길 원한다면 pull request를 열어 목록에 자유롭게 추가해 주세요.

다음 예시 확장은 예시 용도로만 제공되며 어떠한 보증도 없습니다. 여기 문서화된 접근 방식을 사용해 Prisma Client 확장을 만드는 방법을 보여주기 위한 것입니다. 자체 확장을 만들 때 영감을 얻기 위한 참고 자료로 활용하는 것을 권장합니다.

ExampleDescription
audit-log-contextPostgres 감사 로그 트리거에 컨텍스트로 현재 사용자 ID를 제공합니다
callback-free-itx콜백 없이 대화형 트랜잭션을 시작하는 메서드를 추가합니다
computed-fields결과 객체에 가상/계산 필드를 추가합니다
input-transformation결과 집합을 필터링하기 위해 Prisma Client 쿼리에 전달된 입력 인수를 변환합니다
input-validationmutation 메서드에 전달된 입력 인수에 사용자 정의 검증 로직을 실행합니다
instance-methods결과 객체에 save()delete() 같은 Active Record 스타일 메서드를 추가합니다
json-field-typesJSON 컬럼에 저장된 데이터에 대해 강타입 런타임 파싱을 사용합니다
model-filters모델의 복잡한 where 조건으로 조합할 수 있는 재사용 가능한 필터를 추가합니다
obfuscated-fields민감한 데이터(예: password 필드)가 결과에 포함되지 않도록 방지합니다
query-loggingPrisma Client 쿼리를 간단한 쿼리 시간 측정 및 로깅으로 래핑합니다
readonly-client읽기 작업만 허용하는 클라이언트를 생성합니다
retry-transactions지수 백오프와 지터를 적용한 트랜잭션 재시도 메커니즘을 추가합니다
row-level-securityPostgres 행 수준 보안 정책을 사용해 멀티 테넌트 애플리케이션의 데이터를 격리합니다
static-methodsPrisma Client 모델에 사용자 정의 쿼리 메서드를 추가합니다
transformed-fields결과 확장을 사용해 쿼리 결과를 변환하고 앱에 i18n을 추가하는 방법을 보여줍니다
exists-method모든 모델에 exists 메서드를 추가하는 방법을 보여줍니다
update-delete-ignore-not-found 모든 모델에 updateIgnoreOnNotFounddeleteIgnoreOnNotFound 메서드를 추가하는 방법을 보여줍니다.