Migraciones en entornos de equipo

Al trabajar con migraciones en entornos de equipo, preste atención adicional al archivo de instantáneas del modelo. Este archivo puede avisarle si la migración de su compañero de equipo se combina limpiamente con la suya o si necesita resolver un conflicto mediante la nueva creación de la migración antes de compartirla.

Combinación

Al combinar migraciones de sus compañeros de equipo, puede obtener conflictos en el archivo de instantáneas del modelo. Si ambos cambios no están relacionados, la combinación es trivial y las dos migraciones pueden coexistir. Por ejemplo, puede obtener un conflicto de combinación en la configuración del tipo de entidad del cliente que tiene este aspecto:

<<<<<<< Mine
b.Property<bool>("Deactivated");
=======
b.Property<int>("LoyaltyPoints");
>>>>>>> Theirs

Dado que ambas propiedades deben existir en el modelo final, complete la combinación agregando ambas propiedades. En muchos casos, el sistema de control de versiones puede combinar automáticamente estos cambios.

b.Property<bool>("Deactivated");
b.Property<int>("LoyaltyPoints");

En estos casos, su migración y la migración de su compañero de equipo son independientes entre sí. Dado que cualquiera de ellas podría aplicarse primero, no es necesario realizar cambios adicionales en la migración antes de compartirla con el equipo.

Resolución de conflictos

A veces se produce un verdadero conflicto al combinar el modelo de instantáneas del modelo. Por ejemplo, usted y su compañero de equipo pueden haber cambiado el nombre de la misma propiedad.

<<<<<<< Mine
b.Property<string>("Username");
=======
b.Property<string>("Alias");
>>>>>>> Theirs

Si encuentra este tipo de conflicto, resuélvalo creando de nuevo la migración. Siga estos pasos:

  1. Anule la combinación y vuelva al directorio de trabajo antes de la combinación
  2. Elimine la migración (pero mantenga los cambios del modelo)
  3. Combine los cambios de su compañero de equipo en el directorio de trabajo
  4. Vuelva a agregar su migración

Después de hacerlo, las dos migraciones se pueden aplicar en el orden correcto. Su migración se aplica primero, cambiando el nombre de la columna a Alias, a partir de entonces la migración lo cambia a Nombre de usuario.

Su migración se puede compartir de forma segura con el resto del equipo.