Wie man eine Migration in ASP.NET Core mit EF Core aufhebt
Wenn ich PM> Remove-Migration -context BloggingContext
im VS2015 mit einem ASP.NET Core-Projekt mit EF-Core bekomme ich die folgende Fehlermeldung:
System.InvalidOperationException: The migration '20160703192724_MyFirstMigration' has already been applied to the database. Unapply it and try again. If the migration has been applied to other databases, consider reverting its changes using a new migration. at Microsoft.EntityFrameworkCore.Migrations.Design.MigrationsScaffolder.RemoveMigration(String projectDir, String rootNamespace, Boolean force)
at Microsoft.EntityFrameworkCore.Design.MigrationsOperations.RemoveMigration(String contextType, Boolean force)
at Microsoft.EntityFrameworkCore.Tools.Cli.MigrationsRemoveCommand.<>c__DisplayClass0_0.<Configure>b__0()
at Microsoft.Extensions.CommandLineUtils.CommandLineApplication.Execute(String[] args)
at Microsoft.EntityFrameworkCore.Tools.Cli.Program.Main(String[] args)
The migration '20160703192724_MyFirstMigration' has already been applied to the database. Unapply it and try again. If the migration has been applied to other databases, consider reverting its changes using a new migration.
Wie kann ich die änderungen zurücknehmen? Ich bin mit der neuesten Version von ASP.NET Kern 1.0, EF-Core, und VS2015 Update 3.
InformationsquelleAutor der Frage nam | 2016-07-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
dotnet ef database update <previous-migration-name>
Dann versuchen, Sie zu entfernen, Letzte Wanderung.
Entfernen migration ohne Datenbank-update nicht funktioniert, weil Sie angewendet werden änderungen an der Datenbank.
InformationsquelleAutor der Antwort adem caglin
Vollständig zu entfernen alle Migrationen und ganz neu zu starten, tun Sie Folgendes:
InformationsquelleAutor der Antwort Ronald Ramos
Können Sie immer noch die
Update-Database
Befehl.Allerdings, die Beurteilung durch die Namen Ihrer Migrations-ich gehe davon aus, dass es sich um die erste migration so, dass der Befehl nicht. Sie sollten in der Lage sein, löschen Sie den Eintrag aus der
__MigrationHistory
Tabelle in Ihrer Datenbank und führen Sie dann dasRemove-Migration
Befehl erneut aus. Man könnte Sie auch löschen Sie die migration-Datei und starten Sie einfach wieder.InformationsquelleAutor der Antwort Brad
"Änderungen zurücknehmen" die meisten (neueren?) migration, nachdem es bereits auf die Datenbank angewendet wurden:
Hoffe, das hilft und ist für die migration in das Projekt... getestet habe ich diese nur zu der jüngsten migration...
Happy coding!
InformationsquelleAutor der Antwort Raj
In Der Paket-Manager-Konsole:
Update-Database Your_Migration_You_Want_To_Revert_To
Weitere Optionen und Erläuterungen dazu, wie wiederherstellen Migrationen können hier eingesehen werden
InformationsquelleAutor der Antwort Drewskis
Entfernen der letzten migration, die Sie angewendet haben, nach der docs verwenden Sie den Befehl:
Dieser Befehl ausgeführt werden soll, aus der developer-Eingabeaufforderung (wie zu öffnen Eingabeaufforderung) in Ihren Projektmappen-Verzeichnis.
Zum Beispiel, wenn Ihre Anwendung innerhalb dem Namen "Application" und ist im Ordner c:\Projects. Dann ist dein Weg sollte sein:
InformationsquelleAutor der Antwort Anastasios Selmanis
Einfach du kannst eine Migration von Wert
Dann gehen Sie voran und entfernen Sie es
InformationsquelleAutor der Antwort John Nyingi
Wiederherstellen der zuletzt angewendete migration sollten Sie (Paket-manager-Konsole-Befehle):
PM> Update-Database <prior-migration-name>
PM> Remove-Migration
InformationsquelleAutor der Antwort Dmitry Polomoshnov
Um änderungen zurücknehmen migration in EF-Core 1.0 verwenden Sie den Befehl:
dotnet-ef-Datenbank-update {migration_name}
Verwenden Sie den Migrations-Namen, die die migration, bis zu dem Sie möchten, um Ihre änderungen zu sichern. Die Liste der Namen, die die migration kann gefunden werden mit:
dotnet ef-Migrationen Liste
InformationsquelleAutor der Antwort Rufus Lobo
1.finden, Tabelle "dbo._EFMigrationsHistory", dann löschen Sie die migration Datensatz, den Sie entfernen möchten.
2. ausführen "entfernen-migration" im PM(Paket-Manager-Konsole).
Für mich funktioniert.
InformationsquelleAutor der Antwort Atom