es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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?

Tags:  , , , ,

Answer

  1. Avatar for 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:

    1. Pida a su amigo que agregue una nueva migración ejecutando el siguiente comando en la Consola del Administrador de Paquetes:
      Add-Migration <nombredemigración>
      

      Asegúrese de que el nombre de la migración sea único para evitar conflictos.

    2. Después de haber creado la migración, ejecute el siguiente comando para actualizar la base de datos:

      Update-Database
      

      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>

Comments are closed.