2012-07-03 32 views
13

Kod İlk Göçler ile Evreleme Ortamında Testi için En İyi Uygulama:Azure: Windows Azure aşağıdaki kurulum var

  • bir "test" kendi "test" veritabanına bağlı barındırılan bir hizmet.
  • Kendi "üretim" veritabanına bağlı bir "üretim" tarafından barındırılan hizmet. Bir Yapı testinin doğrulandı ve üretime gitmeye hazırdır

, biz üretim barındırılan hizmetindeki bir "evreleme" dağıtım yukarı dönmeye ve emin yeni inşa kalmamasını sağlamak için hızlı bir duman testi yapmak Tamamen kırılmış. Hazırlama örneği, üretime dağıtılacak kesin bitlerle konuşlandırılır, bu nedenle üretim veritabanına konuşulur. Evreleme kutsanırken "VIP Takas" düğmesine basıyoruz ve yapı üretimde yayında. Her şey yolunda.

Veritabanı modeli değiştiğinde sorun ortaya çıkıyor. Kod İlk Göçlerim mükemmel çalışıyor. Yeni geçişler ekleyebilir, paket yöneticisi konsoluyla yerel olarak uygulayabilir ve test için yeni bir yapı oluşturduğumda test veritabanını yükseltmek için SQL komut dosyaları üretebilirim. Soru, Kod İlk Geçişlerini kullanarak aşama/üretim dağıtımları ile birlikte en iyi uygulama nedir? Yeni bir yapıyı model değişiklikleriyle aşamalı olarak yerleştirdiğimde, modeliyle eşleşen bir veritabanı bulmayı bekler. Ancak, model değişikliklerini üretim veritabanına uyguladığımda, üretim örneğinin modeli eşleşmediğinden şikayetçi olur.

Sadece evreleme dumanı testini geçtim. Aşamaya yükledim, ardından üretim veritabanını günceller ve aynı anda "VIP Takas" düğmesine basarlar. Daha sonra üretimde duman testi. Bir şey büyük ölçüde bozulursa, "VIP'yi değiştir" geri dönün ve veritabanı değişikliklerini geri alın.

Bunu yapmanın daha iyi bir yolu var mı, yoksa bu kadar mı?

Teşekkürler!

+0

İyi şanslar bazı varsa, ben şu anda düşünebildiğim tek şey "son yükseltme" otomatik devre dışı bırakma veya kendi DbMigrator genişletmek olduğunu Evreleme ve üretim arasındaki farkı ayırt etmenin yolu. En iyi yol, yükseltmeye izin verilebilecek bir aşamalı db'yi hedeflemek ve sonra başka bir DB'yi değiştirdiğinizde olacaktır. Ancak takas ettiğinizde gerçekten hiçbir şey gerçekleşmediğinden, bunun nasıl olacağını göremiyorum. – FRoZeN

+0

Bu gerçekten bozuldu. Evreleme ve göçler uyumsuz. Değişmeden önce web sunucusunu geçirmenin ve ısınmanın yolu yoktur. Göçler uygulanır uygulanmaz üretim web sunucusu kapanır. Varlık çerçevesinin aşamalı değişiklikleri ele alabileceğini varsayabilirim (örneğin bir tablo ekleyerek). Bunu yapmanın tek yolu, ayrı bir aşama veritabanı ile görünüyor. –

cevap

0

ben herhangi bulamadı ve kullanıcıların proje için en uygun olanı kullanıyor görünüyor ve onlar için çalıştığı için en iyi yöntem ne olduğu konusunda emin değilim. Bir senaryoda, çözüm, DB'nin boş ve aşamalandırma veritabanını önce EF koduyla oluşturulduğu ve geçişin uygulandığı, açıkladığınız şekilde planınıza benziyordu. Test yapıldıktan sonra, betikler daha sonra üretim ile bağlantılı olan başka bir veri tabanına aktarıldı.

+0

Teşekkürler. Kaybettiğim bir sihir olduğunu umuyordum ama öyle görünmüyordu. – ManicBlowfish

0

Sizin gibi Azure, EF vb. Ve benzeri konularda çalışıyorum. Şu anda senaryonuz için en iyi uygulama hangisi olduğunu bilmiyorum. Ancak, dağıtım risklerini en aza indirmek için TFS ve/veya Github'un sürekli entegrasyon araçlarının kullanılmasının mantıklı olduğuna inanıyorum. Umarım aşağıdaki makale size bir bakış açısı sunacaktır.

Click here

Ben aynı sorunu yaşıyorum