Open DBDiff : Açık kaynak SQL Server şema karşılaştırma aracı

Codeplex ile ilgili yazılarımıza bu sefer bir projenin tanıtımı ile devam ediyoruz. Bahsedeceğimiz projenin adı : Open DBDiff.

Open DBDiff; SQL Server 2005 ve 2008 ile çalışabilen, veritabanı içerisindeki tüm nesneleri (tablo, fonksiyon, trigger, index, kullanıcı vs.) karşılaştırabilen ve eşitleme için gerekli script'leri oluşturabilen, Codeplex'te açık kaynaklı olarak paylaşıma açılmış bir projedir. Proje .NET Framework 3.5 ve Visual Studio 2008 kullanılarak geliştiriliyor.

Open DBDiff'in kaynak kodu ve çalışma dosyalarına ve diğer tüm bilgilerine http://opendbiff.codeplex.com/ adresinden ulaşılabiliyor. Programı indirebilmek için sayfanın üst veya sağ kısmında yeralan Downloads linklerinden birine tıklamak gerekiyor. Görüntülenen sayfada karşımıza üç adet seçenek çıkıyor : Code, Setup ve Binaries. Adlarından da tahmin edilebileceği gibi Code başlıklı link bize projenin kaynak kodlarını sağlıyor. Setup ile projenin kurulabilir sürümüne, Binaries ile projenin kurulum yapılmadan çalışabilen sürümüne ulaşılıyor.



Open DBDiff, çalıştırıldığında kaynak ve hedef veritabanlarının bilgilerinin girilmesini bekliyor. Gerekli bilgiler girilip Compare tuşuna basıldığında iki veritabanı arasındaki farkları gösterip senkronize hale getirebilmek için gerekli script'leri oluşturuyor. Open DBDbiff'in karşılaştırabildiği nesneler şu şekilde :

- Tablolar
- Kolonlar
- Contsraint'ler (primary key, foreign key)
- Index'ler
- Tablo tipleri
- Kullanıcı veri tipleri
- Trigger'lar
- View'lar
- Stored procedure'ler
- Fonksiyonlar
- Veritabanı kullanıcıları
- Veritabanı rolleri

Bu nesnelerden hangilerinin karşılaştırılıp karşılaştırılmayacağına Options'a tıklayarak karar vermek mümkün. Karşılaştırılması istenmeyen nesneler varsa devre dışı bırakılabiliyor.



Kaynak ve hedef veritabanı bilgileri girilip Compare tuşuna basıldığında, Open DBDiff veritabanları üzerinde gerekli incelemeyi yapıp Schema bölümünde hedef veritabanı ile ilgili bilgileri görüntülüyor. Bu bölümde veritabanı nesneleri ve yanlarında bu nesnelerin adetleri görüntüleniyor. Her bir nesnenin yanındaki + işaretine basılarak ile nesne detaylarına ulaşılabiliyor. Nesne detaylarında yeni, farklı ve silinmiş nesneler sırasıyla yeşil, mavi ve kırmızı renklerde gösteriliyor. Her bir nesneye tıklandığında o nesne ile ilgili detaylara ve sağ tarafta oluşturulma script'ine ulaşılabiliyor.

 

Synchronized Script bölümünde senkronizasyonun sağlanması için gerekli olan scriptler görüntüleniyor. Bu scriptler Save As tuşu ile sql uzantılı script dosyası olarak kaydedilebildiği gibi, Copy Clipboard tuşu ile panoya kopyalanıp SQL Server Management Studio içerisine aktarılabiliyor.

 

Open DBDiff, yukarıda bahsettiğimiz nesnelerdeki farklılıkları gösterip ilgili script'leri de oluşturarak iki veritabanını eşitlemek için oldukça faydalı bir araç olarak görünüyor. Program için tek eksik olarak tablolardaki verilerin karşılaştırılamıyor olması görünüyor. Umarım ilerleyen versiyonlarda bu özellik de eklenir.
Comments