TypeORM ile Seed Data Oluşturma Yöntemleri


TypeORM ile Seed Data Oluşturma Yöntemleri

TypeORM Nedir ve Seed Data Neden Kullanılır?

TypeORM, Node.js tabanlı projelerde kullanılan, popüler ve güçlü bir ORM (Object-Relational Mapping) kütüphanesidir. Özellikle TypeScript ile tam uyumlu çalışması sayesinde modern JavaScript dünyasında çok tercih edilir. Yazılım geliştirme sürecinde "seed data" yani ön tanımlı başlangıç verileri, veritabanında test veya demo sırasında ihtiyaç duyabileceğimiz temel bilgileri otomatik olarak oluşturur. TypeORM ile seed data oluşturmak, uygulamanın belirli bir başlangıç verisiyle ayakta başlamasını sağlar ve geliştirme ortamında büyük kolaylık sunar.

TypeORM ile Seed Data Nasıl Oluşturulur?

TypeORM ile seed data eklemenin farklı yöntemleri bulunur. En yaygın yaklaşım, özel bir seed dosyası veya script yazarak Entity'lere (varlıklar) verilerinizi eklemektir. Aşağıda TypeORM ile basit bir seed data oluşturmanın adımlarını bulabilirsiniz.

Adım 1: Seed Script'inin Oluşturulması

import { AppDataSource } from "./data-source";
import { User } from "./entity/User";

AppDataSource.initialize()
  .then(async () => {
    const user = new User();
    user.firstName = "Ali";
    user.lastName = "Veli";
    user.age = 28;
    await AppDataSource.manager.save(user);
    console.log("Seed data başarıyla eklendi!");
    process.exit(0);
  })
  .catch((error) => {
    console.error(error);
    process.exit(1);
  });

Adım 2: Seed Script'inin Çalıştırılması

Oluşturduğunuz seed dosyasını aşağıdaki komut ile çalıştırabilirsiniz:

node seed.ts

Bu adımlar sayesinde, veritabanınızı TypeORM ile hızlı ve pratik şekilde test verileriyle doldurabilirsiniz.

Sonuç: TypeORM ile Seed Data Avantajları

TypeORM ile seed data oluşturma işlemi, hem development hem de test ortamlarında büyük kolaylık sağlar. Özellikle sürekli değişen veritabanı şemalarında, her seferinde veritabanını elle doldurmak yerine otomasyon sunar. TypeORM ile seed data eklemek; hata ayıklama, demo sunumları ve baştan sona uygulama testleri için vazgeçilmezdir. Kendi projelerinizde seed data kullanarak verimliliğinizi önemli ölçüde artırabilirsiniz.