1

Asp.Net MVCとEntity Framework 6を​​使用してWebベースのアプリケーションを作成しました。現在、このアプリケーションはプロダクションサーバーのクライアントにインストールされています。数週間前、私のクライアントは、すでに稼働しているアプリケーションの追加モジュールを求めています。確かにプログラミングコードの面では、新しいテーブルのモデルとプロパティのいくつかの追加のクラスがあります。 私の質問は:Server ProductionでMigration DB Entity Frameworkを更新する方法

  1. 私は本番サーバー上の既存のデータベースへの直接アクセスを持っていないのVisual Studioの生産・サーバ、データベーススキーマを更新するにはどうすればよいです。これは私の場合の本質です。

  2. 私の場合には道がありますか。彼の説明と彼の指導をお願いします。

などの追加情報:

  1. 私のクライアントは、本番サーバーにアプリケーションをインストールする過程で、かなり厳格なセキュリティを適用します。彼女の意図は、アプリケーションサーバーの生産を私のものではなく、自分の社内チームが私のプログラムからのインストール文書の参照で入力するプロセスです。

  2. サーバーアプリケーションとデータベースサーバーは別々です。

  3. エンティティフレームワーク - コードを最初に使用します(DropCreateDatabaseIfModelChangesを使用)。

私の質問の多くは、すべての注意と彼の答えに感謝します。私はあなたがコメントや意見の形で解決策を提供できる答えの形で費やす時間を本当に感謝します。おかげさまで

+1

をdata/jj591621.aspx)を参照してください。アプリ内に移行コードを追加するか、イニシャライザをオフ(null)にしてデータベースを更新するスクリプトを提供することができます。 [ここを参照してください](http://cpratt.co/migrating-production-database-with-entity-framework-code-first/) –

+0

おかげで@ SteveGreene..iあなたのリンクarticelを読んだ....しかし、記事私のビジュアルスタジオはデータベースにアクセスする必要があります。ここでは、本番データベースに直接アクセスすることはできません。アプリケーションを初めて実行するときには、コードをトリックしてください。あなたのコメントに感謝しています... –

+0

他のPRODデータベースにアクセスする必要はありません。移行を伴う開発環境を維持する。デプロイするときは、アプリケーションをビルドし、DBAが実行するスクリプトを作成します(update-database -Script)。これにより、データベーススキーマが更新され、実行されたことを示す__MigrationHistoryにレコードが挿入されます。 –

答えて

0

OP 1 - ( DropCreateDatabaseIfModelChanges有する)最初のコード

私は、エンティティフレームワークを使用します。

回答:

あなたがこの方法を行う場合は、DB上の本番データはどうなるのdatabase.What生産を扱うとき、これは間違ったアプローチですか?データ移行を行うたびに、すべてが失われます。生産のための推奨方法はCreateDatabaseIfNotExistsです。

CreateDatabaseIfNotExists :

これがデフォルト初期化子です。その名前が示すように、構成ごとにデータベースが存在しない場合は、 データベースが作成されます。

OP 2:私は本番サーバ内のデータベーススキーマを更新するにはどうすればよい

回答:

あなたは、あなたの生産のSQLサーバ上で実行するために使用することができcommand.Afterの下に使用して、SQLスクリプトを作成することができます。パッケージマネージャコンソール上の

を実行し、この:

PM > Update-Database -Script 

あなたがここでより多くの情報を得ることができます:あなたは、[移行](https://msdn.microsoft.com/en-us/たいGetting a SQL Script

+0

こんにちは@Sampath ...はいそう....私はCreateDatabaseIfNotExistsを使用すると、私は私たちのデータを失うことになる....しかし、私はアプリケーションを実行する前にデータをバックアップしている...私は.....その問題を知っている、私は直接アクセスしていないプロダクションサーバー上の既存のデータベースに...私はまだ更新方法の詳細については学んでいません - データベース - スクリプト、私は最初に勉強しようとします...しかし、プロセスがDBサーバーの生産ではないアプリケーションの問題..あなたのコメントのための感謝。 –

関連する問題