Verlieren EF Code First-Migration bei der Arbeit auf verschiedenen TFS-Filialen?
Sind wir mit TFS und haben unterschiedliche Zweige für unsere Dev.
-
in der Branche Ein, die wir gemacht eine migration zu ändern eine Spalte Größe
-
in der Filiale B, die wir gemacht eine migration in eine neue Tabelle hinzufügen. Dieser Zweig gar nicht wissen, über die Niederlassung Eine änderung !!
-
änderungen werden zusammengeführt, um die Haupt-Niederlassung.
Wenn ich ein update der Datenbank, es spielt die 2 migration, aber am Ende sagt mir, es gibt anstehende Veränderungen. Wenn ich ein Add-Migration, erstellt es die gleiche wie die 1. migration (im Zweig A).
Nicht update-Datenbank auf übereinstimmung mit dem aktuellen Modell, weil es ausstehende
änderungen und automatische migration deaktiviert ist. Entweder schreiben Sie die ausstehende Modell
änderungen an einem code-basierten migration oder aktivieren Sie die automatische migration. Set
DbMigrationsConfiguration.AutomaticMigrationsEnabled auf true zum aktivieren der automatischen
migration.
Sie können verwenden Sie den Add-Migration-Befehl zu schreiben, die ausstehenden änderungen an einem Modell
code-basierte migration.
Ist es, weil etwas fehlt, die den Inhalt der Eigenschaft Target de IMigrationMetadata meiner letzten migration, da es nicht wusste, über die 1. ein ?
Ist es möglich, zu behandeln Migrationen in verschiedenen TFS-Filialen?
- synchronisieren Sie Ihr Smartphone nur auf migration-Dateien - oder auch die Datenbanken so gut? Könnten Sie besser dran, nur sync-ing das Modell/die Klassen-Dateien, w/o-Migrationen und ausführen von Add-Migration auf das generieren von spezifischen, "lokalen" migration für den einzelnen Entwickler.
- ist migration 1 aufgeführt ist, wie ausgeführt, in der _migrationhistory Tabelle?
Du musst angemeldet sein, um einen Kommentar abzugeben.
EF-migration Schritt enthält eine Metadaten-Datei, die eine Signatur von dem Modell, das ist das Ergebnis der migration Schritt. Das problem bei der Zusammenführung ist, dass die Signatur der migration erfolgt in der Abteilung B umfasst nicht die Sachen, die in der migration in der Abteilung A. so lange, Wie die Migrationen sind in den Zweigen, das ist richtig. Bei der Zusammenführung wird es falsch.
Um es zu beheben, müssen Sie regenerieren die meta-Daten des letzteren migration mit
Läuft
add-migration
auf eine vorhandene migration ohne die-force
parameter regenerieren nur die Metadaten.Schrieb ich einen gründlichen Gang durch ein merging-Szenario in der EF-Migrationen und einem Merge-Konflikt post auf meinem blog.
Als Ergänzung zu Anders Abel ' s zu beantworten und für diejenigen von Euch, die sich mit dem Problem, wenn Sie versuchen, sich zu regenerieren, die letzten Migrationen Metadaten verursacht, EF, erstellen Sie eine separate migration mit einer 1 angehängt.
Müssen Sie den vollständigen Datum/Zeit-Stempel.
E. g.
Wenn die Namen der früheren migration ist 201701011322_MakeChangesToPotatotable
Dann müssen Sie die fullname, richtig in die "Add-Migration" - Befehl.
I. E.