Tek bir Mysql veritabanını paylaşan iki yazılım yığını, Ruby on Rails ve Java var. Mevcut bir veritabanı şemasını okuyarak ve kod üreterek çalışan Jooq Java veritabanı soyutlama katmanını kullanıyoruz.Çapraz platformda Mysql veritabanı şemasını korumak için en iyi yöntemler nelerdir?
Şema değişikliklerini takip etmek için Rails geçişlerine güveniyoruz, ancak Java geliştiricilerimiz buna aşina değil ve Rails dev'lerimiz de sorunları bir kereden fazla aşmak zorunda kaldı. Ayrıca şema değişikliğinin 5-10 dakika sürebildiği, oldukça şaşalı bir süreçtir, şayet şemayı doğrudan MySql Workbench gibi bir araçla değiştirirse, saniyeler sürer.
Rails'e bağlı olmayan DB şemamızı değiştirmek için bir çözüm bulunması tercih edilebilir, herhangi biri uygun bir yaklaşım önerebilir mi?
Liquibase veya Flyway'i inceleyin. Ve ** hiçbir zaman doğrudan bir SQL aracıyla değişiklik yapmaz. Uzun vadede çok fazla sorun var. –
[dbv (veritabanı sürüm kontrolü)] (https://github.com/victorstanciu/dbv) iyi bir uyum olabilir. –
Tüm veritabanı işlemleri için saklı yordamları oluşturarak veritabanında bir soyutlama katmanı oluşturmayı düşündünüz ve hem java hem de RoR kodunun yalnızca bu yordamlar aracılığıyla veritabanıyla etkileşime girmesini sağladınız mı? Bu şekilde, ne RoR ne de Java için herhangi bir kod kırmadan veritabanı şemasını değiştirebilirsiniz. – Philipp