Saltar al contenido

Uso de migraciones de Entity Framework (código primero) en producción

Nuestros mejores desarrolladores agotaron sus reservas de café, en su búsqueda día y noche por la respuesta, hasta que Mercedes encontró el hallazgo en Gogs y ahora la comparte con nosotros.

Solución:

Hay un inicializador de base de datos que puede usar para lograr la migración a la última versión en el inicio (o mejor, el dbinitializer se activará en el primer acceso a la base de datos), el MigrateDatabaseToLatestVersionlo usas así:

Database.SetInitializer(
    new MigrateDatabaseToLatestVersion());

En cuanto a tener un archivo por migración, si habilitas las migraciones automáticas las encontrarás en la Migrations carpeta (por defecto) en la raíz de su proyecto.

Información relevante, con ejemplos, aquí: http://weblogs.asp.net/fredriknormen/archive/2012/02/15/using-entity-framework-4-3-database-migration-for-any-project.aspx

Esto también funciona:

var configuration = new MyDbContextConfiguration();
configuration.TargetDatabase = new DbConnectionInfo(
    database.ConnectionString, database.ProviderName);

var migrator = new DbMigrator(configuration);
migrator.Update();

También puede llamar:

migrator.GetPendingMigrations();

para obtener una lista de las migraciones que necesita aplicar.

Como no especificó qué versión de Visual Studio está usando o la base de datos, agregaré una respuesta aquí para decir que en VS2015 con SQL Server de Microsoft, ahora es increíblemente fácil usar la herramienta “Publicar”.

No necesita preocuparse por la API de la que habla. Simplemente haga su trabajo localmente, cambie sus modelos, aplique migraciones, etc., luego, cuando desee lanzar o probar servidores, use la herramienta de publicación.

Puede seleccionar aplicar cualquier migración que haya realizado localmente al servidor remoto la primera vez que se inicia la aplicación.

Una vez que tenga todas sus migraciones y todo hecho localmente (presumiblemente en su entorno de desarrollo), luego publique (haga clic con el botón derecho en el proyecto, haga clic en “Publicar …” Marque la casilla de verificación “Ejecutar migraciones de Code First (se ejecuta al iniciar la aplicación)” debajo la pestaña “Configuración” y luego aplicará las migraciones la primera vez que se acceda a la aplicación (por lo que habrá un breve retraso la primera vez).

Publicar web usando Web-Deploy

Guía: https://msdn.microsoft.com/en-us/library/dd465337(v=vs.110).aspx

Aprendí todo esto porque tuve que hacer esto en un servidor de Windows 2012: http://www.sherweb.com/blog/how-to-install-webdeploy-on-windows-server-2012/

¡Buena suerte!

Calificaciones y comentarios

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *