Yazılımınızın her sürümü için bir takım veritabanı güncellemelerine sahip olduğunuzu düşünüyorum. Bu güncellemeleri, yazılımınızın yeni sürümü ilk kez başlatıldığında test edilmek üzere bir T-SQL talimatı olarak neden yazmıyorsunuz? Veritabanınızdaki bağlantıyı yazılımınızdan açın ve herhangi bir SELECT veya UPDATE komutunu gönderirken DDL talimatlarını gönderin. Ben de Jack Paulsen'i öneren bir şeye benzeyeceğim: bu T-SQL talimatlarının bir listesini bir çift tanımlama sistemi ile sürdürmek: Biri veritabanı/yazılım sürümüne bağlı (benzersiz bir tanımlayıcı olabilir), diğeri (sayı) senin T- bakın ALTER, damla tam açıklaması için
//instruction 1, batch instructions for version#2.162
USE myDatabase
GO
ALTER TABLE myTable
ADD myColumn uniqueIdentifier Null
GO
//instruction 2, batch instructions for version#2.162
USE myDatabase
ALTER TABLE myTable
ADD CONSTRAINT myTable_myColumn FOREIGN KEY (myColumn) ...
GO
ve talimatları CREATE:
Örnek: (talimat 2 talimatı 1 önce idam edilemez benim örneğe bakın) bir seri sırayla talimatları tutmak SQL yardımı Sadece (örneğin) o alanı silmeden önce bir alana bağlı olan Dizinleri ve Kısıtlamaları silmek için yeterince dikkatli olun.
Sen elbette kontrol Hatta daha karmaşık bir şey düşünebilirsiniz, eklenen sütunlar için vs.
değerlerini hesaplamak için bazı ekstra GÜNCELLEME talimatları ekleyebilirsiniz eğer veritabanı sürümü 2. yol açtı önceki yükseltme adımlar (.161) doğru şekilde uygulandı.
Tavsiyem: bu T-SQL yönergelerini yazarken, aynı zamanda "karşı taraflar" ın da izini sürdürebilirsiniz, böylece istediğiniz zaman (hata ayıklama zamanı) veritabanı yapınızı bir önceki sürüme indirgeyebilirsiniz.
Kırmızı Kapısı ... Onları kontrol öneriyoruz SQL Server ile çalışmak için harika araç vardır burada daha iyi bir SQL veri tabanlarına bazı kuralları vardır. – mattruma
Paraya mal olur. – Shimmy