Acabo de instalar Entity Framework Migrations, he agregado una propiedad a una clase y le he dado un giro a EF Migrations.Obtención del script inicial de Migraciones de Framework de Entidad
Mi base de datos de desarrollo se actualizó rápidamente. Hasta aquí todo bien.
Ahora, quiero crear un script de cambio para este inicial uso de migraciones para la base de datos de producción. Tenga en cuenta que había una base de datos preexistente porque la apliqué a un proyecto existente.
Las migraciones que tengo son:
PM> Get-Migrations
Retrieving migrations that have been applied to the target database.
201204102238194_AutomaticMigration
201203310233324_InitialCreate
PM>
pensé que podría conseguir un guión delta utilizando la siguiente:
Update-Database -SourceMigration:201203310233324_InitialCreate -TargetMigration:201204102238194_AutomaticMigration -script
Sin embargo, eso me da el error:
'201204102238194_AutomaticMigration' is not a valid migration. Explicit migrations must be used for both source and target when scripting the upgrade between them.
Solo para ver qué pasaría, invertí los dos parámetros (migración hacia atrás) y obtuve el script que deseaba Espero después de agregar el -force bandera (nuevas columnas caídas).
¿Cómo puedo obtener un script para esta primera migración?
¿Cómo se obtuvo la migración inicial? Su migración automática debe contener la creación de secuencias de comandos para toda la base de datos, que no es lo que usted desea; la ejecución de dichas secuencias de comandos en los resultados de las bases de datos existentes implica muchos errores. ¿Puedes probar [este enfoque] (http://www.ladislavmrnka.com/2012/03/ef-4-3-migrations-and-existing-database) en su lugar? –
@Ladislav: Realmente no necesito un script para toda la base de datos porque mi base de datos (inicial) ya está en producción. Lo que no puedo entender es cómo pasar de la primera base de datos que ya está en producción, antes de haber utilizado Migrations, a mi primera actualización. Estoy seguro de que Migrations tiene mi esquema de base de datos inicial allí en alguna parte porque la inversión de los parámetros SourceMigration y TargetMigration junto con * -force * crea una secuencia de comandos para DROP mis nuevas columnas. Simplemente no puedo hacer que vaya desde la base de datos inicial a la primera nueva iteración (agregue esas pocas columnas). –