2013-07-04 11 views
5

Przychodzące z webforms asp.net przełączanie na kod mvc i kod struktury encji pierwsze podejście Mam teraz pytanie. Jak mogę skonfigurować moje środowisko do wdrożenia w produkcji?Jak wdrożyć do produkcji z kodem kodu jednostki najpierw

Im przy użyciu Visual Studio 2012 i wdraża pakiet wdrażania sieci. Lokalnie Mam SQL Express i w produkcji mam SQL Server 2008.

Chcę, aby mój test był rozwijany lokalnie na moim komputerze i od czasu do czasu wdrażać moje rozwiązanie do produkcji za pomocą pakietu wdrażania sieciowego. Nie chcę uruchamiać migracji w systemie produkcyjnym, zamiast tego chcę generować skrypty z wizualnego studia, które następnie mogę dołączyć do produkcji SQL.

Próbowałem:

  • Tworzenie Initial migracji w dev. Baza
  • Aktualizacja lokalnie
  • Generowanie skryptu update-baza -script -sourcemigration: InitialCreate
  • Zastosuj ten skrypt w produkcji
  • wdrożyć aplikację do produkcji

Czy to właściwe podejście? A co z moimi migracjami, które będą działać lokalnie, czy nie będą produkowane podczas wdrażania z powodu mojego kodu migracji?

W global.asax

Migrator.RunMigrations(); 

gdzie RunMigrations jest statyczna metoda w klasie zwyczaj Migrator jak ten

public class Migrator 
    { 
     public static void RunMigrations() 
     { 
      var migrator = new Configuration(); 
      var dbMigrator = new System.Data.Entity.Migrations.DbMigrator(migrator); 
      if (dbMigrator.GetPendingMigrations().Any()) 
      { 


       dbMigrator.Update(); 

      } 
     } 
    } 

Odpowiedz

2

Można z Web Setup Project (dla instalacji MSI akcja niestandardowa jest potrzebna) :

Rzeczywistą pracę związaną z aktualizowaniem bazy danych można wykonać za pomocą narzędzia migrate.exe. Aby uruchomić pakiet MSI, okazało się, że jest to wyzwanie. Najpierw włączono plik migrate.exe do pakietu instalacyjnego, aby został on wdrożony w katalogu bin razem ze złożeniami systemu. Istnieje wsparcie dla uruchamiania pliku exe jako niestandardowej akcji w projektach konfiguracji sieci. Niestety nie udało mi się uruchomić programu migrate.exe, chyba że katalog roboczy został ustawiony na katalog bin. Katalog roboczy dla działań niestandardowych jest domyślnie ustawiony jako c: \ windows \ system32. Aby to obsłużyć, użyto małego skryptu vb.

http://coding.abel.nu/2012/04/update-database-msi-custom-action/

UPDATE:

znalazłem this i this i this, może pomóc.

Powiązane problemy