Sequelize ORM ile Basit CRUD İşlemleri


Sequelize ORM ile Basit CRUD İşlemleri

Giriş: Sequelize ORM Nedir?

Modern web uygulamaları çoğunlukla veritabanları ile etkileşim halindedir ve bu iletişimi kolaylaştırmak için ORM (Object-Relational Mapping) araçları kullanılır. Sequelize ORM, Node.js ortamında kullanılan, popüler ve güçlü bir ORM kütüphanesidir. SQL sorguları yazmadan veritabanı işlemlerini kolayca gerçekleştirmenizi sağlar. Bu yazıda, "Sequelize ORM ile Basit CRUD İşlemleri" başlığı altında, temel CRUD (Create, Read, Update, Delete) işlemlerinin nasıl gerçekleştirileceğine dair örneklerle ilerleyeceğiz.

Sequelize ile Model Oluşturma ve Bağlantı

"Sequelize ORM ile Basit CRUD İşlemleri" konusunu uygulayabilmek için öncelikle projenize Sequelize ve ilgili veritabanı sürücüsünü eklemeniz gerekir. Örneğin bir PostgreSQL projesi için aşağıdaki komutu kullanabilirsiniz:

npm install sequelize pg pg-hstore

Devamında, bir model oluşturmak için şu adımları takip edebilirsiniz:

const { Sequelize, DataTypes } = require('sequelize');
const sequelize = new Sequelize('veritabani_adi', 'kullanici_adi', 'sifre', {
  host: 'localhost',
  dialect: 'postgres'
});

const User = sequelize.define('User', {
  name: {
    type: DataTypes.STRING,
    allowNull: false
  },
  email: {
    type: DataTypes.STRING,
    unique: true,
    allowNull: false
  }
});

sequelize.sync();

CRUD İşlemleri: Oluşturma, Okuma, Güncelleme, Silme

Kayıt Ekleme (Create)

async function yeniKullaniciEkle() {
  const yeniKullanici = await User.create({ name: 'Ali Veli', email: 'ali@veli.com' });
  console.log(yeniKullanici.toJSON());
}
yeniKullaniciEkle();

Kayıt Okuma (Read)

async function kullanicilariGetir() {
  const kullanicilar = await User.findAll();
  console.log(kullanicilar.map(u => u.toJSON()));
}
kullanicilariGetir();

Kayıt Güncelleme (Update)

async function kullaniciGuncelle(id, yeniIsim) {
  await User.update({ name: yeniIsim }, { where: { id } });
  console.log('Kullanıcı güncellendi.');
}
kullaniciGuncelle(1, 'Veli Ali');

Kayıt Silme (Delete)

async function kullaniciSil(id) {
  await User.destroy({ where: { id } });
  console.log('Kullanıcı silindi.');
}
kullaniciSil(1);

Sonuç ve İpuçları

"Sequelize ORM ile Basit CRUD İşlemleri" başlığı altında, bir Node.js projesinde veritabanı işlevlerini hızlı ve güvenli şekilde uygulamanın en iyi yollarından birini örneklerle öğrendik. Sequelize ile kodunuzu sade, güvenli ve bakımı kolay tutarak, karmaşık SQL sorgularına gerek kalmadan tüm temel işlemleri rahatlıkla gerçekleştirebilirsiniz. Detaylı bilgi ve ileri kullanım örnekleri için Sequelize resmi dokümantasyonuna göz atmanızı öneririz.