Visualstudio veritabanı projemi veritabanımla nasıl senkronize edebilirim?


11

Veritabanı şememin Visual Studio .dbproj veritabanı projemle senkronize olmasını istiyorum.

Şu anda, veritabanı geliştirme çalışmalarımın çoğunda SSMS kullanıyorum ve db şemasının ve .dbproj'un senkronize edilmesine ihtiyaç duyduğumda el ile görsel stüdyoların şema karşılaştırma aracını kullanmam gerekiyor. Bunu neden isteyeyim ki? Çünkü :

  • Değişiklikleri kontrol etmenin tek yolu bu
  • Değişiklikleri uygulamanın tek yolu budur
  • Bunu yapmamanız, dosyaları alırken bazı birleştirme sorunlarına neden olur (temel olarak, "en son alın", onları kontrol etmeden güncellediğim db nesnelerinde bazı db değişiklikleri içeriyorsa, bir birleştirme tetiklenmez ve hangi sürümün hangisi olduğunu takip edin)
  • VisualStudio'nun arama özelliklerini şemanın güncel bir sürümünde kullanabilmek güzel
  • Arama sonuçlarını kullanarak saklı yordamları VS'den (genellikle bir dosyayı yeniden adlandırdığınızda) değiştirebilmeniz güzeldir.

Her 5 dakikada bir çalışmasını sağlamak için "şema karşılaştırma" aracını otomatikleştirmek dışında (ki bu "temiz" bir çözüm gibi görünmez), bunu başarmanın yolları var mı?

Mümkünse SSMS kullanmaya devam etmek istiyorum, ancak görsel stüdyoda "Sunucu Gezgini / Veritabanı bağlantıları" kullanılarak yapılan değişiklikleri otomatik olarak .dbproj'a yaymanın yollarıyla da ilgileniyorum.


veritabanı projenizi SSMS ile senkronize etmenin bir yolunu buldunuz mu?

Yanıtlar:


4

SQL Server Management Studio öncelikle bir SQL Server YÖNETİM aracıdır ve bu nedenle aradığınız senaryoları destekleyecek şekilde tasarlanmamıştır.

Visual Studio Team System 2008 Veritabanı Sürümü ve Visual Studio Team System 2010 Pro / Ultimate, kapsamlı veritabanı varlıklarına sahip olanların veritabanı şema / görünüm / proc / vb. uygulama geliştirme ile geliştirme.

VSDB, şema öğesi başına komut dosyası dosyalarını kaynak denetimi yapabilmeniz için varolan DB şemalarını Visual Studio projelerine tersine mühendislik uygulamanızı sağlar. Ayrıca, SQL 2005/2008/2010 tarafından desteklenen hemen hemen tüm şema öğelerinin oluşturulması için SQL Server şema komut dosyalarını değiştirebilir / oluşturabilirsiniz.

VSDB, boş / mevcut DB'lere tam / kısmi DB şema güncellemelerini, yalnızca mevcut DB'yi (varsa) değiştirmek için gerekli değişiklikleri uygulamaya çalışacak şekilde BÜYÜK miktarda iş yapması için dağıtma yeteneğini de destekler. kaynak VSDB veritabanı projesi.

VSDB ayrıca DB'ler ve / veya DB projeleri arasındaki şemaları karşılaştırmanıza yardımcı olacak bir dizi araç içerir ve ayrıca tablo içeriğini farklılaştırmanıza ve birleştirmenize olanak tanır.

Ancak, bu araç seti bugün desteklenirken, ekibin o zamandan beri dağıtıldığını ve ürünün bakım modunda olduğunu unutmayın. SQL Server ürün grubu şimdi geliştiriciler için araçlar oluşturma sorumluluğuna sahiptir ve bunu yapmak çok zordur :)


1
Zaten VS 2010 db özellikleri kullanıcısıyım. Ama henüz hem veritabanı projemi hem de veritabanı projemi aynı anda anında değiştirmek için nasıl kullanacağımı bulamadım. Her değişiklikten sonra şema karşılaştırması yapmak çok fazla güçlük
çekiyor

Dün VSDB'ye bakmaya başladıktan sonra, son paragrafınızı oldukça endişe verici buluyorum. Kulağa çok fazla zaman ve enerji harcamak zahmet etmemeliyim ...?
Benjol

1

Bunu yapmak için VS2010 nihai özellikleri ile bildiğim iki yol var.

  1. DB şemasını düzenlemek için SSMS veya başka bir araç kullanın, şema karşılaştırmasını düzenli olarak (gün sonu) çalıştırın ve şema değişikliklerini DB projesine alın.
  2. DB projenizdeki dosyaları VS aracılığıyla düzenleyin ve ardından doğrudan DB'nizde çalışan veya DB'deki şemanızı güncelleştirmek için çalıştırmanız için bir komut dosyası oluşturan bir dağıtım paketi oluşturun.

İkinci çözüm, bence, en iyi çözümdür. Yalnızca tek bir tıklama gerektiren bir dağıtım işlemi ayarlayabilirsiniz. Visual Studio'da dosyalarınızı düzenlemek otomatik olarak kaynak denetiminin dışında kalmasını sağlar. İlk yöntemle çalıştım, ancak şema karşılaştırmaları yapmak her zaman zor. Ayrıca, en azından benim için, şema karşılaştırma aracı Visual Studio'yu çok çöküyor.
Kris Harper
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.