Make EF4.3 Code First Migrations ignora las migraciones pendientes
Tengo una instancia local de una base de datos que creé recientemente usandoDbContext.Database.Create()
, entonces el__MigrationHistory
a tabla @ existe con unaInitalCreate
entrada que coincide con el código en este momento.
Sin embargo, existen algunas migraciones basadas en código en la carpeta Migraciones. Estos se ejecutarán en nuestros entornos de desarrollo y preparación para alinear esas bases de datos con el código. Sin embargo, no necesito aplicarlos localmente, ya que creé la base de datos usando el código actual.
Ahora necesito hacer un cambio en el modelo y crear la migración correspondiente. Pero cuando corroAdd-Migration TestMigration
, Obtuve el siguiente erro
Unable to generate an explicit migration because the following explicit
migrations are pending:
[201203271113060_AddTableX,
201203290856574_AlterColumnY]
Apply the pending explicit migrations before attempting to generate
a new explicit migration.
¿Qué debo hacer en este caso? No puedo apuntar la herramienta Add-Migration a otro entorno porque no está garantizado que la versión coincida con la que tengo localmente. Quiero una migración que coincida solo con los cambios que he realizado.
Parece que tengo algunas opciones pero ninguna es ideal:
Elimine las otras migraciones de la carpeta Migraciones, ejecute el comando Agregar migración, actualice la base de datos y luego restaure las migraciones anteriores. Esto es simple pero parece un poco hack.Vuelva a la versión del modelo en control de origen a la que se aplicó la primera migración, luego compílela y úsela para crear la base de datos. Luego obtenga la última versión, aplique todas las migraciones, luego estoy listo para agregar mi migración. ¡Esto parece mucho esfuerzo!Cree la migración manualmente.Alguien tiene alguna sugerencia sobre cómo administrar esto?