【问题标题】:Can I automatically generate a change script using a .scmp file?我可以使用 .scmp 文件自动生成更改脚本吗?
【发布时间】:2015-03-17 21:11:45
【问题描述】:

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

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

另外,有没有一种简单的方法可以自动将部署后脚本附加到架构更改脚本的末尾,这样他只需要运行一个 sql 文件吗?

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

【问题讨论】:

  • 您想要哪些预定义选项?有一些方法可以自动化脚本,但这会影响它。
  • 我们在 .scmp 文件中的预定义选项更多是关于从比较中排除哪些项目(如同义词和角色/登录名等)

标签: visual-studio powershell deployment sql-server-data-tools


【解决方案1】:

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

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

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

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

使用它,您可以像比较一样过滤部署,并且部署前/后脚本是预先/附加的,因此您可以用一块石头杀死两只鸟! 埃德

【讨论】:

    猜你喜欢
    • 2013-06-15
    • 2014-05-13
    • 1970-01-01
    • 1970-01-01
    • 2010-09-10
    • 2013-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多