Benim CodeFirst uygulamasında, yerel üretim olmama i belirtir bir app.config bayrağı var oluşturur. Üretimde olmadığımda, veritabanını tamamen temizler ve yeniden oluşturur. Benim üretim veritabanı kullanıcı benim web.config şekilde cevapsız dönüşümü bile veritabanını düşmesi izinlere sahip DEĞİLDİR beri benim üretim veritabanı silinmez (böylece EF veritabanını yeniden dener), ve bunun yerine bir istisna atılmış olacaktır.
Benim iş akışı şöyledir:
- Kontrol dışarı
- Hızla duman/regresyon testi değiştirir en son kod üretim dalı (bu zaten üretim dalı haline kodunu kontrol kala yapılan, ama sadece edilmelidir durumda) içinde
- benim üretim veritabanının son yedeğini indirin ve benim yerel kod yerel o recr beri bu üretim kodu olsa bile (yaratılan veritabanı arasında benim yerel SQLEXPRESS sunucusuna
- Run Open DBDiff kurun üretim yedeğine karşı veritabanını yiyor.
- Oluşturulan komut dosyalarını gözden geçirin ve bunları üretim yedeğine karşı çalıştırmaya çalışın
- Hata bulunmadığı varsayıldığında, veritabanının üretim yedeği ile oluşturulan kodun üzerine yazıp tüm verilerin sağlam olduğundan emin olmak için üretim verilerine karşı test gerçekleştirin; Gerçek üretim veritabanı üzerinde
- Çalıştır komut dosyalarını.
Adım # 2 otomatik olarak en yeni veri modelini temel alan yeni ve temiz bir veritabanı oluşturur. Bu nedenle, her zaman hazır olduğum geliştirme işlemlerinden kaynaklanan ve henüz üretime hazır olmayan geliştirme veritabanlarına sahip bir veritabanım olduğunu biliyorum.
Tam olarak ne arıyorsunuz? DB şemanızı CF ile yeniden düzenleyemezsiniz. – TheCloudlessSky
, eğer onu uçurup yeniden yaratırsanız, onu yeniden düzenlemek zorunda değilsiniz, aksi halde, göçmenlik komut dosyalarını yazmanız ve uygulamanız gerekmeyecek mi? Aksi halde kodla eşleşmez. –