En el paquete tipo de consola de administrador:
Get-Help Update-Database
parte pertinente:
Update-Database [-SourceMigration <String>] [-TargetMigration <String>] [-Script] [-Force] [-ProjectName <String>] [-StartUpProjectName <String>] [-ConfigurationTypeName <String>] [-ConnectionStringName <String>] [<Com
monParameters>]
para que pueda hacer un Update-Database -ConnectionStringName "MyConnectionString"
y debería funcionar como un encanto.
También tiene un inicializador de base de datos MigrateDatabaseToLatestVersion
, si lo configura (mediante Dabase.SetInitializer()
), al implementar su aplicación en producción con la cadena de conexión adecuada, en el acceso de frist db debe migrar automágicamente su base de datos a la última versión.
Sugiero precaución, siempre copias de seguridad de las cosas.
actualización
comentarios @Alexy Strakh recientes generaron otro argumento vale la pena poner en la respuesta.
Configuración adecuada de un sistema de implementación utilizando Code First Migrations, con el número 2 ConnectionString
s.
- Definir sus cadenas de conexión en web.config (prod y dev), con contraseñas por defecto
- tiene el sistema de configuración de la aplicación sabe acerca de las configuraciones de conexión y prod dev, opcionalmente construir pruebas unitarias para asegurar la correcta es captada *
- Emplear config file transformation y tiene que transformar su web.config en el que tiene valores de producción
- de implementar el paquete a la producción (this should be the most cutting edge way)
Se supone que no debe interactuar con el entorno de producción desde su cuadro de desarrollo, pero si realmente necesita , conviértalo en una solución temporal que debe revertirse tan pronto como haya terminado.
Otra opción es simplemente usar Web.Debug.config y Web.Release.config y tener una plantilla central para el web.config principal (que sería el único que ingrese en su control de origen).
Solo asegúrese de no verificar nunca las contraseñas de producción o desarrollo personal (si es alguna).
* Puede usar el símbolo DEBUG para verificar cómo se está ejecutando la aplicación.
Para aquellos que verifican NO con app.config y no usan la consola de PM, consulte esta publicación http://stackoverflow.com/questions/15504465/entityframework-code-first-custom-connection-string-and-migrations/16133150# 16133150 –