gpt4 book ai didi

sql-server - Dacpac 不得丢弃多余的列

转载 作者:行者123 更新时间:2023-12-02 20:42:38 24 4
gpt4 key购买 nike

我很高兴编写了一个使用以下内容的产品:Sql Server 数据库项目和生活一直很美好,直到我们发现升级中存在问题。

当我们创建表、存储过程和各种其他数据库工件时,一旦部署在客户处,他们就可以将自己的列添加到我们的 dacpac 创建的表中。

我们使用 DacFx 进行部署 (Microsoft.SqlServer.Dac),并且还为坚持由 DBA 进行部署的客户提供原始 dacpac。

虽然使用 SSMS 或类似工具时问题可能仍然存在,我确信,使用“正确”的代码,我们应该能够在通过代码部署时防止这种情况发生。

有人遇到同样的问题并可能找到解决方案吗?

更新,添加部署设置的屏幕截图。如图所示,“将对象放置在目标中但不在项目中”设置已关闭。

DeploymentOptions

最佳答案

喜欢这句话“我很高兴编写一个使用 Sql Server 数据库项目的产品,生活很美好”哈哈!

您可以编写一个部署贡献者来查找新列并从流程中删除删除步骤。

你可以自己写一个,或者我有一个应该可以做到这一点( http://agilesqlclub.codeplex.com/ ),如果你使用我的,那么这可能适合你:

/p:AdditionalDeploymentContributorArguments="SqlPackageFilter=KeepType(.*Column.*)"

如果您想编写自己的代码,则可以使用我的指南(源代码位于 codeplex 上)或参见 http://blogs.msdn.com/b/ssdt/archive/2013/12/23/dacfx-public-model-tutorial.asp特别是“解决方案 2:部署时过滤”。

编辑

关于sql-server - Dacpac 不得丢弃多余的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30880948/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com