entity-framework - type - update-database force
Comprobar las migraciones pendientes en Entity Framework (1)
En Entity Framework 6 estoy usando el comando Update-Database para aplicar migraciones. Tengo tres entornos que hago malabares (DEV, QA y PROD) y los actualizo usando
Update-Database -ConnectionStringName DEV
Pero ahora me gustaría saber en qué migración se encuentra mi entorno PROD y qué migraciones se aplicarán si llamo a Update-Database.
¿Existe un comando para verificar qué migración es la última aplicada, y cuál se aplicará si ejecuto Update-Database?
Para ver qué migraciones se han aplicado a la base de datos, use el comando Get-Migrations
:
Get-Migrations -ConnectionStringName PROD
También puede verificar el contenido de la tabla __MigrationsHistory
en la base de datos correcta. Contiene información sobre todas las migraciones aplicadas a la base de datos.
La siguiente migración aplicada depende de los archivos de migración existentes en su proyecto. Un nombre de archivo de migración incluye un prefijo que es una marca de tiempo, que especifica la hora en que se generó el archivo de migración (a menos que haya utilizado el parámetro -force
que podría causar la reutilización de un archivo de migración existente manteniendo su cadena de marca de tiempo existente). Las migraciones se aplican de acuerdo con esa marca de tiempo. Por lo tanto, el orden alfabético de sus archivos de migración indica el orden en que se aplican.
Una forma segura de verificar qué migración se aplicará a continuación es ejecutar Update-Database
con el parámetro -Script
, que genera el script SQL para la migración pero no lo ejecuta. Para que pueda ver qué migración se aplicará si ejecuta la Update-Database
real.