2017-11-01 2 views
2

〜200個のテーブルを持つデータベーススキーマがあります。 移行ごとに作成されるモデルスナップショット(Migration.Designer.cs)は〜20K行です。したがって、かなりの数の移行を行うと、CI構築が遅くなります(ソリューションを構築する約30の移行では、移行で6分、移行なしで4分かかる)。Entity Frameworkコア:移行を元に戻すことがない場合は、Migration.Designer.csを削除しても安全ですか?

質問:古い移行のモデルスナップショットを削除することは安全ですか(私たちは元に戻すことはできません)。モデルスナップショットは、復帰マイグレーション以外の目的に使用されていますか?

+1

これが私たちの行うことです。移行が完了したら、[ここ](https://cpratt.co/migrating-production-database-with-entity-framework-code-first/)に記載されているようにロールアップします。 –

答えて

2

復帰マイグレーション以外のモデルスナップショットは使用していますか?

はい。必要な部分がいくつかあります。 SQL Serverでは、これらの例は以下のとおりです。

  • AlterColumn列が狭くなっているか、計算式が変更され、インデックスは、インデックスがユニークで参照されたときに、メモリに最適化されたテーブルの上に
  • CREATEINDEXを再構築する必要がある場合null可能な列

ほとんどの場合、削除するのはおそらく安全ですが、移行後も移行が正常に動作していることをテストしてください。

+1

情報をありがとう!ですから、クリーンなデータベースからマイグレーションを1つずつ適用してテストすることは安全です:) – Shaddix

関連する問題