2017-05-23 7 views
0

非常に簡単な質問です。MVC 5コード初回プロジェクトでの移行の組み合わせ

私はMVC 5 Code Firstプロジェクトで作業していますが、私はDBモデルで多くの小さな変更を行います。変更によって以前のものが上書きされることがあります。 update-database -targermigration InitialCreateは安全ですか?それから、すべての移行(初期を除く)とadd-migration cumulativeを削除しますか? はいまたはいいえのような専門家の意見を期待します。 ありがとうございます。

+1

データベースを本番環境にまだデプロイしておらず、まだ開発中の場合は、まだ移行を作成しません。モデルの作成が完了し、本番環境にプッシュする準備ができたら、最初の移行を作成します。 –

+0

@MariaInesParnisari私はDBを定期的に更新してDBを変更します。プロジェクトはまだiisexpressで動作します。ありがとうございました。 –

+0

@MariaInesParnisari私が理解するように、展開の前に小規模な移行を続け、組み合わせてください。私は正しい? –

答えて

1

これについて他の人の習慣を知ることは興味深いでしょうが、私がやることを追加します。 (免責事項:私はこれをずっとやっていません)

少し先の文脈です。コードの移行は、モデルクラスを変更した後にデータベース自体を更新する方法をデータベースに伝えるコードスニペットです。開発を進めており、コードをプロダクションにプッシュしていないため、プロダクションデータベースが不要なため、移行する必要はありません。今のところ、必要に応じて、ローカルDBを削除して、変更するたびにゼロから再構築することができます。しかし、これは時間がかかります。

しかし、より良い方法があります。自動移行。あなたが変更を行い、Update-Databaseに電話するたびに、EFは移行を作成してデータベースを更新します(舞台裏で)。

  1. 実行Enable-Migrations –EnableAutomaticMigrations
  2. モデルを変更するたびに、Update-Databaseを実行します。

一部の変更では、手動で移行を手動で追加する必要があります(here)。

ここでは、これは明らかに実稼働環境のfor a variety of reasonsには適していません。

アプリのMVP版を作成したら、ローカルデータベースを削除し、hereのように最初の移行を上書きします。

  1. (...またはそのことについて全体Migrationsフォルダ)InitialCreate.csを削除
  2. 実行Add-Migration InitialCreate
  3. は、ローカルデータベースを削除します。
  4. 実行Update-Database -Force
関連する問題