7

SSDTプロジェクトが2つあります。Database1はDatabase2を参照します。

データベースプロジェクト

Database1をデプロイすると、(Database2からの)Table2が期待どおりにデプロイされます。これは、デプロイするときに、[複合オブジェクトを含める]チェックボックスがオンになっているためです。

問題は、Database2のスキーマ/オブジェクトのみがDatabase1とともにデプロイされることです。「Script.PostDeployment.sql」ファイルは、Database1デプロイメントの一部としてスクリプトで生成されません。ただし、Database2をターゲットデータベースに直接デプロイすると、スクリプトに含まれます。

参照されているdacpacファイルまたはSSDTプロジェクトからのデプロイ前/デプロイ後のスクリプトを含めるにはどうすればよいですか?

4

1 に答える 1

5

データベース1の展開後のスクリプトでデータベース2の展開後のスクリプトを呼び出す必要があると思います。

 Use SQLCMD syntax to include a file in the post-deployment script.         
 Example:      :r .\myfile.sql  

ほとんどの場合、展開時に別のDBの展開後のスクリプトを実行するべきではないため、他の方法はわかりません。また、両方のデータベースのデプロイメントで実行する必要があるスクリプトの部分を独自のファイルにリファクタリングし、両方のデプロイメント後のスクリプトでそれを参照することを検討することもできます。

于 2012-08-21T14:54:14.073 に答える