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ı
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.
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.
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:
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.
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.
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ı
Veritabanı Şeması ve Veri Durumunun Analizi:
Current: Mevcut veritabanı şeması ve veri durumu.
Source: Kaynak veritabanı şeması ve veri durumu.
Karşılaştırma (IsSame):
Mevcut durum ile kaynak durum karşılaştırılır ve farklar tespit edilir.