5

Team Build 2010 beta 2 を入手して SQL データベース プロジェクトを SQL サーバーにプッシュする方法を誰か教えてもらえますか?

VSTS 2008 では、TFSBuild.proj ファイルで targets 属性を "deploy" に設定して MSBuild コマンドを追加するだけですが、それを 2010 で使用される新しいワークフロー ベースの xaml のものに変換するのに少し問題があります。

私が探しているのは、データベース自体の実際の展開をトリガーする方法です。すでにデプロイ スクリプトが正常に生成されています。

4

4 に答える 4

6

まだ答えを探している人は、vsdbcmd.exe を使用する Invoke Process を使用してください: http://msdn.microsoft.com/en-us/library/ff805001.aspx

于 2011-01-06T19:56:27.423 に答える
1

データベースの増分アップグレードが必要ない場合は、この問題に対する別の解決策があります。したがって、ビルドごとにデータベースを再作成しても問題ない場合は、次の方法も機能します。

デプロイ ターゲットをデータベース プロジェクト ファイルに追加する

「<code>My project settings」のデプロイ設定を構成します。これらの設定は、ソリューションのビルド時にビルド サーバーによって使用されます。ローカルでビルドする場合、使用される設定は「<code>分離された開発環境」の設定になります。

  1. データベース プロジェクトのプロパティで

Deploy Action は、'<code>Create a deployment script (.sql) and deploy the database' である必要があります。これにより、スクリプトの実行が妨げられ、スクリプトが作成されるだけです。

  1. データベース プロジェクト ファイル

データベース プロジェクト ファイルを変更します (データベース プロジェクトを右クリックして [アンロード] を選択し、もう一度右クリックして [[ProjectName].dbproj の編集] を選択します)。

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">

<Project DefaultTargets="Build;Deploy" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">

ビルド サーバーがデータベース プロジェクトを含むソリューションをビルドするときに、既定のターゲットを追加すると、データベースも配置されます。このビルドは、'<code>My project settings' で選択された Deploy 設定を使用します。

長所

  • セットアップが簡単

短所

  • デフォルトのターゲットが Build and Deploy に変更されているため、開発者がソリューションのローカル リビルドを実行すると、データベースもデプロイされます (ビルドのみではデプロイはトリガーされません)。
于 2011-06-02T14:14:19.383 に答える
1

次に例を示します。

http://www.nablasoft.com/alkampfer/index.php/2009/10/06/deploy-a-database-project-with-tfs-build/

単に DeployToDatabase=true が欠落している可能性があります

于 2009-11-05T16:43:50.100 に答える
0

これまでに見つけた最も近いものは、Jim Lamb (Microsoft の Team Foundation PM) からのこの投稿です。

ここで彼は、カスタム proj ファイルを作成し、proj ファイルを呼び出すようにデフォルトのビルド プロセス テンプレートを変更することについて漠然と話しています。

彼はまた、私が以前無視していたアップグレード テンプレートの使用についても語っています。明らかに、アップグレード テンプレートを使用して 2008 ビルド定義を呼び出すことができます。ただし、従来の proj ファイルに基づいてビルド全体を呼び出して定義したくはありませんが、少なくともそれはオプションです。

どちらのトピックにも、実際に必要な変更を加えるのに十分な情報は含まれていませんが、将来の実験の妥当な出発点にはなります。

于 2009-11-05T19:00:32.440 に答える