将SQL项目从VS发布到多个dbs的最简单方法是什么?

时间:2016-01-18 14:35:34

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

具有多个共享相同模式的dbs的多租户系统。开发和测试环境有多个示例租户。在VS2k13中的SSDT / SQL项目中维护Db架构。

从VS中自动发布到所有数据库的最简单方法是什么?

1 个答案:

答案 0 :(得分:5)

最简单的方法是创建一个批处理文件或powershell脚本,使用/ Action:Script调用sqlpackage.exe,dacpac是项目的输出,作为/ SourceFile,每个数据库作为/ TargetConnectionString

每个数据库的批处理中都有一行。

推荐(我的建议无论如何)是让像TeamCity或Tfs这样的CI服务器监控签到,然后在办理登机手续时:

  • 构建项目
  • 使用sqlpackage.exe将dacpac与每个数据库/环境进行比较
  • 根据数据库/环境,推送所有更改或为每个数据库生成部署脚本。

如果您从visual studio发布,则不会有严格的过程:

  • 在本地开发代码,在本地测试
  • 签入代码 - 合并代码
  • 理想情况下将更改推送到CI数据库并运行单元测试/集成测试
  • 生成/部署到特定数据库