UI vs. UX: What’s the difference?

Mengenal Prisma ORM untuk Node.js + PostgreSQL

Prisma adalah ORM (Object Relational Mapping) modern untuk Node.js dan TypeScript. ORM sendiri adalah alat yang mempermudah kita dalam mengakses dan mengelola database melalui kode, tanpa perlu menulis banyak SQL mentah. Prisma sangat populer karena:

  1. Mendukung TypeScript dan JavaScript
  2. Terintegrasi dengan baik dengan PostgreSQL, MySQL, SQLite, dan lainnya
  3. Dokumentasi yang lengkap dan komunitas yang aktif

Alat yang Dibutuhkan

Sebelum memulai, pastikan kamu sudah menginstal:

  1. Node.js (versi terbaru disarankan)
  2. PostgreSQL (bisa juga pakai versi lokal atau layanan seperti Supabase)
  3. VSCode (opsional, untuk editor)
  4. Terminal / Command Prompt

Langkah-Langkah Install & Setup Prisma

1.Inisialisasi Project Node.js

mkdir belajar-prisma
cd belajar-prisma
npm init -y

2.Install Prisma CLI dan Prisma Client

npm install prisma --save-dev
npm install @prisma/client

3.Inisialisasi Prisma

npx prisma init

Perintah ini akan membuat dua file:

  • prisma/schema.prisma → untuk mendefinisikan model database
  • .env → tempat menyimpan variabel koneksi ke database

Konfigurasi PostgreSQL

Buka file .env dan ubah konfigurasi DATABASE_URL sesuai pengaturan PostgreSQL milikmu:

DATABASE_URL="postgresql://username:password@localhost:5432/nama_database"

Contoh:

DATABASE_URL="postgresql://postgres:admin123@localhost:5432/belajar_prisma"

Pastikan database tersebut sudah dibuat di PostgreSQL ya!

Membuat Model Prisma

Edit file prisma/schema.prisma seperti ini:

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

datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

model User {
  id        Int      @id @default(autoincrement())
  name      String
  email     String   @unique
  createdAt DateTime @default(now())
}

Generate Prisma Client

Setelah model dibuat, jalankan:

npx prisma generate

Untuk membuat skema tabel di database:

npx prisma migrate dev --name init

CRUD Sederhana dengan Prisma

Buat file index.js dan tulis:

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

async function main() {
  // CREATE
  const user = await prisma.user.create({
    data: {
      name: 'Farel Ardhi',
      email: '[email protected]',
    },
  });
  console.log('User Created:', user);

  // READ
  const allUsers = await prisma.user.findMany();
  console.log('All Users:', allUsers);

  // UPDATE
  const updated = await prisma.user.update({
    where: { id: user.id },
    data: { name: 'Farel Update' },
  });

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

  console.log('User Deleted:', deleted);
}

main()
  .then(() => prisma.$disconnect())
  .catch((e) => {
    console.error(e);
    prisma.$disconnect();
  });

Tips dan Best Practices

  • Selalu gunakan migrasi (prisma migrate) untuk perubahan skema
  • Manfaatkan auto-complete Prisma di TypeScript
  • Buatlah folder services untuk memisahkan logika query agar kode lebih rapi
  • Gunakan prisma studio untuk melihat isi database secara visual:
npx prisma studio

Kesimpulan

Dengan Prisma, pengelolaan database PostgreSQL di Node.js menjadi jauh lebih mudah, aman, dan efisien. Cocok sekali untuk kamu yang ingin mulai belajar backend dengan struktur yang modern.

Struktur Project Akhir

belajar-prisma/
├── node_modules/
├── prisma/
│   └── schema.prisma
├── .env
├── index.js
├── package.json