Come abilitare i codici migrazioni quadro di prima entità per Windows Azure durante la pubblicazione dal controllo sorgente?

StackOverflow https://stackoverflow.com//questions/23013671

Domanda

Ho un progetto che sto pubblicando automaticamente ad Azure tramite il controllo della sorgente.Ho configurato Azure per avere una stringa di connessione adeguata per il contesto quadro dell'entità.Ho bisogno di eseguire automaticamente le migrazioni contro il database Azure associato al sito Web.

So che c'è un'opzione nella finestra di dialogo Pubblica, ma ho bisogno di aggiungere manualmente qualsiasi magia entra nel web.config per dire a Azure di applicare le migrazioni.Ciò che è richiesto per far funzionare Azure Migrazioni dal controllo della sorgente e se questo non è possibile c'è un altro modo?

Sto usando EF 6.

È stato utile?

Soluzione

È necessario configurare il contesto per migrare in esecuzione.È necessario farlo solo una volta per processo di esecuzione, quindi un costruttore statico nel contesto è un posto piuttosto decente da metterlo

static MyContext()
{
    Database.SetInitializer(new MigrateDatabaseToLatestVersion<MyContext, Data.Migrations.Configuration>());
}
.

Assicurarsi anche che una stringa di connessione sia configurata in Azure.

Se si utilizzano migrazioni automatiche (che è una cattiva idea in un sito distribuito), è necessario anche quelli abilitati

Altri suggerimenti

Per eseguire tali script di migrazione consiglierei di utilizzare Azure Webjobs: http://www.hanselman.com/blog/introducingwindowsazurewebjobs.aspx

Webjobs Azure, è uno schedulatore per gli script di esecuzione come .bat, .exe, ecc. Fondamentalmente funziona come Cron su macchine UNIX ma offre interfaccia utente intuitiva e facile da usare.Quindi per @Romoku caso, potrebbe creare un'app console.Ciò utilizza EF 6.0 e tutto ciò che .Net offre per pianificare le sue migrazioni e tracciare i registri degli opaggi.Funziona sulla stessa macchina e nell'ambiente che il sito Web è in esecuzione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top