我一直很高兴地编写一个使用 Sql Server 数据库项目的产品,并且生活一直很好,直到我们发现升级中的问题。
当我们创建表、存储过程和各种其他数据库工件时,一旦部署到客户那里,他们就可以将自己的列添加到我们的 dacpac 创建的表中。
我们正在使用 DacFx 进行部署 (Microsoft.SqlServer.Dac),并且还为坚持由其 DBA 部署的客户提供原始 dacpac。
虽然在使用 SSMS 或类似工具时问题可能仍然存在,但我确信使用“正确”的代码,我们应该能够在通过代码部署时以某种方式防止这种情况。
有没有人遇到过同样的问题并可能找到了解决方案?
更新,添加部署设置的屏幕截图。从图中可以看出,“在目标中放置对象但不在项目中”设置已关闭。