155

Por alguna razón, mis migraciones parecen haberse mezclado/dañado/lo que sea. Estoy en el punto en el que solo quiero comenzar de nuevo, entonces ¿hay alguna manera de deshacer completamente todas las migraciones, borrar el historial y eliminar el código de migración, así que estoy de regreso al punto de partida?Entity Framework - Comenzar de nuevo - Deshacer/Revertir todas las migraciones

por ejemplo) o PM> Disable-MigrationsRollback-Migrations

no quiero para "actualizar" a un paso de migración originales (es decir, algo así como un objetivo InitialSchema) porque no puedo encontrar más.

Respuesta

331

puede revertir a cualquier migración mediante el uso de:

Update-Database -TargetMigration:"MigrationName" 

Si desea deshacer todas las migraciones que puede utilizar:

Update-Database -TargetMigration:0 

o equivalente:

Update-Database -TargetMigration:$InitialDatabase 

en algunos También puede eliminar la base de datos y todas las clases de migración.

+6

como de costumbre, que eres el mejor. – drzaus

+0

me salvaste un montón de problemas. Gracias. –

+0

¡Buena respuesta! :) – Rushino

8

Para ser claros, si usa LocalDb, cuando quiera comenzar desde cero simplemente borre la base de datos a través del Explorador de la base de datos y luego escriba enable-migrations -force en la consola del Administrador de paquetes. No elimine la base de datos a través de la carpeta App_Data o tendrá el siguiente issue.

+2

¡Tenga cuidado al hacer esto ya que sobrescribirá sus Migrations \ Configuration.cs sin previo aviso! – cgatian

+0

Gracias por la advertencia, casi dejo caer el código de la primera manera después de un tiempo, es bueno tener todo tu código una vez, lugar, tener control de versiones de origen para tu base de datos per se, pero no vi ningún otro gran beneficio y volvió a la base de datos primero. Uso Red Gate Sql Compare para rastrear todos los deltas. –

1

Para Entidad Marco de base:

Update-Database -Migration:0 
Remove-Migration 
Cuestiones relacionadas