部署脚本 - 删除复选框始终重新创建数据库
Deployment script - Remove checkbox Alwasy re-create database
这个复选框总是让我紧张。无论如何要完全删除复选框?我知道默认情况下它是未选中的,但如果我知道没有人可以检查它,我会感觉更好。
你不能删除复选框,这实际上归结为自动化你所做的事情,而不是允许人们错误地做某事:)
1 - 自动部署
如果您要部署到开发人员特定实例以外的数据库,请停止,visual studio 中的开发人员应该只能 "break" 他们自己的机器和私有数据库,这很好,因为他们可以修复它们他们自己。
要部署到其他环境(测试、qa、prod 等),那么你不应该使用 visual studio,因为它太容易出错,而是采用 dacpac,它是 ssdt 的输出,并且有一个带有正确参数的脚本调用 sqlpackage.exe 来部署它——理想情况下,这将作为构建的一部分在构建服务器上完成。
如果你这样做,那么没有人会不小心点击那个框,我同意这听起来很可怕:)
2 - 权限
其次,您需要通过限制权限确保开发人员(或任何人)没有权限意外部署到错误的服务器。如果你不这样做,你就是在自找麻烦(很可能是偶然的,但仍然是麻烦)。
希望对您有所帮助:)
编辑
这个复选框总是让我紧张。无论如何要完全删除复选框?我知道默认情况下它是未选中的,但如果我知道没有人可以检查它,我会感觉更好。
你不能删除复选框,这实际上归结为自动化你所做的事情,而不是允许人们错误地做某事:)
1 - 自动部署
如果您要部署到开发人员特定实例以外的数据库,请停止,visual studio 中的开发人员应该只能 "break" 他们自己的机器和私有数据库,这很好,因为他们可以修复它们他们自己。
要部署到其他环境(测试、qa、prod 等),那么你不应该使用 visual studio,因为它太容易出错,而是采用 dacpac,它是 ssdt 的输出,并且有一个带有正确参数的脚本调用 sqlpackage.exe 来部署它——理想情况下,这将作为构建的一部分在构建服务器上完成。
如果你这样做,那么没有人会不小心点击那个框,我同意这听起来很可怕:)
2 - 权限
其次,您需要通过限制权限确保开发人员(或任何人)没有权限意外部署到错误的服务器。如果你不这样做,你就是在自找麻烦(很可能是偶然的,但仍然是麻烦)。
希望对您有所帮助:)
编辑