7

我有两个 SSDT 项目。数据库 1 引用数据库 2。

数据库项目

部署 Database1 时,Table2(来自 Database2)按预期部署。那是因为在我部署时,选中了“包括复合对象”复选框。

问题是只有 Database2 中的模式/对象与 Database1 一起部署。作为 Database1 部署的一部分,脚本中不会生成“Script.PostDeployment.sql”文件。但是,当我将 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  

我看不到任何其他方式,因为在大多数情况下,部署时可能不应该运行另一个数据库的部署后脚本。您可能还需要考虑将需要在部署两个数据库时运行的脚本部分重构到其自己的文件中,并在两个部署后脚本中引用它。

于 2012-08-21T14:54:14.073 回答