No considerando los nuevos cambios al agregar migraciones en ASP.NET Core.
Un amigo y yo estamos trabajando en un proyecto de ASP.NET Core como compañeros de equipo y compartimos datos utilizando github. Cada vez que hacemos un “pull” de cambios desde github, debemos eliminar la carpeta de Migration
para poder agregar migraciones sin obtener ningún error, de lo contrario, obtenemos el siguiente error:
Ya existe un objeto llamado AspNetRoles en la base de datos.
(entity-framework-core)
Entonces debemos eliminar la carpeta de Migrations
y comentar la información en el método Up
después de cada “pull” para deshacernos de este error al realizar migraciones.
Ahora supongamos que ya tengo una tabla llamada Product.cs
que tiene dos propiedades de la siguiente manera:
public class Product
{
[Key]
public int ProductId { get; set; }
[Display(Name = "date")]
public DateTime CreateDate { get; set; }
}
y luego mi amigo decide agregar una nueva propiedad Prop
a Product.cs
(por ejemplo: public DateTime Count { get; set; }
). Ahora, cuando hago “pull” de los cambios desde github
(después de eliminar la carpeta de Migraciones), hago nuevas migraciones nuevamente, pero ahora la entidad ‘Product.cs’ no contiene ninguna columna llamada Count
en SSMS
. ¿Qué debo hacer para tener los cambios realizados en mis tablas en mi base de datos?
davy.ai
Para tener los nuevos cambios en sus tablas en su base de datos, debe realizar una migración de datos. Siga estos pasos:
Asegúrese de que el nombre de la migración sea único para evitar conflictos.
Después de haber creado la migración, ejecute el siguiente comando para actualizar la base de datos:
Esto aplicará los cambios a su base de datos.
Nota: Si aún encuentra errores después de realizar la migración, asegúrese de tener la cadena de conexión correcta en su archivo appsettings.json y de reconstruir su solución antes de ejecutar la migración.</nombredemigración>