【发布时间】:2017-10-31 09:19:41
【问题描述】:
有没有一种方法可以在运行时派生 SQL Server 数据库项目 (Dacpac) 中的数据库引用?
我们正在构建一个使用 Dacpac 部署数据库对象的产品。
我们的产品实施团队还通过将数据库引用添加到产品 Dacpac 文件,然后将他们自己的其他对象添加到项目中来使用 Dacpac 项目。
我们面临的问题是——每次实现需要指向较新的产品发布版本时,都必须手动更改实现 dacpac 中的父 dacpac 引用以引用新产品 dacpac 的新文件路径(在较新的版本中)。我们在每个实施中都有多个实施团队和多个数据库项目。
有没有什么方法可以在运行时使用变量或参数或类似的东西导出数据库项目中的数据库引用 (*.dacpac)?
【问题讨论】:
-
将 dacpacs 放到共享位置
-
只是为了澄清一下 - 您的意思是当您部署项目时,您总是想要部署最新的 dacpac,或者当您构建实施项目时,您想要针对缺少一些位的 dacpac 构建(从旧版本)?
-
Dmitrij 的评论几乎就是我们要做的。构建适当版本的 dacpac,将其放在共享位置。必要时进行版本控制,并可能记下需要哪些构建以使一切正常工作。理想情况下,引用应该在一个公共路径中,如“..\..\..\Schema\DB1.dacpac”或类似的路径,因此对于所有项目来说都是相同的。
-
@EdElliott 我想让实施团队灵活地只在他们想要的时候进行升级。这意味着他们应该能够添加对任何产品 (dacpac) 发行版本的引用。目前,如果他们指向上个月的产品版本 1.0.1,而如果他们现在想指向本月的 1.0.2,他们将不得不手动更改所有 SQLproj 文件才能引用 1.0 .2 产品 dacpac。
标签: sql-server-data-tools database-project dacpac