Redgate DLM Automation - 将数据库部署到多个环境
Redgate DLM Automation - deploy database to multiple environments
我在 SQL 服务器和 Visual Studio 团队服务环境中为数据库 CI 使用 Redgare DLM 自动化。我可以轻松地在单个环境中部署到多个数据库,但显然 DLM Automation 不支持开箱即用的多个环境。 Redgate 支持建议在 PowerShell、sqlcmd 或名为 "account_y"(我不确定这是指什么)中使用 VSTS post-脚本来潜在地添加多个环境。
有没有人尝试过在多个环境中使用 DLM Automation?我探索了 PowerShell CmdLets,查看了 SQL 比较选项和过滤器,考虑过使用 VSTS 的 Tokenizer 进行脚本更改,但仍在努力解决如何将所有这些放在一起以部署到多个环境中的问题。
任何经验或指导将不胜感激。
谢谢!
您当然可以部署到多个环境,但是不同环境需要不同用户帐户的问题并不是一个容易解决的问题。最终无论你的源代码控制将被部署到每个环境,所以如果你需要不同的用户帐户,那么你将需要通过使用某种 post-部署脚本来自己处理它。
我建议不要对用户帐户进行源代码控制,然后在部署后添加自定义步骤以添加用户 - 使用 sqlcmd 的命令行或等效的 powershell cmdlet。
有一些博客 post 详细介绍了这个问题,他们的回答可能比我能提供的任何内容都详细。我建议你读一读。
- https://www.red-gate.com/blog/building/source-controlling-database-permissions
- http://workingwithdevs.com/source-controlling-database-users/
希望对您有所帮助。
我在 SQL 服务器和 Visual Studio 团队服务环境中为数据库 CI 使用 Redgare DLM 自动化。我可以轻松地在单个环境中部署到多个数据库,但显然 DLM Automation 不支持开箱即用的多个环境。 Redgate 支持建议在 PowerShell、sqlcmd 或名为 "account_y"(我不确定这是指什么)中使用 VSTS post-脚本来潜在地添加多个环境。
有没有人尝试过在多个环境中使用 DLM Automation?我探索了 PowerShell CmdLets,查看了 SQL 比较选项和过滤器,考虑过使用 VSTS 的 Tokenizer 进行脚本更改,但仍在努力解决如何将所有这些放在一起以部署到多个环境中的问题。
任何经验或指导将不胜感激。
谢谢!
您当然可以部署到多个环境,但是不同环境需要不同用户帐户的问题并不是一个容易解决的问题。最终无论你的源代码控制将被部署到每个环境,所以如果你需要不同的用户帐户,那么你将需要通过使用某种 post-部署脚本来自己处理它。
我建议不要对用户帐户进行源代码控制,然后在部署后添加自定义步骤以添加用户 - 使用 sqlcmd 的命令行或等效的 powershell cmdlet。
有一些博客 post 详细介绍了这个问题,他们的回答可能比我能提供的任何内容都详细。我建议你读一读。
- https://www.red-gate.com/blog/building/source-controlling-database-permissions
- http://workingwithdevs.com/source-controlling-database-users/
希望对您有所帮助。