私は初期のスキーマを作成し、データベース更新を実行する大規模な移行を作成しました。EFマイグレーションを誤ると、ロールバック、削除、再追加、あるいは単に新しいものを追加するのがより役に立ちます
その後、私はDateTime型であるはずのフィールドが誤ってstring型であることに気付きました。私は自分のモデルでそれを修正しました。
ここでは、誤ってマイグレーションする前にデータベースをマイグレーションする必要があります。マイグレーションをいったん削除してから、もう一度マイグレーションをやり直してください。または、修正プログラムのみをパッチする新しい移行を追加するだけです。
私が間違った情報を持つどんな混乱した移行を望んでいないので、私はロールバック、削除、そして再追加に傾いているのですか?間違った移行があるのは無意味だと思う。
プロダクション環境ではマイグレーションを一度も使用していないので、混乱が起こると思いますので、私はそれらの力を認識していないと思います。だから、古い移行で間違いが起きる可能性があるのか、それとも新しいモデル/エンティティを追加するときに間違いなく、データベース全体の進捗状況を示すべきかを誰かに明確に伝えて欲しい。
私は個人的に、リモートUATとPRODデータベースを更新するという単一の目的でマイグレーションを使用します。グリーンフィールドアプリケーションの開発を始めたら、私はDropCreate初期化子の1つを使用し、移行を気にしません。展開の準備ができたら、私は移行に切り替えます。私はいつもクリスがここで説明しているのと同様にマイグレーションを進めています(http://cpratt.co/migrating-production-database-with-entity-framework-code-first/#at_pco=smlwn-1.0&at_si=54ad5c7b61c48943&at_ab= 12およびat_pos = 0およびat_tot = 1)。 –
@SteveGreene Entity Framework DropCreate機能を使用していますか?もしそうなら、あなたはEF Core 1.0(EF7) –
でそれを実装する方法を知っていますか?申し訳ありませんが、コアタグを逃しました。それは異なっていますが、実行可能です:Database.EnsureDeletedとそれに続くDatabase.EnsureCreatedを使用します。 https://github.com/aspnet/EntityFramework/issues/3042 –