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:
- Přerušení sloučení a vrácení zpět do pracovního adresáře před sloučením
- Odebrání migrace (ale zachování změn modelu)
- Sloučení změn členů týmu do pracovního adresáře
- 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.