0

これを理解するのを手伝ってください。

私は 2 つの .net サーバーを持っています: -Production -Staging

新しいテーブル フィールドを既存の DB に追加するときは常に、コードを最初に移行する必要があります。また、この新しいフィールドを model.cs のクラス タイプに追加する必要があります。次に、ネットワーク管理者に SQL を実行するよう依頼する必要があります。テーブルを変更するクエリ、これはすべてステージングにあります。

これで本番環境に移行する準備ができたので、ネットワーク管理者に本番環境のテーブルを変更するよう依頼し、サイトがダウンするのを待っていました。

wwwroot/productionfiles

コードの最初の移行に関して私の新しい変更はありませんが、サイトはダウンしませんでした。サイトは機能します。

混乱しています。ステージングで常に行ってきたのと同じ手順を本番環境でも行う必要があると思いましたか?

  • 実稼働サーバーがデータベースの「alter table」でのみ機能したのはなぜですか
  • それでも、私のステージング サーバーでは、常にデータベースに対して "alter table..." を実行する必要があり、次にコードでコード ファースト マイグレーションを実行する必要があります。

私が理解するのを手伝ってください。

4

1 に答える 1

1

ステージング サーバー DB が予想される Entity Framework スキーマ バージョンと同期するためには、Code First Migration が必要です。

本番環境では、スキーマ バージョンの検証がスキップされる可能性があります。

最終的に重要なのは、移行がどのように行われたかに関係なく、DB スキーマが EF モデルと一致することです。

于 2013-10-21T15:48:40.773 に答える