TypeORM Entity ve Column Oluşturma Rehberi


TypeORM Entity ve Column Oluşturma Rehberi

TypeORM Entity ve Column Nedir?

TypeORM, Node.js ile çalışan güçlü bir ORM (Object Relational Mapping) kütüphanesidir. Modern TypeScript/JavaScript projelerinde veritabanı yönetimini oldukça kolaylaştırır. Entity kavramı; veritabanındaki bir tabloyu temsil ederken, Column ise bu tablo içerisindeki bir alanı (sütunu) ifade eder. TypeORM ile entity ve column oluşturmak, veri modellerinizi kod üzerinde daha okunabilir ve yönetilebilir hale getirir.

TypeORM ile Entity ve Column Nasıl Oluşturulur?

TypeORM'de entity oluşturmak için @Entity() ve sütun tanımlamaları için @Column() dekoratörleri kullanılır. Aşağıda, bir "Kullanici" (User) entity'sinin nasıl tanımlanacağı ve farklı tipte column'ların nasıl ekleneceği gösterilmiştir:

import { Entity, PrimaryGeneratedColumn, Column } from "typeorm";

@Entity()
export class Kullanici {
  @PrimaryGeneratedColumn()
  id: number;

  @Column({ length: 100 })
  ad: string;

  @Column({ unique: true })
  email: string;

  @Column({ default: true })
  aktif: boolean;
}

Yukarıdaki kodda, @PrimaryGeneratedColumn() ile otomatik artan bir id field'ı, @Column() ile farklı özelliklerde kolonlar tanımladık. "aktif" kolonunda varsayılan bir değer belirttik ve "email" sütununu benzersiz (unique) yaptık. TypeORM entity ve column oluşturma işlemi bu kadar pratiktir.

Özel Column Tipleri

Bazı durumlarda tarih, sayı veya JSON gibi özel türlerde column'lara ihtiyaç duyulabilir. TypeORM entity ve column oluşturma sırasında farklı tipler şöyle kullanılır:

@Column({ type: "date" })
dogumTarihi: string;

@Column({ type: "float" })
yillikGelir: number;

@Column({ type: "json", nullable: true })
ekBilgiler: any;

Burada date, float ve json tiplerinde column tanımlamış olduk. Nullable olan bir column, opsiyonel olarak bırakılabilir. Tüm bu özellikler TypeORM ile veritabanı tablolarının kontrolünü kolaylaştırır.

Sonuç: TypeORM Entity ve Column Kullanımı

TypeORM entity ve column oluşturma işlemleri, hem veri modelinizi esnek ve güçlü kılar, hem de kodunuz ile veritabanınızın senkronize olmasını sağlar. Bu rehberde, temel entity ve column konseptlerinin yanı sıra, farklı tipte alanların tanımlanma yöntemlerine de değindik. TypeORM projelerinde bu yapıları doğru kullanarak sürdürülebilir ve güvenli uygulamalar geliştirebilirsiniz.