study/nodejs

Prisma 시작하기: 설치부터 첫 번째 데이터베이스 연결까지

octo54 2025. 3. 12. 11:58
반응형

Prisma 시작하기: 설치부터 첫 번째 데이터베이스 연결까지

Prisma ORM을 사용하면 데이터베이스와 상호작용하는 코드를 더 안전하고 효율적으로 작성할 수 있습니다.
이번 글에서는 Prisma를 설치하는 방법부터 데이터베이스를 연결하고, 첫 번째 Prisma Client를 생성하는 과정까지 차근차근 알아보겠습니다.


1. Prisma 설치 및 프로젝트 초기화

Prisma를 사용하려면 먼저 Node.js 환경이 필요합니다.
아래 명령어를 실행하여 Prisma 패키지를 설치하고 프로젝트를 초기화할 수 있습니다.

🔹 1.1 Node.js 프로젝트 생성

mkdir my-prisma-app && cd my-prisma-app
npm init -y

이 명령어는 my-prisma-app 디렉터리를 생성하고, 기본 package.json 파일을 만듭니다.

🔹 1.2 Prisma 패키지 설치

다음으로 Prisma CLI와 Prisma Client를 설치합니다.

npm install prisma --save-dev
npm install @prisma/client
  • prisma: 데이터베이스 관리를 위한 CLI 툴
  • @prisma/client: Prisma가 자동 생성하는 데이터베이스 클라이언트

2. 데이터베이스 설정 및 Prisma 초기화

Prisma를 사용하려면 데이터베이스를 설정해야 합니다.
이 예제에서는 SQLite를 사용하지만, PostgreSQL, MySQL 등도 지원됩니다.

🔹 2.1 Prisma 초기화

아래 명령어를 실행하면 prisma 폴더가 생성되고, schema.prisma 파일이 자동으로 생성됩니다.

npx prisma init

📂 프로젝트 구조

my-prisma-app/
 ├── node_modules/
 ├── prisma/
 │   ├── schema.prisma  # Prisma 설정 파일
 │   ├── migrations/     # 마이그레이션 파일 저장
 ├── .env               # 환경 변수 파일 (데이터베이스 설정 포함)
 ├── package.json
 ├── package-lock.json

🔹 2.2 데이터베이스 설정

Prisma는 .env 파일을 사용하여 데이터베이스 연결 정보를 저장합니다.

📌 .env 파일 수정 (SQLite 예제)

DATABASE_URL="file:./dev.db"
  • SQLite: 로컬 파일 기반 데이터베이스
  • PostgreSQL / MySQL / SQL Server 사용 시 해당 DB 연결 문자열을 입력

📌 PostgreSQL 예제

DATABASE_URL="postgresql://user:password@localhost:5432/mydatabase"

3. Prisma 스키마 정의하기

이제 prisma/schema.prisma 파일을 수정하여 데이터 모델을 정의합니다.

🔹 3.1 기본적인 User 모델 정의

schema.prisma 파일을 열어 다음과 같이 수정합니다.

generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "sqlite"  // 사용할 데이터베이스 종류
  url      = env("DATABASE_URL")  // .env 파일의 DB URL 사용
}

model User {
  id        Int     @id @default(autoincrement())  // 자동 증가 ID
  name      String
  email     String  @unique  // 고유한 값 설정
  createdAt DateTime @default(now())  // 생성 시간 자동 기록
}

이제 Prisma가 User 테이블을 생성하도록 마이그레이션을 수행해야 합니다.


4. Prisma 마이그레이션 실행

반응형

마이그레이션을 통해 Prisma가 데이터베이스 테이블을 자동 생성하도록 합니다.

🔹 4.1 마이그레이션 생성 및 적용

npx prisma migrate dev --name init
  • migrate dev: 개발 환경에서 마이그레이션을 적용하는 명령어
  • --name init: 마이그레이션 이름 설정

마이그레이션이 성공하면 prisma/migrations/ 폴더에 변경 사항이 저장됩니다.

🔹 4.2 Prisma Studio 실행

Prisma Studio를 실행하면 GUI로 데이터베이스를 관리할 수 있습니다.

npx prisma studio

👉 브라우저에서 http://localhost:5555 로 접속하면 데이터베이스를 쉽게 탐색할 수 있습니다.


5. Prisma Client 생성 및 사용

마지막으로 Prisma Client를 생성하고, 실제로 데이터를 삽입하고 조회하는 코드를 작성해보겠습니다.

🔹 5.1 Prisma Client 생성

npx prisma generate

이 명령어는 Prisma Client를 자동 생성하여 node_modules/@prisma/client 디렉터리에 저장합니다.

🔹 5.2 Prisma Client로 데이터 삽입 및 조회

이제 index.js 파일을 만들고 다음과 같은 코드를 작성합니다.

📌 index.js

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

async function main() {
  // 사용자 생성
  const newUser = await prisma.user.create({
    data: {
      name: "Alice",
      email: "alice@example.com"
    }
  });
  console.log("새로운 사용자 추가:", newUser);

  // 전체 사용자 조회
  const users = await prisma.user.findMany();
  console.log("모든 사용자:", users);
}

// 실행
main()
  .catch((e) => console.error(e))
  .finally(async () => {
    await prisma.$disconnect();
  });

🔹 5.3 실행 결과

node index.js

✅ 성공적으로 실행되면 콘솔에 새로운 사용자 정보가 출력됩니다.


6. 결론

이번 글에서는 Prisma의 설치부터 데이터베이스 연결, 마이그레이션, Prisma Client 활용법까지 다루었습니다.
이제 Prisma를 사용하여 더욱 효율적으로 데이터베이스를 관리할 수 있습니다.

다음 글에서는 Prisma Client의 다양한 CRUD 기능과 쿼리 최적화 방법을 살펴보겠습니다! 🚀