増分データベースのアップグレードを必要としない場合は、この問題に対する別の解決策があります。したがって、各ビルドのデータベースを再作成しても大丈夫なら、次のようにも動作します。
は「My project settings
」の展開設定を構成するデータベースプロジェクトファイルに
をdeployターゲットを追加します。これらの設定は、ソリューションをビルドするときにビルドサーバーによって使用されます。ローカルでビルドする場合、使用される設定は 'My isolated development environment
'のものになります。
- データベースプロジェクトのプロパティで
展開アクションは「Create a deployment script (.sql) and deploy the database
」である必要があります。これはスクリプトの実行を阻止し、スクリプトを作成するだけです。
- データベースプロジェクトファイル
、データベースプロジェクトファイル(右クリックして、データベースプロジェクトを変更するアンロードを選択し、もう一度右クリックし、[編集]、[プロジェクト名]を選択します。
<Project DefaultTargets="Build;Deploy" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
へ
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
からdbproj) ビルドサーバはデフォルトのターゲットは、データベースを展開する追加、データベースプロジェクトを含むソリューションを構築します。このビルドでは、[My project settings
]の[展開]設定が使用されます。
賛否
- 開発者がソリューションの地元を再構築しないと、デフォルトのターゲットは、構築、配備する変更されているので簡単には
短所
- を設定するには、また、データベースを展開します(建物のみが展開をトリガーしません)
ありがとうございました!私はその記事を見逃してしまい、この問題を本当に解決したことはありませんでした。 –
夜間のビルドをするときは、それは私だけですか、これはほとんど不可能ですか? –
正直言って、チームビルドを使用してDBを導入することを断念しました。私は代わりに、私たちの開発プロセスの一部として維持しているSQL Expressファイル添付の参照データベースを使用するために夜間にすべてを切り替えました。 DBプロジェクトの内容をチェックインする際には、スキーマ比較を使用して、変更を参照DBに書き込むようにしてください。このように、私たちはDBプロジェクトを使用することができます。夜間に「ビルド」を行い、DBプロジェクトの配備を心配する必要はありません。 –