¿Cómo deshago el último comando Add-Migration?


He creado una migración usando el comando Add-Migration, pero me gustaría cambiar el nombre de esa migración. ¿Cómo puedo deshacer el comando de migración, para poder regenerarlo usando el nuevo nombre deseado?

¿Es solo cuestión de eliminar los archivos generados, o esto podría ser una mala idea?

Author: Miguel Angelo, 2014-01-23

6 answers

Si no has usado Update-Database puedes simplemente borrarlo. Si ha ejecutado la actualización, revísela usando Update-Database -TargetMigration "NameOfPreviousMigration" y luego elimínela.

Referencia:

Http://elegantcode.com/2012/04/12/entity-framework-migrations-tips /

 98
Author: Colin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-01-23 15:32:19

Si aún no ha ejecutado la migración con Update-Database, puede volver a ejecutar Add-Migration con el mismo nombre (es posible que necesite usar-Force) para volver a ejecutar el scaffolding. Esto se observa en el resultado del comando Add-Migration.

 11
Author: Adrian,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-01-23 19:18:35

Con EntityFrameworkCore 2.0 viene la instantánea del modelo. Deberá ejecutar el comando remove migration para actualizar la instantánea del modelo. He leído que EF Core reconocerá cualquier actualización y revertirá la instantánea por usted si elimina manualmente la migración, pero esto no ha funcionado para mí.

Https://docs.microsoft.com/en-us/aspnet/core/data/ef-mvc/migrations

Https://docs.microsoft.com/en-us/ef/core/miscellaneous/cli/dotnet#dotnet-ef-migrations-remove

 1
Author: Ben,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-10-25 00:07:02

Simplemente use el comando

Remove-migration

Eliminará la última migración agregada y actualizará la instantánea. No afectará a la base de datos, por lo que debe revertir la base de datos en primer lugar.

 1
Author: Tomasz Maj,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-26 13:23:19

Para añadir a la respuesta de @Ben, cuando se usa la variedad de comandos dotnet ef este es el comando remove que necesita:

dotnet ef migrations remove

Que eliminará su última migración y actualizará la instantánea del modelo.

 0
Author: VME,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-07 15:12:52

Actualice su última migración perfecta mediante este comando:

Update-Database –TargetMigration
 0
Author: Abdus Salam Azad,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-09-12 08:09:56