Eliminé mis migraciones, utilicé IgnoreChanges
en la migración inicial, pero ahora quiero eliminar todas mis migraciones y comenzar con una migración inicial con toda la lógica.
Cuando elimino las migraciones en la carpeta e intento y Add-Migration
no genera un archivo completo (está vacío, porque no he realizado ningún cambio desde mi última, pero ahora eliminé, la migración).
¿Hay algún comando Disable-Migrations para poder volver a ejecutarlo Enable-Migrations
?
Respuestas:
Necesitas :
__MigrationHistory
tabla en su base de datos (puede estar debajo de las tablas del sistema); LuegoEjecute el siguiente comando en la consola de Package Manager:
Usar con o sin
-EnableAutomaticMigrations
Y finalmente, puedes ejecutar:
fuente
El problema: ha arruinado sus migraciones y desea restablecerlo sin eliminar sus tablas existentes.
El problema: no puede restablecer las migraciones con tablas existentes en la base de datos, ya que EF desea crear las tablas desde cero.
Qué hacer:
Elimine las migraciones existentes de la tabla Migrations_History.
Elimine las migraciones existentes de la carpeta Migraciones.
Ejecute el reinicio de agregar migración. Esto creará una migración en su carpeta de Migración que incluye la creación de tablas (pero no la ejecutará, por lo que no generará errores).
Ahora debe crear la fila inicial en la tabla MigrationHistory para que EF tenga una instantánea del estado actual. EF lo hará si aplica una migración. Sin embargo, no puede aplicar la migración que acaba de hacer ya que las tablas ya existen en su base de datos. Entra en la migración y comenta todo el código dentro del método "Arriba".
Ahora ejecute update-database. Aplicará la migración (sin cambiar la base de datos) y creará una fila de instantáneas en MigrationHistory.
Ahora ha restablecido sus migraciones y puede continuar con las migraciones normales.
fuente
Qué tal si
en la consola de Package Manager? Debería restablecer todas las actualizaciones a su estado inicial.
Enlace de referencia: Migraciones de Code First - Migración a una versión específica (incluida la degradación)
fuente
Para solucionar esto, debe:
Elimine todos los archivos * .cs en la carpeta Migraciones.
Eliminar la tabla _MigrationHistory en la base de datos
correr
Enable-Migrations -EnableAutomaticMigrations -Force
correr
Add-Migration Reset
Luego, en la
public partial class Reset : DbMigration
clase, debe comentar todas las tablas existentes y actuales:Si se pierde este bit, todo fallará y tendrá que comenzar de nuevo.
Update-Database -verbose
Esto debería ser exitoso si ha hecho lo anterior correctamente y ahora puede continuar con normalidad.
fuente
Teniendo en cuenta que esto todavía aparece cuando buscamos EF en .NET Core, publicaré mi respuesta aquí (ya que me ha perseguido mucho). Tenga en cuenta que hay algunas sutilezas con la versión EF 6 .NET (Sin comando inicial, y deberá eliminar los archivos "Instantáneas")
(Probado en .NET Core 2.1)
Aquí están los pasos:
_efmigrationhistory
tabla.ApplicationDbContextSnapshot.cs
y elimínelos .Add-Migration InitialMigration
Nota: debe eliminar TODOS los archivos de instantáneas . Pasé innumerables horas simplemente eliminando la base de datos ... Esto generará una migración vacía si no lo hace.
Además, en el n. ° 3 solo puede nombrar su migración como desee.
Aquí hay algunos recursos adicionales: asp.net CORE Migraciones generadas vacías
Restablecer migraciones de Entity Framework 7
fuente
En EntityFramework 6, intente:
para actualizar el archivo de migración inicial.
fuente
En Entity Framework Core.
fuente
Resultó que mi problema fue que eliminé manualmente la carpeta Migraciones. Lo hice porque quería hacer una copia de seguridad del contenido, así que simplemente arrastré la carpeta fuera del proyecto. Luego solucioné el problema volviéndolo a colocar (después de hacer una copia de seguridad), luego eliminé la carpeta Migraciones haciendo clic derecho en el Explorador de soluciones y seleccionando Eliminar en el menú emergente.
fuente
En EF6
Add-Migration Initial
.fuente
Eliminar la
Migrations
carpeta,Clean
luegoRebuild
el proyecto. Esto funcionó para mí. Antes de limpiar y reconstruir, decía que la migración ya existe, ya que en su memoria en caché, aún no se ha eliminado.fuente
Este método no requiere la eliminación de la
__MigrationHistory
tabla, por lo que no tiene que poner las manos en la base de datos durante la implementación.Add-Migration ResetMigrations
Up()
método:fuente
En Net Core 3.0:
No pude encontrar una manera de restablecer las migraciones .
También tuve problemas con migraciones interrumpidas, y las respuestas proporcionadas aquí no funcionaron para mí. Tengo una API web .Net Core 3.0, y en algún momento del último mes edité la base de datos directamente. Sí, hice algo malo, malo.
Las estrategias sugeridas aquí dieron como resultado una serie de errores en Package Manager Console:
De acuerdo, es posible que me haya perdido un paso o que haya borrado la limpieza de los archivos correctos, pero descubrí que hay formas de limpiar esto sin tanta fuerza bruta:
Ahora, cuando la API web se inicia con una base de datos vacía, crea correctamente todas las tablas y propiedades para que coincidan con los modelos de entidad.
HTH!
fuente
ACTUALIZACIÓN 2020
ApplicationDbContext => Su contexto.
fuente
fuente