Kodeloka
  1. Kodeloka
  2. Kelas Next.js
  3. Materi

Backend & API ยท Modul 18 dari 23

Database Integration dengan Prisma & PostgreSQL

Menghubungkan aplikasi Next.js 16 ke PostgreSQL menggunakan Prisma ORM, Singleton client pattern, & Serverless Connection Pooling.

๐ŸŽฏ Poin-Poin Utama Modul Ini:
  • Mendesain schema relational di prisma/schema.prisma
  • Mencegah kebocoran koneksi database di lingkungan dev dengan Prisma Singleton Pattern
  • Query data langsung di dalam React Server Component tanpa REST API overhead

๐Ÿ—„๏ธ Database Access di Server Components

Karena React Server Components dieksekusi di server, kita dapat melakukan query database secara langsung menggunakan ORM seperti Prisma atau Drizzle tanpa memerlukan fetch API internal!

๐Ÿ’ป Prisma Client Singleton Implementation

lib/prisma.ts
import { PrismaClient } from "@prisma/client";

const globalForPrisma = globalThis as unknown as {
  prisma: PrismaClient | undefined;
};

export const db = globalForPrisma.prisma ?? new PrismaClient();

if (process.env.NODE_ENV !== "production") globalForPrisma.prisma = db;