0

asp.netmvc3アプリケーションを開発環境から本番環境にデプロイする必要があります。

開発環境

  1. SQL Server 2008
  2. Visual Studio 2010
  3. アプリケーション:モデルファーストアプローチを使用したASP.NETMVC3およびEntityFramework
  4. .mdf形式のビジュアルスタジオに組み込まれたデータベース

本番環境:

  1. SQL Server 2005
  2. Window Server 2008 R2
  3. IIS 7

Visual Studioを使用するアプリケーションを、FTP発行方法を使用して実稼働環境に発行しました。アプリケーションを参照すると、次の例外がスローされます。

System.Data.SqlClient.SqlException:無効なオブジェクト名'dbo.User'。

実稼働環境のSQLServer2005データベースにテーブルを作成していないため、上記の例外がスローされます。Visual Studioを使用して開発環境のデータベースを本番環境のデータベースに展開する簡単な方法はありますか?または、本番環境ですべてのテーブルを手動で作成する必要がありますか?

4

1 に答える 1

0

私は試していませんが、Code First Migrations が探しているソリューションかもしれません: http://msdn.microsoft.com/en-US/data/jj591621

これを実現するもう 1 つの方法は、Microsoft の SQL Server Data Tools プロジェクト ( http://msdn.microsoft.com/en-us/data/tools.aspx ) を使用することです。この機能を利用するには、Visual Studio Premium 以上のライセンスを支払う必要がありましたが、SQL Server Data Tools を使用すると無料になります。私は、データベース ファーストのアプローチで作成され、バージョン管理された SQL スクリプトの履歴を維持する必要があるシステム向けのアプローチを使用してきました。

このアプローチを使用するには、SSDT をインストールし、新しいデータベース プロジェクトを作成します。次に、開発データベースをデータベース プロジェクトと比較するスキーマ比較を作成します。比較を実行し、更新をプロジェクトに書き込みます (将来の更新のために、このツールを使用して運用データベースと開発データベースのスキーマを比較できます)。

その後、発行機能を使用して、プロジェクトを本番データベースに直接発行するか、手動で検証して実行するスクリプトを生成できます。

データの損失や意図しない更新が懸念されるため、本番データベースに直接公開する場合は特に注意してください。最初のスキーマ作成を除いて (最初の作成でさえない場合もあります)、常にスクリプトを生成して、本番データベースに対して実行する前にステージ環境で出力とテストを確認できるようにすることをお勧めします。

開発データベース スキーマと比較し、POCO とは別のモデルを維持していることは理解していますが、これはあなたの意図ではないかもしれませんが、リリースとバージョン管理の管理を開始すると、バージョン管理された一連の SQL スクリプトを使用して、ソース管理にチェックインし、を参照することは非常に貴重です。

于 2012-11-28T03:32:58.923 に答える