Sul tipo di console gestore di pacchetti:
Get-Help Update-Database
parte Rilevante:
Update-Database [-SourceMigration <String>] [-TargetMigration <String>] [-Script] [-Force] [-ProjectName <String>] [-StartUpProjectName <String>] [-ConfigurationTypeName <String>] [-ConnectionStringName <String>] [<Com
monParameters>]
modo da poter fare un Update-Database -ConnectionStringName "MyConnectionString"
e dovrebbe funzionare come un fascino.
Si dispone anche di un inizializzatore del database MigrateDatabaseToLatestVersion
, se lo si imposta (tramite Dabase.SetInitializer()
), quando si distribuisce l'app in produzione con una stringa di connessione corretta, in primo accesso deve migrare automaticamente il file db alla versione più recente.
Suggerisco comunque di cautela, sempre di backup.
Aggiornamento
@Alexy Strakh recenti commenti generato un altro argomento vale la pena mettere nella risposta.
Configurare correttamente un sistema di distribuzione utilizzando Code First Migrations, dato 2 ConnectionString
s.
- Definire le stringhe di connessione in web.config (prod e dev), con password di default
- avere il sistema di configurazione dell'applicazione conoscere le configurazioni di prod e di collegamento dev, opzionalmente costruire unit test per garantire la a destra si è scelto *
- Impiegare config file transformation e farlo trasformare il vostro web.config in quello con valori di produzione
- distribuisce il pacchetto alla produzione (this should be the most cutting edge way)
Non si deve interagire con l'ambiente di produzione dalla propria casella di sviluppo, ma se è necessario fare il , trasformarlo in una soluzione temporanea che deve essere ripristinata non appena finito.
Un'altra opzione è utilizzare semplicemente Web.Debug.config e Web.Release.config e disporre di un modello centrale per il web.config principale (che sarebbe l'unico a cui si esegue il check-in nel controllo sorgente).
Assicurati di non controllare mai le password di produzione o di sviluppo personale (se qualsiasi).
* È possibile utilizzare il simbolo DEBUG per verificare come l'applicazione è in esecuzione.
Per coloro che verificano NO app.config e non utilizzano la console PM, vedere questo post http://stackoverflow.com/questions/15504465/entityframework-code-first-custom-connection-string-and-migrations/16133150# 16133150 –