Migraciones con Entity Framework Core

Migraciones

Denisse Vázquez
2 min readJan 23, 2018

Las migraciones nos proporcionan un manera de controlar los cambios de esquema en la BD y Entity Framework Core Migrations actualiza el esquema de la base de datos en lugar de crear una nueva base de datos.
Para realizar las migraciones podemos usar Package Manager Console (PMC) o la interfaz de línea de comandos (CLI).

Migración inicial

La realizamos después de definir nuestro modelo inicial(valga la redundancia), ejecutando el siguiente comando:

PMC
Add-Migration InitialCreate
CLI
dotnet ef migrations add InitialCreate

Este comando agrega 3 archivos al proyecto dentro del directorio Migrations.

* El archivo principal que contiene las operaciones necesarias para realizar la migracion y revertirla.
* El segundo archivo (metadatos) contiene información que usa EF.
* El tercer archivo es un snapshot de nuestro modelo actual que servirá para determinar los nuevos cambios al realizar una siguiente migración.

Para actualizar nuestro esquema,ejecutamos el siguiente comando:

PMC
Update-Database
CLI
dotnet ef database update

Añadiendo otras migraciones

Realizamos otra migración para actualizar nuestro esquema después de haber efectuado algunos cambios en nuestro modelo,se recomienda nombrarla con algo que describa el cambio,por ejemplo,si el cambio fue para guardar una foto de los clientes realizamos la migración con el nombre AddCustomerPhoto.

PMC
Add-Migration AddCustomerPhoto
CLI
dotnet ef migrations add AddCustomerPhoto

Y actualizamos nuestro esquema con el siguiente comando:

PMC
Update-Database
CLI
dotnet ef database update

NOTA:Revisar siempre las migraciones antes de ejecutar Update para agregar/modificar implementaciones adicionales en caso de requerirlas.

Revertir migración

Para revertir una migración aplicada, debemos especificar el nombre de la migración a la que se desea regresar al comando siguiente:

PMC
Update-Database [LastMigration]
CLI
dotnet ef database update [LastMigration]

Eliminar migración

Para eliminar la última migración aplicada ejecutamos el siguiente comando:

PMC
Remove-Migration
CLI
dotnet ef migrations remove

--

--