Prisma 시작하기: 설치부터 첫 번째 데이터베이스 연결까지
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 기능과 쿼리 최적화 방법을 살펴보겠습니다! 🚀