Ich verwende EF 6.0 für mein Projekt in C # mit manuellen Migrationen und Updates. Ich habe ungefähr 5 Migrationen in der Datenbank, aber ich habe festgestellt, dass die letzte Migration schlecht war und ich sie nicht will. Ich weiß, dass ich auf eine vorherige Migration zurücksetzen kann, aber wenn ich eine neue (feste) Migration hinzufüge und Update-Database ausführe, wird sogar die fehlerhafte Migration angewendet.
Ich habe versucht, ein Rollback auf die vorherige Migration durchzuführen und die Datei mit einer fehlerhaften Migration zu löschen. Wenn ich dann versuche, eine neue Migration hinzuzufügen, wird beim Aktualisieren der Datenbank eine Fehlermeldung angezeigt, da die Migrationsdatei beschädigt ist (genauer gesagt, die erste Codezeile benennt die Tabelle A in B um und ist die nächste Zeile, mit der EF versucht, die Tabelle zu aktualisieren Name A - vielleicht ist es ein EF-Fehler).
Gibt es eine Abfrage, die ich ausführen kann und die EF so etwas wie "Vergiss die letzte Migration, als ob sie nie existiert hätte, sie war schlecht" mitteilen würde? So etwas wie Remove-Migration.
Edit1
Ich habe eine für mich geeignete Lösung gefunden. Modell in den guten Zustand ändern und ausführen Add-Migration TheBadMigration -Force
. Dadurch wird die letzte, nicht angewendete Migration neu aufgebaut.
Auf jeden Fall beantwortet dies die ursprüngliche Frage immer noch nicht vollständig. Wenn ich die Datenbank auf die fehlerhafte Migration aktualisiere, habe ich keine gute Möglichkeit gefunden, ein Rollback durchzuführen und eine neue Migration zu erstellen, mit Ausnahme der fehlerhaften.
Vielen Dank