我可以使用 .scmp 文件自动生成更改脚本吗?

Can I automatically generate a change script using a .scmp file?

我们在工作中使用数据库项目并将其部署到生产服务器,我们当前的过程是手动 运行 使用保存的 .scmp 文件进行比较,该文件将数据库项目与我们的生产进行比较数据库(使用只读登录),然后生成一个 SQL 脚本,我们将其提供给 I.T。支持 运行 生产。我们还进行构建以生成我们的 post-部署脚本,我们将那个脚本也交给我们的人 运行。

我正在尝试尽可能多地自动化此过程(以减少出错的机会并提高效率)。我想知道是否有一种方法可以使用 .scmp 文件中的预定义选项自动生成 sql 更改脚本。

此外,有没有一种简单的方法可以自动将 post 部署脚本附加到架构更改脚本的末尾,所以他只有一个 sql 文件到 运行?

也许有一个很好的方法可以用 powershell 或其他东西来完成整个事情。

好的,您应该做的是使用 sqlpackage.exe 从通过构建 ssdt 项目生成的 dacpac 创建脚本。

创建一个批处理脚本来调用它或使其成为您的 CI 流程的一部分。

要过滤输出,有一些新选项,例如在最新(2015 年 3 月)版本的 ssdt 中排除某些类型或使用部署过滤器,例如:

http://agilesqlclub.codeplex.com 如果您需要更大的灵活性。

使用这个你可以像比较一样过滤部署,而且 pre/post 部署脚本是 pre/appended 所以你一箭双雕! 埃德