2015-02-20 11 views
6

Con la nuova funzionalità delle "Impostazioni di slot" degli slot di distribuzione del sito Web di Azure, possiamo "appuntare" una stringa di connessione e le impostazioni dell'app in un determinato spazio. Ho creato due slot: produzione e messa in scena, e ho verificato che posso scambiarli e puntare al database corretto. Il database viene aggiornato automaticamente utilizzando le migrazioni prima del codice. Tuttavia, non sono sicuro di come esattamente un "rollback" dovrebbe (o dovrebbe) funzionare con il database in questo scenario.Come gestire il rollback del database negli slot di distribuzione di Azure?

Ad esempio, si consideri il seguente:

  • App v1 è in esecuzione in staging e indicò in scena Db v1
  • App v1 è in esecuzione in produzione e indicò la produzione Db v1
  • App v2 è distribuito in staging e aggiornamenti di Code First Migrations da staging Db a Db v2
  • gli alloggiamenti di staging e produzione vengono scambiati.
  • L'app v2 è in esecuzione in produzione e il db di produzione è aggiornato a Db v2.
  • App v1 è in esecuzione in messa in scena, ma indicò in scena db, che è ancora Db v2

Esiste un modo per rotolare il database messa in scena di nuovo a v1? Se si è verificata una "emergenza" e ho dovuto sostituire di nuovo la messa in scena e la produzione, ci sarebbe un modo per riportare il database di produzione alla v1? Capisco che questo può essere fatto utilizzando Update-Database, ma non sono chiaro come impostarlo il più automatizzato possibile nei siti Web di Azure.

+0

Questa è una domanda eccellente. Ci sono delle risposte migliori un anno dopo? –

risposta

0

Penso che tu abbia risposto alla tua stessa domanda. A meno che non sia presente un db di staging su DBv1, è necessario aggiornare manualmente il database di staging per eseguire il rollback. Non penso che ci sia un modo automatico per farlo.