NestJS’de Prisma ORM ile Veritabanı Bağlantısı
Merhaba! Bu makalede, güçlü ve popüler Node.js framework’ü NestJS ile veritabanı bağlantınızı nasıl kuracağınızı, verimli ve modern bir ORM olan Prisma’yı kullanarak göstereceğim. Bu rehber, hem yeni başlayanlar hem de deneyimli geliştiriciler için faydalı olacaktır. Öncelikle, Prisma ve NestJS’nin güçlü yönlerinden kısaca bahsedelim.
Prisma ORM Nedir?
Prisma, veritabanı işlemlerini kolaylaştıran modern bir ORM (Object-Relational Mapper) ‘dir. TypeScript desteği ile geliştirilmiş olan Prisma, yazım hatalarını azaltır ve geliştirme sürecini hızlandırır. Ayrıca, güçlü bir şema sistemi sayesinde, veritabanı modelinizi net ve anlaşılır bir şekilde tanımlayabilirsiniz. Daha fazla bilgi için Prisma resmi web sitesini ziyaret edebilirsiniz.
NestJS Projesi Oluşturma
İlk olarak, yeni bir NestJS projesi oluşturmanız gerekiyor. Bunun için npm veya yarn paket yöneticilerini kullanabilirsiniz:
npm install -g @nestjs/cli
nest new my-nestjs-app
cd my-nestjs-app
Proje oluşturulduktan sonra, Prisma’yı projemize entegre etmeye başlayabiliriz.
Prisma Kurulumu
İkinci adımda, projemize Prisma’yı eklememiz gerekiyor. Bunun için aşağıdaki komutu kullanın:
npm install prisma --save-dev
Daha sonra, Prisma şemasını oluşturabiliriz. Projenizin kök dizininde prisma isimli bir klasör oluşturun ve içine schema.prisma isimli bir dosya ekleyin. Bu dosya veritabanı şemanızı tanımlar. Örneğin, bir PostgreSQL veritabanı kullanıyorsanız, schema.prisma dosyanız aşağıdaki gibi olabilir:
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
model User {
id Int @id @default(autoincrement())
email String @unique
name String?
}
Bu örnekte, DATABASE_URL çevre değişkenini kullanarak veritabanı bağlantı bilgilerini sağlıyoruz. Bu değişkeni .env dosyasında tanımlayabilirsiniz. Ayrıca, User isimli bir model tanımladık. Bu model, kullanıcıların id, email ve name gibi özelliklerini içerir.
Prisma Şeması Oluşturma ve Göçler
Şema dosyanızı oluşturduktan sonra, Prisma şemasını oluşturmak ve veritabanı göçlerini yönetmek için aşağıdaki komutları kullanabilirsiniz:
npx prisma init
npx prisma db push
npx prisma init komutu, Prisma şemasını oluşturur ve npx prisma db push komutu ise veritabanı göçlerini uygular. Bu komutlar, veritabanınızda tanımladığınız modelleri oluşturur.
Prisma Client’ı NestJS’de Kullanma
Prisma’yı NestJS projenizde kullanmak için, Prisma client’ını inject etmeniz gerekir. Bunun için, bir service oluşturup Prisma client’ını bu serviste kullanabilirsiniz:
// users.service.ts
import { Injectable } from '@nestjs/common';
import { PrismaClient } from '@prisma/client';
@Injectable()
export class UsersService {
private prisma = new PrismaClient();
async createUser(data: any) {
return this.prisma.user.create({ data });
}
}
Bu örnekte, UsersService adında bir service oluşturduk ve PrismaClient‘ı inject ettik. createUser fonksiyonu, yeni bir kullanıcı oluşturmak için Prisma client’ını kullanır. Daha sonra bu servisi, controller’ınızda kullanabilirsiniz. Veritabanı işlemleriniz için daha detaylı fonksiyonlar ekleyebilirsiniz.
Sonuç
Bu makalede, NestJS uygulamalarınızda Prisma ORM kullanarak veritabanı bağlantısı kurma adımlarını detaylı bir şekilde ele aldık. Prisma’nın sağladığı kolaylık ve performans ile geliştirme sürecinizi hızlandırabilir ve daha verimli bir kod yazabilirsiniz. Umarım bu makale size yardımcı olmuştur. Daha fazla bilgi ve örnek için fatihsoysal.com adresini ziyaret edebilirsiniz.
Ayrıca, Prisma dokümantasyonu ve örnekleri de oldukça faydalıdır. Bu kaynaklara göz atmanızı tavsiye ederim: Prisma Dokümantasyonu
Başka sorularınız varsa, lütfen bana bildirin.
#Etiketler
nestjs, prisma, orm, veritabanı, bağlantı, typescript, postgresql, tutorial, rehber, örnek, kod, geliştirme
