Install Prisma dan dependensi PostgreSQL
npm install prisma @types/pg --save-dev
npm install @prisma/client @prisma/adapter-pg pg dotenv
Inisialisasi Prisma
npx prisma init --output ../generated/prisma
Buat database PostgreSQL dengan Prisma Postgres
npx create-db
Setelah database selesai dibuat, anda akan menemukan pesan berikut di terminal
β π Creating a Prisma Postgres database
β
β Database created successfully!
β
β
β Database Connection
β
β
β Connection String:
β
β postgres://randomid:xyz@db.prisma.io:5432/postgres?sslmode=require
β
β
β Claim Your Database
β
β Keep your database for free:
β
β https://create-db.prisma.io/claim?projectID=xyz&utm_source=create-db&utm_medium=cli
β
β Database will be deleted on 7/12/2026, 4:01:06 PM if not claimed.
β
β Done!
Klik tautan bagian Keep your database for free (contoh: https://create-db.prisma.io/claim?projectID=xyz&utm_source=create-db&utm_medium=cli). Silahkan klik "Claim Database"

Buat file .env di bagian root projek (paling luar), isi file .env dengan tautan bagian Connection String (contoh: postgres://randomid:xyz@db.prisma.io:5432/postgres?sslmode=require)
Konfigurasi schema.prisma di prisma/schema.prisma
generator client {
provider = "prisma-client"
output = "../generated/prisma"
}
datasource db {
provider = "postgresql"
}
model User {
id Int @id @default(autoincrement())
email String @unique
name String?
posts Post[]
}
model Post {
id Int @id @default(autoincrement())
title String
content String?
published Boolean @default(false)
author User @relation(fields: [authorId], references: [id])
authorId Int
}
Jalankan migrasi database
npx prisma migrate dev --name init
Generate Prisma Client
npx prisma generate
Konfigurasikan Prisma Client di src/lib/prisma.ts
import { PrismaPg } from "@prisma/adapter-pg";
import "dotenv/config";
import { PrismaClient } from "../../generated/prisma/client";
const connectionString = `${process.env.DATABASE_URL}`;
const adapter = new PrismaPg({ connectionString });
const globalForPrisma = globalThis as unknown as { prisma: PrismaClient };
export const prisma = globalForPrisma.prisma || new PrismaClient({ adapter });
if (process.env.NODE_ENV !== "production") globalForPrisma.prisma = prisma;
Untuk memudahkan migrasi dan reset database untuk memperbarui model database maka tambahkan kode ini di file package.json
"scripts": {
"prisma:reset": "prisma generate && prisma db push --force-reset && prisma db seed"
},
Buka Prisma Studio untuk mengelola data
npx prisma studio
Top comments (0)