Migrace v týmových prostředích

Při práci s migracemi v týmových prostředích věnujte zvláštní pozornost souboru snímku modelu. Tento soubor vám může říct, jestli se migrace vašeho spoluhráče sloučí čistě s vámi, nebo pokud potřebujete vyřešit konflikt opětovným vytvořením migrace před jeho sdílením.

sloučení

Když sloučíte migrace od členů týmu, může dojít ke konfliktům v souboru snímku modelu. Pokud obě změny nesouvisí, sloučení je triviální a obě migrace můžou existovat společně. V konfiguraci typu entity zákazníka může dojít například ke konfliktu při slučování, který vypadá takto:

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

Vzhledem k tomu, že obě tyto vlastnosti musí existovat v posledním modelu, dokončete sloučení přidáním obou vlastností. V mnoha případech může váš systém správy verzí tyto změny automaticky sloučit za vás.

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

V těchto případech jsou migrace a migrace vašeho spolužáka nezávislé na sobě. Vzhledem k tomu, že některé z nich je možné použít jako první, nemusíte před sdílením s týmem provádět žádné další změny migrace.

Řešení konfliktů

Někdy při slučování modelu snímků narazíte na skutečný konflikt. Vy a členové vašeho týmu jste například mohli přejmenovat stejnou vlastnost.

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

Pokud narazíte na tento druh konfliktu, vyřešte ho opětovným vytvořením migrace. Postupujte takto:

  1. Přerušení sloučení a vrácení zpět do pracovního adresáře před sloučením
  2. Odebrání migrace (ale zachování změn modelu)
  3. Sloučení změn členů týmu do pracovního adresáře
  4. Opětovné přidání migrace

Po provedení tohoto procesu je možné tyto dvě migrace použít ve správném pořadí. Nejprve se použije jejich migrace a přejmenuje sloupec na Alias a potom ji přejmenuje na Uživatelské jméno.

Migraci můžete bezpečně sdílet se zbytkem týmu.