Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
När du arbetar med migreringar i teammiljöer kan olika problem uppstå när migreringar läggs till av flera utvecklare ungefär samtidigt. Observera att migreringar inte bara är SQL-skript utan även innehåller en ögonblicksbild av modellen vid tidpunkten för migreringen.
Anta till exempel att utvecklare A och B båda skapar arbetsgrenar samtidigt och genererar en migrering i sina grenar. Om utvecklaren A sammanfogar sin gren och sedan utvecklaren B gör samma sak, kommer den senaste migreringen (utvecklaren B:s) att ha en ögonblicksbild av kontexten som inte inkluderar ändringarna från utvecklaren A:s migrering. Detta kan orsaka olika former av skada i senare migreringar.
Därför rekommenderar vi starkt att du samordnar i förväg och undviker att arbeta samtidigt med migreringar i flera grenar när det är möjligt.
Identifiera avvikande migreringsträd
Anmärkning
Den här funktionen introduceras i EF Core 11 från förhandsversion 3 och senare.
Från och med EF 11 registrerar modellögonblicksbilden ID för den senaste migreringen. Det innebär att om två utvecklare var och en skapar en migrering på separata grenar, skapar sammanslagning av dessa grenar en källkontrollkonflikt i modellens ögonblicksbildfil – eftersom båda grenarna ändrar det senaste migrerings-ID:t. Den här konflikten är en viktig signal: den anger att migreringsträden har avvikit och att en av dem måste bortses från innan du fortsätter.
Lös detta genom att följa stegen i Lösa avvikande migreringsträd nedan: avbryt sammanfogningen, ta bort migreringen (behålla modelländringarna), slå samman din lagkamrats ändringar och sedan lägga till migreringen igen.
Lösa avvikande migreringsträd
Om ett avvikande migreringsträd identifieras när en gren slås samman löser du det genom att återskapa migreringen. Följ dessa steg:
- Avbryt sammanfogningen och återgå till din arbetskatalog före sammanfogningen.
- Ta bort migreringen (men behåll dina modelländringar)
- Slå samman din lagkamrats ändringar i arbetskatalogen
- Lägg till migreringen igen
När du har gjort detta baseras migreringen på alla migreringar som har lagts till i den andra grenen och dess ögonblicksbild av kontexten innehåller alla tidigare ändringar. Migreringen kan nu delas på ett säkert sätt med resten av teamet.