現在、Microsoft Web 配置テクノロジ (msbuild および msdeploy コマンド) を使用して Web サイトをサーバーに配置しています。Web サイトにはデータベースの配置が必要であり、両方が同じサーバーに配置されます。(コマンド ラインを使用して) データベース プロジェクトを展開するための最適なソリューションを探しています。データベース展開に関するすべてのテクノロジをよりよく理解したいと考えています。
ソリューションの内容(Visual Studio 2013):
- データベース プロジェクト (SQL Server 2008 用)、
- クラス ライブラリ (NHibernate を使用したデータ アクセス層)
- Web プロジェクト (ASP.NET MVC4)。
注: VS で継続的インテグレーション/配信ツールまたはパブリッシュ メソッドを自発的に使用しているわけではありません。このプロジェクトでの私の最初の目標は、msbuild / msdeploy がどのように機能するかを理解することでした...
必要なすべての手順を実行しているように見えるvsdbcmdコマンドを見ました...ただし、Visual Studio DLL/ファイルをリモートサーバーにインポートする必要があり、より良い方法がないかどうか疑問に思います...私も見ましたmsdeploy プロバイダーdbSqlPackage /dbDacFx で、しかし私が理解したことから、スキーマの変更を適用するために dacpac を使用しています。同様に、SqlPackage.exe も dacpac を使用しているようです。
dacpac を使用するのは良い考えに思えますが、次の質問で混乱しています。
- これは、データベースを初めて作成するときに別のプロセスが必要になるということですか? はいの場合、どのコマンドが最適ですか?
- sqlproj ファイルから dacpac を作成することはできますか? はいの場合、それを行う方法は?
コマンド ラインから、また経験やプロジェクトからデプロイする他の方法はありますか?この種のプロジェクトをデプロイする最良の方法は何でしたか?
どうもありがとう、