ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Prisma에 대해
    프론트엔드 2025. 8. 15. 18:43

    Prisma란 

    - prisma란 차세대 ORM 도구이다.

    ORM?데이터베이스 데이터를 객체처럼 다루는 기술이다. 

    -> 원래 데이터 베이스에 직접 접근할 때는 SQL문을 사용해서 가져와야 한다.

    SELECT id, name, email FROM "User" WHERE id = 1;

    -> 하지만 prisma ORM을 사용하면 객체 형태로 데이터를 조회가 가능하다. 

    const user = await prisma.user.findUnique({
    where: { id: 1 },
    });
    console.log(user.name);

     

    정리 

    - ORM은 데이터베이스 테이블을 객체로 연결해, SQL을 직접 사용하지 않고 데이터를 객체처럼 다룰수 있게 해준다. 

     

    Prisma가 하는일 

    prisma client
    - schema.prisma에 정의한 모델을 기반으로, postgreSQL이나, Javascript/typescript를 객체처럼 다룰 수 있게 해주는 코드를 자동으로 만들어줌 

    명령어 
    - npx prisma genertate -> npm 사용시 

    주의사항 ⚠️
    - 만약 schema.prisma에 데이터가 변경시 -> 꼭 genertate를 해줘야 한다 

     

    prisma migrate
    - 데이터베이스 구조(스키마)를 코드로 관리
    - schema.prisma 에서 모델 구조를 정의하고, npx prisma migrate dev 를 실행하면 DB에 해당 구조를 반영하는 SQL이 자동 생성되고 실행됨.

     

    prisma stuido
    - npx prsima studio를 활용하면 브라우저 기반 db를 조회할 수 있다. 

     

    prisma CRUD

    import { PrismaClient } from '@prisma/client';
    const prisma = new PrismaClient();

    // CREATE
    const user = await prisma.user.create({
    data: {
    name: '현돈',
    email: 'hyundon@example.com',
    },
    });

    // READ
    const allUsers = await prisma.user.findMany({
    include: { posts: true },
    });

    // UPDATE
    await prisma.user.update({
    where: { id: 1 },
    data: { name: '변경된 이름' },
    });

    // DELETE
    await prisma.user.delete({
    where: { id: 1 },
    });

     

Designed by Tistory.