Konfigürasyon (Configuration)
/

DB Migration

DB Migration

DB Migration (Veritabanı Taşıma), bir yazılım uygulamasının veritabanında yapılan değişiklikleri yönetmek ve uygulamak için kullanılan bir süreçtir. Bu işlem, veritabanı şeması güncellemeleri, veri taşıma işlemleri ve veri depolama teknolojilerindeki değişiklikler gibi birçok senaryoda kullanılabilir.

DB Migration’ın Kullanım Alanları

  1. Veritabanı Şema Değişiklikleri:
    • Yeni sütunlar ekleme.
    • Mevcut tabloları yeniden adlandırma.
    • Yeni indeksler oluşturma.
    • Tablo yapısında düzenlemeler yapma.
  2. Veritabanı Yeniden Yapılandırma:
    • Uygulamanın kullandığı veritabanı yönetim sistemini değiştirme (örneğin, SQL’den NoSQL’e geçiş).
    • Veritabanını daha optimize bir yapıya dönüştürme.
  3. Veri Taşıma:
    • Verileri bir ortamdan diğerine taşırken veri bütünlüğünü koruma.
    • Veri kaybını önlemek ve veritabanı performansını optimize etmek.

Kuika Platformunda DB Migration İşlemleri

Kuika platformu, DB Migration işlemlerini sistemli bir şekilde yönetmek için kolaylaştırılmış bir süreç sunar. Bu işlemleri gerçekleştirmek için aşağıdaki adımları izleyebilirsiniz:

  1. DB Migration İşlemini Başlatma:
  • Header’da bulunan Roket ikonuna tıklayın.
  • Açılan pencereden Download Source Code veya Publish butonlarından birine tıklayın.
  • Generate edilen backend ve frontend kodları, size e-posta yoluyla iletilir.

Kaynak kodunu indirebilmek için abonelik planınızı yükseltmeniz gereklidir. Daha fazla bilgi için Fiyatlandırma Sayfasını ziyaret edin.

  1. Backend Kodları ve SQL Scriptleri:
  • Backend kodları, uygulamanın bağlı olduğu veritabanı için gerekli SQL scriptlerini içerir.
  • SQL scriptler:
    • Tablolardaki foreign key, primary key ve index gibi yapıların diğer veritabanlarında oluşturulmasını sağlar.
    • Uygulamanın on-premise (yerel) veya farklı bir ortamda çalışması için gerekli olan veritabanı yapılarını oluşturur.
  1. Scriptlerin Çalıştırılması:
    • Oluşturulan SQL scriptler, backend dosyaları içinde gömülü olarak gelir ancak otomatik olarak çalıştırılmaz.
    • DB Migration API kullanılarak bu scriptler çalıştırılabilir.

DB Migration API’leri

Kuika platformunda, DB Migration işlemleri sırasında aşağıdaki API’ler kullanılır:

1. Checksum API:

  • GET /v1/api/DbMigration/checksum/current
    • Veritabanının mevcut durumunu ifade eder. O anki şema ve veri yapısını temsil eder.
  • GET /v1/api/DbMigration/checksum/source
    • DB Migration işlemindeki kaynak veritabanını veya şemasını ifade eder. Değişikliklerin yapılacağı yerin verilerini temsil eder.

2. IsSame (Karşılaştırma):

  • "IsSame" API, mevcut veritabanı şeması veya verileri ile hedef veritabanı şeması veya verileri arasındaki farklılıkları karşılaştırır. Bu işlem, hangi değişikliklerin gerektiğini belirler.

3. Execute Migration (Migrasyonu Gerçekleştir):

  • Execute Migration API, belirlenen değişiklikleri uygulamak için SQL scriptlerini sırasıyla çalıştırır.
  • Swagger dokümantasyonunda bu API, DbMigration/executeMigration altında bulunur.

DB Migration Sürecinin Detayları

  1. Veritabanı Şeması ve Veri Durumunun Analizi:
    • Current: Mevcut veritabanı şeması ve veri durumu.
    • Source: Kaynak veritabanı şeması ve veri durumu.
  2. Karşılaştırma (IsSame):
    • Mevcut durum ile kaynak durum karşılaştırılır ve farklar tespit edilir.
  3. Migration Scriptlerinin Çalıştırılması (ExecuteMigration):
    • SQL scriptleri sırasıyla çalıştırılarak hedef veritabanı yapısı oluşturulur.
    • Her bir tablo veya sütuna UNIQUE ID atanır ve bu ID'ler üzerinden karşılaştırmalar yapılır.
  4. Sonuç:
    • Veritabanı şeması ve veriler, hedef yapıya dönüştürülmüş olur.

SQL Scriptlerin Özellikleri

  • SQL scriptler, veritabanı yapısında şu işlemleri gerçekleştirir:
    • Yeni tablolar oluşturma.
    • Mevcut tabloları güncelleme.
    • İndeksler ekleme veya kaldırma.
    • Tablolara ve sütunlara ID atama ve karşılaştırma.
  • Checksum:
    • Veritabanındaki her bir tablonun ve kolonun benzersiz bir özeti alınır.
    • Rename İşlemleri: Karşılaştırma sırasında bir kolonun veya tablonun ismi değiştirilmişse, bu fark tespit edilir ve script buna göre düzenlenir.
No items found.

İlişkili diğer içerikler

No items found.

Sözlük

No items found.

Alt Başlıklar