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 MigrateDatabaseToLatestVersion
lo 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).
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!