SQL Server 如何运行原始SQL以部署数据库更改

gblwokeq  于 2022-12-22  发布在  其他
关注(0)|答案(2)|浏览(111)

我们打算使用SQL数据库项目创建DACPAC文件,并使用Azure Pipeline将它们自动分发到多个环境(DEV/QA/PROD)。我可以更改表、视图、函数或过程的架构,但我不确定如何更新表中的特定数据。我确信这是非常常见的用例,但遗憾的是,我很难实现它。
知道如何自动创建/更新/删除表中的行吗?

E.g.: update myTable set myColumn = 5 where someColumn = 'condition'
8fq7wneg

8fq7wneg1#

在数据库项目中,可以添加Post Deployment Script

ecr0jaav

ecr0jaav2#

不要。说真的。我发现DACPAC对于严肃的操作总是太有限制了。看看SQL是如何生成的-意识到你的控制力有多小。
标准的方法是拥有您生成的部署脚本,这些脚本在数据库中执行更改,再加上数据库中跟踪已执行的表(可能带有校验和,因此您不需要更改名称来更新它们)。
您可以部分地通过模式比较(然后生成变更脚本)轻松地生成它们,但是它们还允许您执行数据清理和多步转换等操作,而DACPAC在设计上无法有效且轻松地执行这些操作。
现在有很多这样的框架,它们通常属于开发人员工具的范畴。

相关问题