Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Bij het werken met migraties in teamomgevingen kunnen er verschillende problemen optreden wanneer migraties rond dezelfde tijd door meerdere ontwikkelaars worden toegevoegd; Migraties zijn niet alleen SQL-scripts, maar bevatten ook een momentopname van het model op het moment van die migratie.
Stel je voor dat ontwikkelaars A en B tegelijkertijd werkvertakkingen maken en een migratie in hun vertakkingen genereren. Als ontwikkelaar A hun vertakking samenvoegt en daarna ontwikkelaar B hetzelfde doet, heeft de meest recente migratie (die van ontwikkelaar B) een contextmomentopname die de wijzigingen van de migratie van ontwikkelaar A niet bevat. Dit kan verschillende vormen van beschadiging veroorzaken in latere migraties.
Als gevolg hiervan wordt u ten zeerste aangeraden van tevoren te coördineren en om te voorkomen dat u, indien mogelijk, gelijktijdig aan migraties in meerdere vertakkingen werkt.
Afwijkende migratiestructuren detecteren
Opmerking
Deze functie wordt geïntroduceerd in EF Core 11 vanaf preview-3.
Vanaf EF 11 registreert de momentopname van het model de id van de meest recente migratie. Dit betekent dat als twee ontwikkelaars elk een migratie maken op afzonderlijke vertakkingen, het samenvoegen van deze vertakkingen een bronbeheerconflict veroorzaakt in het momentopnamebestand van het model, omdat beide vertakkingen de meest recente migratie-id wijzigen. Dit conflict is een belangrijk signaal: het geeft aan dat de migratiebomen zijn uiteen gegaan, en dat een van hen moet worden verwijderd voordat u doorgaat.
U kunt dit oplossen door de stappen in het oplossen van uiteenlopende migratiestructuren hieronder uit te voeren: de samenvoeging afbreken, uw migratie verwijderen (wijzigingen in uw model behouden), de wijzigingen van uw teamgenoot samenvoegen en vervolgens de migratie opnieuw toevoegen.
Uiteenlopende migratiestructuren oplossen
Als er bij het samenvoegen van een vertakking een afwijkende migratiestructuur wordt gedetecteerd, kunt u deze oplossen door de migratie opnieuw te maken. Volg deze stappen:
- De samenvoegbewerking afbreken en terugdraaien naar uw werkmap vóór de samenvoegbewerking
- Uw migratie verwijderen (maar uw modelwijzigingen behouden)
- De wijzigingen van uw teamgenoot samenvoegen in uw werkmap
- Uw migratie opnieuw toevoegen
Nadat u dit hebt gedaan, is uw migratie op een nette manier gebaseerd op alle migraties die in de andere vertakking zijn toegevoegd, en de contextsnapshot bevat alle eerdere wijzigingen. Uw migratie kan nu veilig worden gedeeld met de rest van het team.