¿Cómo habilitar las migraciones del marco de primera entidad de código para Windows Azure cuando se publica del control de origen?

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

Pregunta

Tengo un proyecto que estoy publicando para Azure automáticamente a través del control de la fuente.He configurado Azure para tener una cadena de conexión adecuada para el contexto del marco de entidades.Necesito ejecutar automáticamente las migraciones contra la base de datos de Azure asociada con el sitio web.

Sé que hay una opción en el cuadro de diálogo Publicar, pero necesito agregar manualmente cualquier magia que entra en la web.config para decirle a Azure para aplicar las migraciones.¿Qué se requiere para tener migraciones de ejecución de Azure del control de la fuente y, si esto no es posible, es otra manera?

Estoy usando EF 6.

¿Fue útil?

Solución

Necesitas es configurar su contexto para migrar en ejecución.Debe hacer esto solo una vez por proceso de funcionamiento, por lo que un constructor estático en el contexto es un lugar bastante decente para ponerlo

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

También asegúrese de que una cadena de conexión esté configurada en Azure.

Si está utilizando migraciones automáticas (que es una mala idea en un sitio implementado), también necesitará los habilitados

Otros consejos

Para ejecutar tales scripts de migración, recomendaría usar Azure WebJobs: http://www.hanselman.com/blog/introducingwindowsazurewebjobs.aspx

Azure WebJobs, es un programador para ejecutar scripts como .bat, .exe, etc., básicamente funciona como Cron en máquinas UNIX, pero ofrece interfaz de usuario intuitiva y fácil de usar.Así que para @Romoku Case, podría crear una aplicación de consola.Que usa EF 6.0 y todo lo que .NET ofrece programar sus migraciones y rastrear registros de las oparaciones.Funciona en la misma máquina y en el entorno que el sitio web se está ejecutando.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top