// Prisma
- Object Relational Mapping(ORM)
- 데이터베이스와의 상호작용이 편리하다.
- DB의 모든 데이터 타입을 Prisma를 통해 정의하면 TypeScript가 지원되기 때문에 자동완성이 된다.
- 공식 사이트: https://www.prisma.io/
▪ 설치
npm install prisma
npx prisma init
▪ DB 설정
prisma init 까지 수행했다면 .env 파일과 prisma 폴더가 생겼을 것이다.
.env 파일에 DATABASE_URL 을 적어준다.(.gitignore에 추가 필수!)
DATABASE_URL=""
다음으로는 prisma 폴더 안의 shcema.prisma 파일에서 db의 provider를 사용하는 데이터베이스로 변경한다.
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
▪ schema 선언
model 모델명 {
컬럼명 자료형 옵션
}
- 옵션에는 @id, @default, @unique, @updatedAt 등으로 조건을 추가할 수 있다.
- 자료형 뒤에 ?를 붙이면 필수가 아니라는 의미이다. > ex: Int?
▪ 마이그레이션
npx prisma migrate dev
- DB 변경사항을 파악하기 위해 위 명령어 실행 후 이름을 입력한다.
- Prisma Client를 생성해준다.
▪ Prisma Client 활용
import { PrismaClient } from '@prisma/client';
const db = new PrismaClient();
const 변수명 = await db.생성한model명.create({
data: {
컬렴: 값,
},
});
const 변수명 = await db.생성한model명.findMany({
where: {
컬럼: {
contains: 값,
},
},
});
export default db;
- create: 데이터를 삽입한다.
- findMany-contains: 특정 값을 포함하고 있는 데이터들을 모두 반환한다.
▪ db 실행
npx prisma studio
- model과 그 안의 데이터를 확인할 수 있다.
'클라이언트 > Next.js' 카테고리의 다른 글
[Next.js] Cloudflare에 이미지 업로드하기 (0) | 2024.06.17 |
---|---|
[Next.js] 이미지 컴포넌트 사용하기 (0) | 2024.06.15 |
[Next.js] Zod를 사용하여 데이터 검증하기 (0) | 2024.05.15 |
[Next.js] 렌더링 과정 및 개념 (0) | 2024.05.07 |
[Next.js] 배포(Deploying) (0) | 2024.03.04 |