在过去大约两个月的时间里,我一直在寻找解决方案或实践来处理数据库中的发布管理。我正在寻找人们认为是处理此问题的最佳过程。
我们的数据库有3个环境:
- 发展历程
- 用户验收测试(UAT)
- 生产
问题是有时我们要对开发数据库中的某些内容进行更改,并需要进行部署,因此某些功能可能尚未准备好发布到UAT。
最近,我们开始使用Red Gate SQL Source控件存储所有实体(具有常规提交)。
我曾考虑过要基于变更集(例如,从变更集X到后端的所有内容现在都被推送到UAT),但这意味着人们只在将我们的代码部署到源代码管理中之前,才进行可能会造成混淆的部署(特别是因为人们健忘)。使用变更集方法的另一个问题是,如果存储过程中存在需要修复的错误,变更集编号最终将超出修订的最大变更集范围,因此,如果需要根据最大变更集重新创建数据库,我们将再次推出该错误。
关于流程有什么建议吗?
谢谢