Prisma ORM ile Multiple Database Yönetimi
Prisma ORM ile Multiple Database Yönetimi
Prisma ORM Nedir?
Prisma ORM, modern Node.js ve TypeScript projelerinde kullanılan, tür güvenli bir Object Relational Mapping (ORM) aracıdır. Geliştiricilere veritabanı işlemlerini kolayca yönetme, otomatik olarak tip üretebilme ve veritabanları arası geçişlerde kolaylık sağlama gibi avantajlar sunar. Prisma ORM, özellikle veritabanı şemasının kodla entegre şekilde kontrol edilmesi, güçlü migration (göç) modülleri ve modüler yapısı ile öne çıkar.
Multiple Database Yönetimi Neden Gereklidir?
Büyük ölçekli projelerde veya mikroservis mimarilerinde verilerin farklı veritabanlarında saklanması gerekebilir. Bazı uygulamalarda veri güvenliği, performans veya regülasyonlar için birden çok veritabanı kullanılması zorunludur. Prisma ORM ile multiple database yönetimi, bu süreçleri sadeleştirir ve kontrolü geliştiriciye bırakır. Böylece, veri modelleri farklı kaynaklarda olsa bile, kodunuzu merkezi bir noktadan yönetebilirsiniz.
Prisma ORM ile Multiple Database Yapılandırması
Ortamın Hazırlanması
İlk olarak, prisma paketini projenize ekleyin ve ardından iki veritabanı için ayrı prisma.schema dosyaları oluşturun. Bu sayede her bir veri kaynağı için bağımsız konfigürasyonlar tanımlayabilirsiniz.
npm install prisma --save-dev
npx prisma init --schema=prisma/db1.prisma
npx prisma init --schema=prisma/db2.prisma
Birden Fazla Veri Kaynağını Tanımlama
Her bir prisma.schema dosyasında kendi veri kaynağınızı belirtmeniz gerekir. Aşağıda iki farklı PostgreSQL veritabanı için örnek bir şema gösterilmiştir:
// prisma/db1.prisma
datasource db1 {
provider = "postgresql"
url = env("DATABASE1_URL")
}
generator client {
provider = "prisma-client-js"
output = "../generated/db1"
}
model User {
id Int @id @default(autoincrement())
name String
}
// prisma/db2.prisma
datasource db2 {
provider = "postgresql"
url = env("DATABASE2_URL")
}
generator client {
provider = "prisma-client-js"
output = "../generated/db2"
}
model Product {
id Int @id @default(autoincrement())
title String
}
Prisma Client Kullanımı ve Uygulama İçinden Erişim
Her bir veritabanı için Prisma Client'ı oluşturup aşağıdaki gibi uygulamanıza import edebilirsiniz:
// db1 için
const { PrismaClient: PrismaClientDb1 } = require('./generated/db1');
const db1 = new PrismaClientDb1();
// db2 için
const { PrismaClient: PrismaClientDb2 } = require('./generated/db2');
const db2 = new PrismaClientDb2();
// Kullanım örneği
db1.user.findMany().then(users => console.log(users));
db2.product.findMany().then(products => console.log(products));
Sonuç: Prisma ORM ve Multiple Database Yönetiminin Avantajları
Prisma ORM ile multiple database yönetimi, modern yazılım geliştirme süreçlerinde büyük avantajlar sunar. Farklı veritabanlarından gelen verileri merkezi ve tip güvenli biçimde yönetebilir, kodunuzu daha sürdürülebilir ve test edilebilir hale getirebilirsiniz. Özellikle mikroservis, büyük ölçekli veya çoklu müşteri gereksinimleri olan projelerde, Prisma'nın sunduğu bu esneklik üretkenliğinizi artırır.

Yorum Gönder