C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■96308 / 1階層)  本番環境にコードファーストで作成したDBの変更
□投稿者/ WebSurfer (2153回)-(2020/11/10(Tue) 15:55:46)
No96305 (Saipon さん) に返信

> WindowsServer2019上のIISにWEBサイトを設置しアクセスしたところ、コードファーストの為、
> SQLServerにもDBが作成されました。ここまでは良いのですが、

ホントにそれで良いのでしょうか?

そうだとすると IIS のワーカープロセスのアカウントに SQL Server のテーブルの Create と
か Drop などを行う権限を与えたということだと思いますが、それは権限の与えすぎでは?

> 例えばこの環境で実際に本番運用をした場合、DBへのフィールド追加や桁数変更等の修正は
> DBに手動で直接行うものなのでしょうか?

本番環境での DB の変更・修正はないというのが前提だと自分は思うのですが?

そもそも EF Code First は、開発時に、本番環境で変更は必要ない状態まで作り上げるために、
何度もの DB の変更・修正が DB に手を加えなくてもコードの変更・修正で可能にするための
開発用の機能という位置づけのはずなのですが・・・

> 当然ソースのモデル(POCO?)を修正することになると思いますが、モデルを修正しWEB発行
> しサーバーにファイルしてサイトにアクセスすると、DBが再作成されデータが消えてしまう
> ようなのです。それに対してデータの再投入をするのがベストプラクティスなのでしょうか?
> 例えばモデルが変わってもDBを再作成せずに、手動でDB変更して運用するのが普通な気がし
> ています。

上にも書きましたが、それは開発時に限る話で、運用環境でそういうことはないところまで EF
Code First の機能を利用して作り上げるという話になると思います。

とは言え、運用状況で変更が絶対ないということもないでしょうから、そうなったら「手動でDB
変更」というのが選択肢になると思いますが。

> 新規のWEBアプリなのでコードファーストで試していますが、現状、モデルの変更の都度データ
> を再投入しており、いまいちメリットを理解できておりません。

データベースを自動的に削除して再作成するように設定してませんか? それを避けるために
Migration 機能というのがありますが。使ってますか?

そのあたりをご存じなければ、以下のチュートリアルの最初から「Code First Migrations と展開」
のところまでやってみてはいかがですか。

MVC 5 を使用する Entity Framework 6 Code First の概要
https://docs.microsoft.com/ja-jp/aspnet/mvc/overview/getting-started/getting-started-with-ef-using-mvc/
編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←本番環境にコードファーストで作成したDBの変更 /Saipon →Re[2]: 本番環境にコードファーストで作成したDBの変更 /Saipon
 
上記関連ツリー

本番環境にコードファーストで作成したDBの変更 / Saipon (20/11/10(Tue) 13:23) #96305
本番環境にコードファーストで作成したDBの変更 / WebSurfer (20/11/10(Tue) 15:55) #96308 ←Now
  └ Re[2]: 本番環境にコードファーストで作成したDBの変更 / Saipon (20/11/10(Tue) 17:18) #96309
    ├ Re[3]: 本番環境にコードファーストで作成したDBの変更 / Saipon (20/11/10(Tue) 18:44) #96312
    └ Re[3]: 本番環境にコードファーストで作成したDBの変更 / WebSurfer (20/11/10(Tue) 18:23) #96311
      └ Re[4]: 本番環境にコードファーストで作成したDBの変更 / Saipon (20/11/10(Tue) 18:58) #96313
        └ Re[5]: 本番環境にコードファーストで作成したDBの変更 / WebSurfer (20/11/10(Tue) 19:57) #96314
          └ Re[6]: 本番環境にコードファーストで作成したDBの変更 / Saipon (20/11/11(Wed) 12:01) #96319
            ├ Re[7]: 本番環境にコードファーストで作成したDBの変更 / 魔界の仮面弁士 (20/11/11(Wed) 12:39) #96321
            │└ Re[8]: 本番環境にコードファーストで作成したDBの変更 / Saipon (20/11/11(Wed) 12:55) #96322
            └ Re[7]: 本番環境にコードファーストで作成したDBの変更 / WebSurfer (20/11/11(Wed) 13:13) #96323
              └ Re[8]: 本番環境にコードファーストで作成したDBの変更 / Saipon (20/11/11(Wed) 13:35) #96324 解決済み

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信