Dalam project Misaki Bot, aku menggunakan Prisma ORM untuk mengelola database. Di artikel ini, aku akan share pengalaman dan tips menggunakan Prisma.
Kenapa Prisma?
- Type-safe - Auto-generated types dari schema, mengurangi bug
- Mudah digunakan - API yang intuitif dan dokumentasi lengkap
- Migration - Database versioning yang powerful
- Prisma Studio - GUI bawaan untuk manage data dengan mudah
Instalasi
Untuk memulai dengan Prisma, jalankan:
npm install prisma --save-dev
npm install @prisma/client
npx prisma init
Schema Example
Contoh schema untuk WhatsApp bot:
model User {
id String @id
username String
warnings Int @default(0)
createdAt DateTime @default(now())
}
model Group {
id String @id
prefix String @default("!")
logChannel String?
}
Query Example
Prisma Client membuat query sangat mudah:
// Mencari user
const user = await prisma.user.findUnique({
where: { id: whatsappUserId }
});
// Membuat user baru
const newUser = await prisma.user.create({
data: {
id: whatsappUserId,
username: whatsappUsername
}
});
Tips
- Selalu jalankan
npx prisma generatesetelah mengubah schema - Gunakan
npx prisma studiountuk melihat data secara visual - Backup database sebelum menjalankan migration di production
Kalau kamu baru belajar backend development, Prisma adalah pilihan yang sangat bagus untuk mulai!
Prisma Database Tutorial Node.js