Apa Itu Prisma?
Prisma adalah sebuah Object-Relational Mapping (ORM) yang digunakan untuk menghubungkan aplikasi dengan database. ORM adalah paradigma yang memungkinkan pengembang untuk berinteraksi dengan database menggunakan objek dan metode daripada perlu menulis query SQL manual. Prisma dibangun untuk bahasa pemrograman JavaScript dan TypeScript, dan telah menjadi salah satu alat paling populer dalam ekosistem Node.js.
Keunggulan Prisma
- Kode yang Bersih dan Mudah Dikelola: Salah satu keunggulan utama Prisma adalah kemampuannya untuk menghasilkan kode yang bersih dan mudah dikelola. Dengan Prisma, pengembang dapat mendefinisikan model data mereka menggunakan bahasa pemrograman yang sudah dikenal, seperti TypeScript atau JavaScript. Ini memungkinkan pengembang untuk bekerja dalam lingkungan yang nyaman dan familiar.
- Type-Safety: Dalam aplikasi yang besar, deteksi kesalahan sejak dini sangat penting. Prisma memberikan keamanan tipe yang kuat, yang berarti kesalahan dalam kueri database dapat dideteksi saat kompilasi kode. Ini membantu menghindari kesalahan yang mahal dalam pengembangan.
- Migrasi Database yang Mudah: Prisma memiliki alat bawaan untuk mengelola dan menerapkan migrasi database. Ini sangat berguna ketika mengubah struktur database tanpa harus menghentikan aplikasi Anda. Pengembang dapat dengan mudah membuat perubahan dalam skema database mereka dan menerapkannya ke database tanpa banyak kerumitan.
- Dukungan untuk Berbagai Database: Prisma mendukung berbagai jenis database, termasuk PostgreSQL, MySQL, SQLite, dan SQL Server. Ini memungkinkan pengembang untuk bekerja dengan database yang paling sesuai dengan kebutuhan proyek mereka.
- Ekosistem yang Berkembang: Prisma memiliki komunitas yang besar dan aktif, sehingga pengembang dapat dengan mudah menemukan dukungan dan sumber daya tambahan seperti plugin dan ekstensi.
Membuat Projek dengan Prisma
Pertama, Sama seperti judul, Kita akan membuat sebuah projek simpel menggunakan Prisma ORM dengan typescript dan Mysql sebagai database nya:
- Buat sebuah folder projek dengan command berikut:
mkdir prisma-test
cd prisma-test2. Jalankan command berikut untuk membuat init program kita
npm init -y3. Install paket-paket yang dibutuhkan
npm install typescript ts-node @types/node --save-dev4. Generate Konfigurasi file config Typescript
npx tsc --initSaat perintah dijalankan maka akan membuat file tsconfig.json
5. Install Prisma orm
npm install prisma6. Selanjutnya kita membuat generate configurasi database provider dan juga file environment nya.
npx prisma init --datasource-provider mysqlSaat kita menjalankan peritah diatas maka akan menggenerate folder prisma dan juga scheme nya didalam folder root. dan juga akan membuat sebuah file konfigurasi datasource file .env. Setting file .env sesuai koneksi database yang kita inginkan. Contoh File konfigurasi seperti dibawah
DATABASE_URL=“mysql://attgroup:att123@localhost:3306/prisma_test”
7. Membuat Scheme Table untuk database kita
Edit file scheme.prisma dan tambahkan model User dan juga Post yang mendeskripsikan tabel kita didatabase
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "mysql"
url = env("DATABASE_URL")
}
model User {
id Int @id @default(autoincrement())
email String @unique
name String?
phone String
password 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
}Setelah kita membuat scheme seperti diatas makan jalankan migrasi:
npx prisma migrate dev --name initMaka akan membuat folder migration di folder prisma/migrations/nama_migrasi
Saat kita cek didatabase maka akan dibuatkan tabel dan migrasinya:

8. Mengelolah Table Database
Setelah kita membuat scheme sekarang kita mengolah tabel menggunakan prisma.
Pertama didalam root buatkan sebuah folder user yang didalamnya terdapat 2 file yaitu Create.ts dan juga file Get.ts.
Kedua file tersebut akan kita gunakan untuk insert data kedalam database dan juga menampilkanya.
- Membuat Insert Data
Ubah file Create.ts seperti kode dibawah ini:
// users/Create.ts
import { PrismaClient } from '@prisma/client';
const prisma = new PrismaClient();
async function createNewUser() {
const newUser = await prisma.user.create({
data: {
name: 'Rafles',
email: 'Rafles@gmail.com',
phone: '1234589',
password:'123456789'
},
});
console.log('Created new user:', newUser);
}
createNewUser().catch((error) => {
console.error('Error creating user:', error);
});
Setelah file diatas dibuat, Lalu jalankan command untuk mengeksekusi kode program untuk create diatas:
npx ts-node users/Create.ts Saat menjalankan command diatas maka data akan masuk kedalam database. Edit dan ulangi dengan data yang berbeda lalu jalankan ulang Create.ts. Maka saat kita periksa kedalam database akan terdapat data yang kita jalankan tadi seperti gambar dibawah

- Membuat Get Data
Edit file Get.ts dan masukkan kode berikut:
import { PrismaClient } from '@prisma/client'
const prisma = new PrismaClient()
async function main() {
const users = await prisma.user.findMany()
console.log(users)
}
main()
.then(async () => {
await prisma.$disconnect()
})
.catch(async (e) => {
console.error(e)
await prisma.$disconnect()
process.exit(1)
})Simpan lalu jalankan perintah berikut untuk mengeksekusi.
npx ts-node users/Get.tsKarena kita hanya menampilkan data didalam console saja, Maka akan Terlihat consol sebagai berikut.

Seperti itulah kita dalam membuat dan mengolah projek dengan Prisma ORM.
Sampai disini kita cuma membuat create dan get data users. Untuk membuat data Post bisa dengan mengikuti langkah-langkah diatas.
Terimakasih!
