Sequelize Seeder Kullanımı

Herkese merhaba, NodeJS yazılarımıza kaldığımız yerden devam ediyoruz. Bu yazımızda Sequelize ile seeder oluşturma ve kullanmayı anlatacağım. Hadi başlayalım !
Table of Contents
Giriş
Sequelize, Node.js tabanlı bir ORM (Object-Relational Mapping) kütüphanesidir. Bu kütüphane, JavaScript kullanarak veritabanı işlemlerini gerçekleştirmeyi sağlar. Bu makalede, Sequelize kullanarak veritabanına örnek veri ekleme işlemi olan seeder oluşturma işlemini inceleyeceğiz.
Bağlantı Bilgilerinin Oluşturulması
Öncelikle, 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.
Elle Seeder Dosyası Oluşturma
Veritabanına örnek veri eklemek için, seeders dizini oluşturarak başlayalım. Bu dizin içinde, veritabanına eklenecek örnek verileri tutan dosyalar oluşturacağız.
mkdir seeders
touch seeders/20230417171500-users.js
Örnek Seeder Yazımı
Yukarıdaki komutlarla, seeders dizinini ve 20230417171500-users.js dosyasını oluşturuyoruz. Bu dosyada, up ve down fonksiyonlarını tanımlayarak veritabanına örnek veri ekleme ve silme işlemlerini gerçekleştireceğiz.
module.exports = {
up: async (queryInterface, Sequelize) => {
await queryInterface.bulkInsert('users', [
{
name: 'John Doe',
email: 'john.doe@example.com',
age: 30,
createdAt: new Date(),
updatedAt: new Date()
},
{
name: 'Jane Doe',
email: 'jane.doe@example.com',
age: 25,
createdAt: new Date(),
updatedAt: new Date()
}
], {});
},
down: async (queryInterface, Sequelize) => {
await queryInterface.bulkDelete('users', null, {});
}
};
Yukarıdaki kodda, up fonksiyonu ile bulkInsert() metodu kullanarak users tablosuna örnek veri eklenmektedir. Bu veriler, JavaScript nesneleri olarak belirtilir ve createdAt ve updatedAt alanları da tanımlanır. down fonksiyonu ise bulkDelete() metodu kullanarak tüm users kayıtlarını siler.
Komut İle Seeder Oluşturma
Seeder dosyalarımızı çalıştırmak için Sequelize CLI (Command Line Interface) aracını kullanabiliriz. Bu araç, Sequelize projesinde birçok kullanışlı komut ve özellik sunar.
npx sequelize-cli seed:generate --name users
Yukarıdaki komutla, seeders dizininde 20230417171500-users.js dosyasına benzer bir dosya oluştururuz. Bu dosya adı, –name parametresi ile belirlenir.
Verileri Veritabanına Ekleme
Seeder dosyasını oluşturduktan sonra, aşağıdaki komutla veritabanına örnek veri ekleyebiliriz:
npx sequelize-cli db:seed:all
Bu komutla, seeders dizinindeki tüm dosyaları çalıştırarak veritabanına örnek veri ekleriz. db:seed:undo komutu ile ise seeder dosyalarındaki down fonksiyonları çalıştırarak veritabanındaki örnek verileri silebiliriz.
Sonuç
Bu makalede, Sequelize kullanarak veritabanına örnek veri ekleme işlemi olan seeder oluşturma işlemini inceledik. Seeder, uygulamaların geliştirilmesi ve test edilmesi sırasında kullanışlı bir yöntemdir ve Sequelize CLI aracını kullanarak seeder dosyalarını kolayca oluşturabilir ve çalıştırabiliriz.
Evet Sequelize ile seeder oluşturma ve kullanma işlemi bu şekilde yapılmakta. Tüm NodeJS yazılarımıza buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.