Migraciones en entornos de equipo

Al trabajar con migraciones en entornos de equipo, preste especial atención al archivo de instantáneas del modelo. Este archivo puede avisarle si la migración de su compañero de equipo se combina correctamente con la de su compañero de equipo 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 producir 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 con el siguiente aspecto:

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

Puesto 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, la migración y la migración de su compañero de equipo son independientes entre sí. Puesto que cualquiera de ellos se podría aplicar primero, no es necesario realizar ningún cambio adicional en la migración antes de compartirlo 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, es posible que usted y su compañero de equipo cambien el nombre de la misma propiedad.

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

Si encuentra este tipo de conflicto, vuelva a crear la migración para resolverlo. Siga estos pasos:

  1. Anulación de la combinación y reversión en el directorio de trabajo antes de la combinación
  2. Quitar la migración (pero mantener los cambios del modelo)
  3. Combinar los cambios de su compañero de equipo en el directorio de trabajo
  4. Volver a agregar la migración

Después de hacerlo, las dos migraciones se pueden aplicar en el orden correcto. Su migración se aplica en primer lugar, y se cambia el nombre de la columna a Aliasy, a partir de ese momento, la migración la cambia a Nombre de usuario.

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