2013-06-11 14 views
5

Contesto: Ho la soluzione ASP.NET MVC4 distribuita in Azure.
Il mio database server MSSQL è anche lì, in Azure.Utilizzo del database di aggiornamento nelle migrazioni EF quando distribuito in Azure

Io attualmente distribuire in questo modo:

  1. Nel web.config posso cambiare la stringa di connessione dal database locale (SDF) a base di dati azzurro (connectionString="Server=tcp:.....database.windows.net, ...")

  2. fare clic destro del mouse sul nome del progetto (visual Studio), e poi "Pubblica"

quindi, la mia domanda è :
Come utilizzare il comando Update-database nella console di Gestione pacchetti?

È così?

  1. Stesso passo # 1 dall'alto
  2. Run Update-Database

Voglio essere sicuro di questo. Inoltre, suppongo che dovrei aggiungere l'eccezione IP del firewall da Azure prima di eseguire il passaggio n.

risposta

7

Sì, hai ragione. Almeno è così che ha funzionato per me:

  • abilitare una regola firewall per il tuo attuale indirizzo IP in Azure
  • Aggiornare la stringa di connessione web.config accordo con la stringa conneciton Database Azure.
  • Run Update-Database in Package Manager Console

D'altra parte, a causa della sua situazione ("voglio essere sicuro di questo"), vi consiglio di duplicare il database in Azure e testare questi passi con questo backup.

Spero che aiuti.

EDIT a causa di commentare:

Check this out: Triggering EF migration at application startup by code

+0

Esiste un modo programmatico di fare l'aggiornamento? Come in global.asax con Application_Start. In modo che continui a distribuire da VS (e niente più da VS) – sports

+2

Controlla questo: [Attivare la migrazione EF all'avvio dell'applicazione tramite codice] (http://stackoverflow.com/questions/8508280/triggering-ef-migration-at -application-startup-by-code) - Commento [suggerito] (http://stackoverflow.com/review/suggested-edits/2306264) di utente anonimo –

+1

Questo era il mio commento ma ho dimenticato di accedere per rispondere: S – Vic

Problemi correlati