Sequelize Veri Silme

Herkese merhaba, NodeJS yazılarımıza kaldığımız yerden devam ediyoruz. Bu yazımızda Sequelize ile veritabanından veri silmeyi anlatacağım. Hadi başlayalım !
Table of Contents
Sequelize
Sequelize, Node.js’te kullanılan bir ORM (Object-Relational Mapping) kütüphanesidir. Bu kütüphane, veritabanı işlemlerini yaparken kullanıcıların SQL sorgularını yazmalarını önler ve bunun yerine basit JavaScript kodları kullanarak veritabanı işlemlerini gerçekleştirmelerine olanak tanır. Bu makalede, Sequelize kullanarak veri silme işlemleriyle ilgili örnek kodları inceleyeceğiz.
Öncelikle, Sequelize kullanarak veri silme işlemi gerçekleştirmek için destroy() metodu kullanılır. Bu metot, bir tablodaki belirli bir kaydı veya kayıtları silmek için kullanılır.
Model Oluşturma
İlk olarak, Sequelize modellerimizi ve bağlantı bilgilerimizi tanımlayarak başlayalım. Bu örnekte, basit bir “users” tablosu kullanacağız ve bu tabloyu SQLite veritabanında tutacağız.
const Sequelize = require('sequelize');
const sequelize = new Sequelize({
dialect: 'sqlite',
storage: './database.sqlite'
});
const User = sequelize.define('user', {
name: {
type: Sequelize.STRING,
allowNull: false
},
email: {
type: Sequelize.STRING,
allowNull: false,
unique: true
},
age: Sequelize.INTEGER
});
Yukarıdaki kodda, Sequelize kütüphanesini require ediyoruz ve SQLite veritabanı için bir bağlantı nesnesi oluşturuyoruz. Daha sonra, User modelimizi tanımlıyoruz ve tablomuzun alanlarını ve veri türlerini belirtiyoruz.
Veri Silme İşlemi
Veri silme işlemi gerçekleştirmek için, destroy() metodunu kullanırız. Bu metot, silinecek kaydın veya kayıtların koşullarını parametre olarak alır ve bu koşullara uyan kayıtları siler.
// User modelinden belirli bir kaydı silmek
User.destroy({ where: { id: 1 }})
.then(() => {
console.log('Kayıt başarıyla silindi.');
})
.catch((err) => {
console.error('Kayıt silinirken bir hata oluştu:', err);
});
// User modelinden belirli koşullara uyan kayıtları silmek
User.destroy({ where: { age: { [Sequelize.Op.gt]: 30 }}})
.then(() => {
console.log('Belirtilen koşullara uyan kayıtlar başarıyla silindi.');
})
.catch((err) => {
console.error('Kayıtlar silinirken bir hata oluştu:', err);
});
Yukarıdaki kod örneklerinde, destroy() metodu, birinci örnekte id alanı 1 olan bir kaydı, ikinci örnekte ise yaşları 30’dan büyük olan tüm kayıtları silmek için kullanılmaktadır. Her iki örnekte de, then() ve catch() fonksiyonları ile işlemin başarılı veya başarısız olması durumunda yapılacak işlemler belirtilmektedir.
Tüm Kayıtları Silme
Ayrıca, destroy() metoduyla birlikte, truncate() metodu da kullanılabilir. Bu metot, bir tablodaki tüm kayıtları siler.
// Tüm User kayıtlarını silmek
User.truncate()
.then(() => {
console.log('Tüm kayıtlar başarıyla silindi.');
})
.catch((err) => {
console.error('Kayıtlar silinirken bir hata oluştu:', err);
});
Yukarıdaki kod örneğinde, truncate() metodu, User modelindeki tüm kayıtları silmek için kullanılmaktadır.
Sonuç
Sonuç olarak, Sequelize ile veri silme işlemleri oldukça kolay ve basittir. destroy() ve truncate() metotları, belirli koşullara uygun veya tüm kayıtları silmek için kullanılabilir. Bu makalede verilen örnekler, bu işlemlerin nasıl yapılabileceği hakkında bir fikir vermektedir.
Evet Sequelize ile veritabanından veri silme işlemi bu şekilde yapılmakta. Tüm NodeJS yazılarımıza buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.