Bu konuya zaten çok sayıda soru ve yanıt var, örneğin, How to use Flyway when working with feature branches var, ancak hiç sahip olmadığım soru cevap vermiyor. Çözmesi bile mümkün olmayabilir. Aynı nesneyi değiştiren birden çok özellik dalını kullanarak Flyway'i kullanma
ben basit saklı yordam olduğunu varsayalım:CREATE PROCEDURE GetSomeData AS
SELECT Id, CreateDate, Stuff
FROM Data
Şimdi, iki farklı özellik dallar oluşturulur ve her iki özellik aynı SP değiştirmesi gerekir. Özelliği A 20160414104532__limit_data.sql
ilk değişim-komut dosyası oluşturur:
ALTER PROCEDURE GetSomData
SELECT Id, CreateDate, Stuff
FROM Data
WHERE CreateDate > DATEADD(day,-7,GETDATE())
Ve özellik B çıkışına bir sütun eklemek gerekiyor. Ancak farklı özellikler ile çalışan takımlar dünyanın farklı bölgelerinde yer alıyorlar ve birbirleri hakkında hiçbir şey bilmiyorlar. Bunlar 20160413153225__add_column.sql
oluşturmak: özelliklerden biri tamamlandığında
ALTER PROCEDURE GetSomData
SELECT Id, CreateDate, Stuff, Things
FROM Data
, üretim dalı haline birleştirilecektir. Üç hafta sonra, ikinci özellik tamamlandı ve üretime birleştirildi. Burada ikilem var, ikinci özellik ilk özellik tarafından değiştirilen saklı yordamın üzerine yazacak ve biz de üretimde bir hata yapabileceksiniz. Buradaki gerçek çözüm elbette prosedürü birleştirmektir, ancak senaryolar birbirinden bağımsız olduğu için, birleştirme sırasında bir çakışma belirtisi yoktur. Kötü bir şeylerin olduğunu öğrenmenin tek yolu, kodu çalıştırmak ve çalışma zamanında öğrenmek.
Bu tür sorunları bu süreçte daha önce bulmak için herhangi bir basit çözüm veya geçici çözüm var mı? Belki de bu tür ortamlarda kullanmak için uçağın aracı değil midir? Değilse, alternatifler nelerdir?
Eğer tekrarlanabilir göçler kullanmayı denediniz yardımcı Umut ya da sizin için uygun değildir? – merz
@TheQ Bu soruna bir cevap buldunuz mu? Bir geçici çözüm kullanıyor musunuz? Burada aynı sorunla karşı karşıyayız ve bulduğunuz şeyi duymak istiyoruz. – MaxiWheat
@MaxiWheat Hayır, maalesef henüz bu sorunu çözmedik. Sahip olduğumuz tek “geçici çözüm”, ekipteki bir kişinin serbest bırakılan tüm senaryoları incelemesi ve bir çatışma olup olmadığını görmeye çalışmasıdır. Bu yaklaşım kusursuz olmaktan çok uzaktır ve bunun için üretimde sorunlarımız var. Sanırım uçuş yolu, bu gibi özellik-dalları ile çalışırken kullanılacak araç değil, ama başka bir çözüm bulmak için zamanımız ya da enerjimiz olmadı. – TheQ