Veritabanları Arasındaki Farklar dbDiffs
Yapı olarak aynı olan onlarca veritabanının yönetiminde bazen ipin ucu kaçabilir; buna bir çok şey sebep olabilir ama yine de hiçbiri mazeret olarak kabul edilemez. Burada sebeplerden ve önleme ilkelerinden bahsetmeyeceğim ama en son benim başıma gelen olayı tek bir örnek olarak anlatayım.
Çalıştığım firmada geliştirdiğimiz ürünler agresif olarak gelişmektedir. Değişliklerin yarısından fazlası yeni özelliklere aittir. Bu, bazen veritabanı yapısının da değişmesine neden oluyor; bir sütun ekleme, tablo ekleme vb. gibi. Bazı müşterilerimiz veritabanı sunucularına istediğimiz her an erişimimiz mümkün değil. Bu da geliştirmelerin bu müşterilere biraz daha geç yansımasına sebep oluyor. Bu müşterilerin veritabanlarını geliştirmeye uygun hale getirmek için çeşitli senkronizasyon araçları ve birkaç betik kullanıyoruz. Fakat yine de, nadiren de olsa gözden kaçan durumlar oluyor. Bu durumların izlenmesi gerekiyor.
İki veritabanı arasındaki yapısal farklar için linux terminalinde diff db1.sql db2.sql
komut ifadesi kullanılabilir; iki dosya arasındaki farkları çıktı olarak verir.
Biraz daha düzgün, ihtiyaca uygun ve duruma göre geliştirilebilir bir araca ihtiyaç duyduğum için basit fakat benim işimi gören eski kodların üzerine bir betik yazdım; belirtilen iki mysql veritabanı arasındaki yapıasl farkları anlaşılır şekilde listeliyor. 
dbDiff Kurulum
Sıkıştırılmış paketi indirin ve tarayıcıyla erişebildiğiniz bir dizine açın.
view.php içindeki mysql kullanıcı ve şifre bilgilerini değiştirin ve bu sayfayı web tarayınızdan çağırın. Hepsi bu kadar.
Kendi ihtiyaçlarınıza göre geliştirebilirsiniz; bunları bana da bildiriseniz sevinirim.
Github: https://github.com/muatik/dbDiffs
İndir(download): dbDiffs.tar.gz
Güzel bir araç daha: http://schemasync.org/


