Migrations dans les environnements d’équipe

Lors de l’utilisation des migrations dans les environnements d’équipe, faites attention au fichier d’instantané de modèle. Ce fichier peut vous indiquer si la migration de votre collègue se fusionne correctement avec le vôtre ou si vous devez résoudre un conflit en recréant votre migration avant de la partager.

fusion

Lorsque vous fusionnez des migrations à partir de vos collègues, vous pouvez obtenir des conflits dans votre fichier d’instantané de modèle. Si les deux modifications ne sont pas liées, la fusion est triviale et les deux migrations peuvent coexister. Par exemple, vous pouvez obtenir un conflit de fusion dans la configuration de type d’entité client qui ressemble à ceci :

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

Étant donné que ces deux propriétés doivent exister dans le modèle final, terminez la fusion en ajoutant les deux propriétés. Dans de nombreux cas, votre système de contrôle de version peut fusionner automatiquement ces modifications pour vous.

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

Dans ces cas, votre migration et la migration de votre collègue sont indépendantes les unes des autres. Étant donné que l’un d’eux peut être appliqué en premier, vous n’avez pas besoin d’apporter de modifications supplémentaires à votre migration avant de le partager avec votre équipe.

Résolution des conflits

Parfois, vous rencontrez un vrai conflit lors de la fusion du modèle d’instantané de modèle. Par exemple, vous et votre collègue avez chacun renommé la même propriété.

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

Si vous rencontrez ce type de conflit, résolvez-le en recréant votre migration. Suivez ces étapes :

  1. Abandonner la fusion et la restauration dans votre répertoire de travail avant la fusion
  2. Supprimez votre migration (mais conservez les modifications de votre modèle)
  3. Fusionner les modifications de votre collègue dans votre répertoire de travail
  4. Ajoutez à nouveau votre migration

Après cela, les deux migrations peuvent être appliquées dans l’ordre correct. Leur migration est appliquée en premier, en renommant la colonne en Alias, par la suite, votre migration la renomme en nom d’utilisateur.

Votre migration peut être partagée en toute sécurité avec le reste de l’équipe.