微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么 dacpac 无法更新 azure sql server 上的视图?

如何解决为什么 dacpac 无法更新 azure sql server 上的视图?

我们有一个 sql 部署包,又名 dacpac,其中 sql 视图的定义已更改。

部署过程可能无法alter 现有视图是否有任何原因?部署管道的 sql deploy 步骤像往常一样运行没有错误,所以那里没有任何线索。

它只是在我们的 azure 管道部署中无法正常工作,它可以在本地数据库上运行。尽管我们已经使用 dacpac 一年多了,但这是我们第一次遇到这个问题。

如果有人知道 dacpacs 如何决定发出哪些改变语句会很有用。


抱歉,这有点含糊,但我们正在抓紧稻草。如果可以,我们会放弃糟糕的 dacpac 系统,但这需要更长的时间。欢迎提供明显的答案,例如“它是否指向正确的数据库”,因为任何疯狂的猜测都可以让我们达到目标。

解决方法

理想情况下,视图应作为 DACPAC 发布的一部分进行更改。如果没有发生,可能是因为视图被列为排除对象。

/p: ExcludeObjectType=(STRING) Views
/p: ExcludeObjectTypes=(STRING) Views;Triggers

Sql Package Publish options

,

继续从同一个版本创建新版本,直到其中一个版本正确部署。

这不应该是答案,因为 dacpac 没有改变,但它最终起作用了。

我只能猜测这是因为 dacpac 通过检查数据库来确定在部署时要进行哪些更改,因此从根本上说是不确定的。正是您不希望用于更改生产数据库架构的系统。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。