본문 바로가기

Prisma6

[Prisma] 6. Pagination & Aggregation 앞으로 등장할 코드에서 prisma 변수는 const prisma = new PrismaClient() 를 의미합니다.mysql 사용 기준으로 작성되어 몇몇 기능 및 지원에 대한 내용이 없을 수 있습니다. PaginationPrisma Client는 offset pagination 과 cursor-based pagination 을 모두 지원합니다.1. Offset Pagination데이터베이스에서 데이터를 페이징할 때시작 지점(offset) 과 가져올 데이터 수(limit)를 기반으로 데이터를 가져오는 방식입니다. 주로 SQL 쿼리의 OFFSET 과 LIMIT을 사용합니다. 대부분의 데이터베이스가 LIMIT 과 OFFSET을 지원하며, 로직도 간단하게 구현할 수 있는 반면 OFFSET 값이 커질수록 성능.. 2025. 1. 18.
[Prisma] 5. Nested Queries 앞으로 등장할 코드에서 prisma 변수는 const prisma = new PrismaClient() 를 의미합니다.mysql 사용 기준으로 작성되어 몇몇 기능 및 지원에 대한 내용이 없을 수 있습니다.Nested Queries단일 Prisma Client 쿼리를 사용하여 여러 테이블의 데이터를 한 번에 생성, 업데이트 또는 삭제할 수 있도록 하며, 이 모든 작업이 트랜잭션으로 처리되도록 보장합니다.쉽게 말해, 여러 테이블 간의 관계를 처리할 때, 한 번의 요청으로 모든 관련 데이터를 안전하게 처리할 수 있습니다. 만약 작업 중 하나라도 실패하면, 전체 작업이 롤백되어 데이터의 일관성을 유지할 수 있습니다.관련 레코드 생성createMany()는 중첩된 관계를 처리하지 않고 단순히 여러 레코드를 생성할.. 2025. 1. 17.
[Prisma] 4. query filtering & sorting 앞으로 등장할 코드에서 prisma 변수는 const prisma = new PrismaClient() 를 의미합니다.mysql 사용 기준으로 작성되어 몇몇 기능 및 지원에 대한 내용이 없을 수 있습니다.Query Optionwhere : 필드 필터링- filters// equals: 값이 n 과 동일한 경우const result = await prisma.user.findMany({ where: { name: { equals: 'Eleanor' }, // or name: 'Eleanor' },});// not: 값이 n과 다른 경우await prisma.user.findMany({ where: { OR: [ { name: { not: 'Eleanor' } }, { na.. 2025. 1. 17.
[Prisma] 3. Prisma query 사용 (CRUD, query options) 앞으로 등장할 코드에서 prisma 변수는 const prisma = new PrismaClient() 를 의미합니다.mysql 사용 기준으로 작성되어 몇몇 기능 및 지원에 대한 내용이 없을 수 있습니다.Generated Typeprisma generate 명령어 실행 시 기본적으로 각 model type 이 생성되고 query 의 옵션, 필터, 입력값, 결과값 등등 여러가지 관련 type 또한 생성되어 필요한 경우 import 하여 사용할 수 있습니다.example// ex) UserCreateInputtype UserCreateInput = { name: string; email: string;};// generated type 사용 예시import { Prisma } from "@prisma/.. 2025. 1. 14.
[Prisma] 2. Prisma Model 디테일 mysql 사용 기준으로 작성되어 몇몇 기능 및 지원에 대한 내용이 없을 수 있습니다. Model 설명데이터 모델은 애플리케이션의 주요 개념(예: 사용자, 게시글, 댓글 등)을 표현하는 객체가 되며 데이터베이스의 테이블에 매핑됩니다. 데이터 모델은 Prisma가 자동으로 생성하는 Prisma Client API의 기반이 되어 해당 모델에 대한 CRUD 쿼리 제공 및 자동으로 타입을 정의합니다.모델 생성 Prisma 에서 데이터 모델을 생성하는 방법 2가지Introspection : 현재 DB 내용을 기준으로 데이터 모델 생성Model Definition : 데이터 모델을 수동으로 작성하고 DB 에 업데이트1. IntrospectionPrisma CLI 를 사용하여 데이터베이스를 내부적으로 조사하여 Pri.. 2025. 1. 12.
[Prisma] 1. Prisma 란 무엇인가? mysql 사용 기준으로 작성되어 몇몇 기능 및 지원에 대한 내용이 없을 수 있습니다.설명Prisma는 데이터베이스와 상호작용하기 위한 현대적인 ORM(Object-Relational Mapping) 도구입니다. TypeScript 및 JavaScript와 함께 주로 사용되며, 간단하고 타입 안전한 방식으로 데이터베이스 작업을 처리할 수 있도록 도와줍니다. Prisma는 스키마 정의, 데이터베이스 마이그레이션, 데이터 쿼리 및 관리에 초점을 맞춘 풀스택 개발자 도구입니다.prisma 의 컨셉 및 장점객체 관점: 관계형 데이터를 매핑하는 대신 객체 지향적으로 처리.함수형 쿼리: 복잡한 모델 객체 대신 함수 기반 쿼리 사용.단일 진실 소스: 데이터베이스와 애플리케이션 모델의 단일화된 관리.건강한 제약 조건:.. 2025. 1. 11.