Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wenn Sie mit Migrationen in Teamumgebungen arbeiten, können verschiedene Probleme auftreten, wenn Migrationen von mehreren Entwicklern gleichzeitig hinzugefügt werden. Beachten Sie, dass Migrationen nicht einfach SQL-Skripts sind, sondern auch eine Momentaufnahme des Modells zum Zeitpunkt dieser Migration enthalten.
Angenommen, Entwickler A und B erstellen Arbeitszweige gleichzeitig und generieren eine Migration in ihren Filialen. Wenn Entwickler A ihre Verzweigung zusammenführt und entwickler B dasselbe ausführt, verfügt die neueste Migration (Entwickler B) über eine Kontextmomentaufnahme, die die Änderungen aus der Migration von Entwickler A nicht enthält. Dies kann zu verschiedenen Formen von Beschädigungen in späteren Migrationen führen.
Daher wird dringend empfohlen, im Voraus zu koordinieren und möglichst nicht gleichzeitig an Migrationen in mehreren Zweigen zu arbeiten.
Erkennen von abgewichenen Migrationsbäumen
Hinweis
Dieses Feature wird ab Vorschau 3 in EF Core 11 eingeführt.
Ab EF 11 zeichnet die Modellmomentaufnahme die ID der neuesten Migration auf. Dies bedeutet: Wenn zwei Entwickler jeweils eine Migration in separaten Verzweigungen erstellen, führt das Zusammenführen dieser Verzweigungen zu einem Quellcodeverwaltungskonflikt in der Modellmomentaufnahmedatei , da beide Verzweigungen die neueste Migrations-ID ändern. Dieser Konflikt ist ein wichtiges Signal: Es teilt Ihnen mit, dass sich die Migrationsstrukturen voneinander unterscheiden, und eine davon muss verworfen werden, bevor Sie fortfahren.
Um dies zu beheben, führen Sie die unten aufgeführten Schritte zum Auflösen von unterschiedlichen Migrationsstrukturen aus: Beenden Sie den Vorgang der Zusammenführung, entfernen Sie Ihre Migration (lassen Sie die Modelländerungen bestehen), integrieren Sie die Änderungen Ihres Teamkollegen, und fügen Sie die Migration dann erneut hinzu.
Auflösen abweichender Migrationsbäume
Wenn beim Zusammenführen einer Verzweigung ein abweichender Migrationsbaum erkannt wird, korrigieren Sie diesen, indem Sie Ihre Migration neu erstellen. führen Sie die folgenden Schritte aus:
- Brechen Sie die Zusammenführung ab und rollen Sie zu Ihrem Arbeitsverzeichnis zurück, bevor Sie die Zusammenführung durchführen.
- Entfernen Sie Ihre Migration (aber behalten Sie Ihre Modelländerungen weiter bei)
- Führen Sie die Änderungen Ihres Teamkollegen in Ihr Arbeitsverzeichnis zusammen
- Fügen Sie Ihre Migration erneut hinzu.
Danach basiert Ihre Migration direkt auf allen Migrationen, die im anderen Branch hinzugefügt wurden, und der Kontext-Snapshot enthält alle vorherigen Änderungen. Ihre Migration kann jetzt sicher für den Rest des Teams freigegeben werden.