ORM Migrasyonu Nedir?

İngilizce: ORM Migration

ORM migrasyonu, Prisma veya Drizzle gibi ORM araçlarıyla veritabanı şema değişikliklerini kod dosyaları üzerinden yönetme pratiğidir.

ORM Migrasyonu Nedir?

ORM migrasyonu, veritabanı şemasındaki değişiklikleri kodla tanımlayıp versiyonlanmış migration dosyaları üzerinden uygulama pratiğidir. Yeni kolon ekleme, tablo oluşturma, indeks tanımlama veya ilişki değiştirme gibi adımlar kayıt altına alınır.

Migration dosyası çoğu zaman ORM aracı tarafından üretilen SQL’i içerir. Geliştirici şema modelini değiştirir, araç farkı hesaplar, migration dosyası oluşturur ve bu dosya geliştirme, staging ve production ortamlarında sırayla çalıştırılır.

Süreç Nasıl İlerler?

  1. Model veya schema dosyasında değişiklik yapılır.
  2. ORM aracı migration üretir veya geliştirici elle yazar.
  3. Oluşan SQL gözden geçirilir; veri kaybı riski kontrol edilir.
  4. Migration test veritabanında çalıştırılır.
  5. Deploy sırasında production veritabanına uygulanır.

Prisma Migrate, Drizzle Kit, TypeORM migrations, Django migrations ve Rails Active Record migrations bu yaklaşımın farklı ekosistemlerdeki örnekleridir.

İş Dünyasında Kullanımı

ORM migrasyonu, ekiplerin veritabanı değişikliklerini deploy sürecinin parçası haline getirmesini sağlar. Böylece “kim production’da hangi kolonları ekledi?” sorusu git geçmişi ve migration tablosu üzerinden izlenebilir.

Riskli noktalar veri silen migration’lar, büyük tablolarda kilitlenme, rollback planının olmaması ve uygulama koduyla şema değişikliğinin aynı anda uyumsuz deploy edilmesidir. Genel migrasyon planı içinde ORM migration dosyaları mutlaka yedekleme ve geri dönüş stratejisiyle ele alınmalıdır.