エンティティフレームワークコアの移行を作成し、データベースを更新しました。
その後、別のクラスを追加した後、コマンドラインツールから同じ名前のクラスを作成した「update1」という2番目の移行を作成しました。ただし、データベースを更新しようとすると失敗します。ここに私が使ったコマンドがあります
dotnet ef migrations add update1 -c MyDbContext
dotnet ef database update update1 -c MyDbContext
それは失敗した
既にデータベースにMyTableという名前のオブジェクトがあります
これは初期移行で作成されたテーブルです。
エラーを無視するか、またはupdate1の移行のみを実行するように指示するにはどうすればよいですか?
編集:すでに存在していたテーブルを削除すると、この奇妙な動作が発生しなくなり、現在は期待どおりに動作します。
ありがとう
不要なマイグレーションを__MigrationHistory
テーブルから削除する必要があります。その後、最新のマイグレーションを実行できます。これは、手動でテーブルを削除したために発生します.B'cos EFは手動操作について何も知らないため、 __MigrationHistory
テーブル古い移行の詳細が存在する(つまり、手動で削除されたテーブルのレコード)。