Spring Boot/Node.js tabanlı uygulamalar için bir veritabanı geçiş aracı/çerçevesi kullanmam gerekiyor. Liquibase ve Flyway'in özelliklerini keşfettikten sonra, hangisinin kullanılacağı konusunda biraz kafam karıştı. Geri alma desteği, veritabanı-nötr değişiklikleri vb. Beni Liquibase'e çekerken, diğer yandan basitlik (SQL tabanlı), daha iyi prosedür ve PL/SQL desteği beni Flyway'e doğru çekiyor. Son olarak karar vermeden önce burada daha somut veri noktalarına ihtiyacınız var.Liquibase vs Flyway hangisi?
cevap
Her iki aleti zaten kullandım ve görüyorum ki, bunlar ana farklılıklar. Eğer sadece bir klasör konumu ihtiyaç ve bir isim sözdizimi tutmak V1__file.sql ...
Flyway
- Kolay yapılandırma Belirli bir veritabanı motorunuzun sözdizimi (Mysql, DB2, ...)
- Java, bu nedenle temizlemek, yürütmek vb. için özel yapılandırma eklemek daha kolaydır.
- Liquibase tüm idam changesets takip etmek için "changelog" bir ana dosyası Need.
- XML tabanlı, bu nedenle SQL kodu oluşturmak için belirli bir liquibase etiketi kullanmanız gerekir. Bu, kodunuzu farklı bir DB motoruna geçirmeniz için mükemmel: herhangi bir şeyi değiştirmeniz gerekmeyecek ve yalnızca DB sürücüsü , liquibase'e XML etiketlerinden doğru SQL sözdizimine nasıl çeviri yapacağını söyleyecektir.
- Eğer sql etiketini liquibase'den kullanırsanız, o zaman point 2'den yararlanamazsınız, bu yüzden Flyway'i kullanmak daha iyi olur.
- Liquibase, varolan bir DB'yi tüm gerekli XML dosyalarına otomatik olarak geçirecek bir jar sağlar, bu nedenle el ile çalışmanıza gerek yoktur. Gayet yararlı.
Şimdi ileride vb
Liquibase'in daha yeni sürümleri, SQL yorumları olarak meta verilerle basit SQL değişikliklerini destekler –
Liquibase'in birçok DDL değişikliği için otomatik geri alma komutları üretebileceğini eklemenin faydalı olduğunu düşünüyorum. – Kafkaesque
Flyway ayrıca java tabanlı geçişleri de destekler. Https://flywaydb.org/getstarted/java adresine bakın. –
ben Liquibase kullanılan farklı DB motoru göç gerekip gerekmediğini, projeniz için gerekenleri karar vermek size kalmıştır. Kurumsal düzeyde uygulama için (farklı ekiplerle işbirliği yapıyorsanız) Liquibase size çok uygundur. Geri alma özelliğini seviyorum.
Küçük uygulamalar için Flyway basitlikten dolayı iyi olacaktır.
- 1. Liquibase
- 2. dragexit vs dragleave - hangisi kullanılmalıdır?
- 3. Hibernate Criteria vs HQL: hangisi daha hızlı?
- 4. array_push() vs. $ array [] = .... En hızlı hangisi?
- 5. GraniteDS vs BlazeDS hangisi diğerinden daha fazla?
- 6. MAX vs Top 1 - hangisi daha iyi?
- 7. VBS vs PowerShell: Hangisi daha hafif?
- 8. hangisi?
- 9. Liquibase Varsayılan değer ekle
- 10. Liquibase XML'i YAML'ye dönüştürün?
- 11. Flyway Maven init geçirmeden önce
- 12. Hangisi daha iyi seçmeli?
- 13. Döküm (int?) Null vs new int?() - Hangisi daha iyi?
- 14. Hangisi daha iyidir: tablo başına tek global dizi vs.
- 15. Web sitesi projeleri vs Web Uygulaması - hangisi daha iyi?
- 16. Nine-Patch Drawable vs Şekil Çizilebilir. Hangisi tercih edilmeli?
- 17. Liquibase CSV içe aktarma hatası
- 18. liquibase: hatalı oluşturulmuş yabancı anahtar
- 19. Flyway tarafından yürütülen SQL deyimlerini nasıl kaydedebilirim?
- 20. Özellik dalları ile çalışırken Flyway nasıl kullanılır
- 21. Hazırlanan JPA (açıklamalı Varlıklar) ve liquibase
- 22. Scriptlerde maven değişkeni nasıl kullanılır Liquibase?
- 23. Neden liquibase databasechangelog'un birincil anahtarı yok?
- 24. Çalıştırma Ortamı, liquibase komut dosyasından özel değişiklikler
- 25. Liquibase - sağlama toplamı mı devre dışı?
- 26. SAL ek açıklamaları hangisi?
- 27. TR1 - Hangisi daha iyi?
- 28. vs typeof
- 29. Hangisi daha iyi? Bu kod örneğinde özel
- 30. Android GCM proje kimliği hangisi?
Yalnızca ortamınıza ve proje planlarınıza göre yanıtlayabileceğiniz bir soru oluşturdunuz. Liquibase - rollback desteği, veritabanı-nötr değişimler vs Flyway - basitlik (SQL tabanlı), daha iyi prosedür ve PL/SQL desteği. –
Roger Aklında başka bir şey var mı? Bunlardan biri tarafından sağlanan herhangi bir önemli özellik gibi değil mi? – Tanmoy
Bunlar farklı araçlardır ve bu nedenle, özelliklerini geliştirme sırasında yapmak istediğiniz şeylerle eşleştirmeniz gerekir. cralfaro'nun cevabı, farklılıklar listesini genişletir, ancak bir çözümle neyi başarmayı amaçladığınızı listelemediniz, bu yüzden herkesin doğrudan cevap vermesi zorlaşır. –