Add-Migration
コマンドを使用して移行を作成しましたが、その移行の名前を変更したいと思います。移行コマンドを元に戻し、新しい希望の名前を使用して再生成できるようにするにはどうすればよいですか?
生成されたファイルを削除するだけの問題ですか、それとも悪い考えでしょうか?
Update-Database
を使用していない場合は、移行ファイルを削除するだけです。更新を実行した場合は、Update-Database -TargetMigration "NameOfPreviousMigration"
を使用してロールバックし、移行ファイルを削除する必要があります。
参照:
http://elegantcode.com/2012/04/12/entity-framework-migrations-tips/
Update-Databaseを使用してまだ移行を実行していない場合は、同じ名前(-Forceを使用する必要がある場合があります)でAdd-Migrationを再度実行して、scaffoldingを再実行できます。これは、Add-Migrationコマンドの出力に示されています。
コマンドを使用するだけ
Remove-migration
最後に追加された移行を削除し、スナップショットを更新します。データベースには影響しないため、最初にデータベースをロールバックする必要があります。
EntityFrameworkCore 2.0には、モデルのスナップショットが付属しています。モデルのスナップショットを更新するには、remove migrationコマンドを実行する必要があります。移行を手動で削除した場合、EF Coreが更新を認識し、スナップショットを元に戻すことを読みましたが、これはうまくいきませんでした。
https://docs.Microsoft.com/en-us/aspnet/core/data/ef-mvc/migrations
https://docs.Microsoft.com/en-us/ef/core/miscellaneous/cli/dotnet#dotnet-ef-migrations-remove
このコマンドを使用して、最後の完全な移行を更新します。
Update-Database –TargetMigration
@Benの答えに追加するには、dotnet ef
コマンドを使用するときに、これが必要な削除コマンドです。
dotnet ef migrations remove
これにより、最後の移行が削除され、モデルのスナップショットが更新されます。