Sql server Redgate SQL源代码管理为开发测试实时数据库推荐的工作流
我们正在尝试开始使用SQL源代码管理,但有一些问题 这就是我的目标。这看起来有用吗Sql server Redgate SQL源代码管理为开发测试实时数据库推荐的工作流,sql-server,version-control,redgate,Sql Server,Version Control,Redgate,我们正在尝试开始使用SQL源代码管理,但有一些问题 这就是我的目标。这看起来有用吗 修改dev数据库表/进程 提交到dev PC上的dev git分支 推动中央回购的变化 对每个更改重复步骤1-3 将开发分支合并到测试分支 在测试分支上使用SQL源控件“获取最新信息” 将更改应用于测试数据库 重复步骤5-8,但从测试到现场 注: -采用“共享数据库”开发模式 问题: 这看起来有用吗 SQL源代码管理能否将更改应用于测试和实时数据库 或者我需要为开发服务器购买一份SQL Compare副本来执
- 这看起来有用吗
- SQL源代码管理能否将更改应用于测试和实时数据库
- 或者我需要为开发服务器购买一份SQL Compare副本来执行此任务吗
- 在此处修复该图:
- 更多的笔记和经验在我的
- 通常不建议将SQL源代码管理连接到您的实时环境。它通过民意调查来寻找变化,而这可能不是您希望在实时系统上看到的。建议使用SQL Compare来对UAT/生产系统进行一次性部署。或者,您可能对该产品感兴趣
- 您在上面询问了测试中的共享/专用模式。无论您是在开发分支中为开发人员使用共享数据库,还是在测试分支中使用专用模型。如果对测试数据库的唯一更改来自一个地方(例如git部署),那么最好以专用模式运行该数据库
- 开发人员使用共享模型进行连接
- 然后您可以看到谁修改了每个表/proc/etc
- 我们还使用共享模型在dev服务器上保留一个工作文件夹。
- 这使我们可以使用get-latest从live中使用补丁更新开发人员
- 是的,我相信这应该可以。传统上,关于合并分支的问题会给迁移脚本带来麻烦,尽管Migrations V2的beta版正在解决这个问题以及其他问题
如果您有某种类型的构建系统链接到您的存储库,您可能会使用自动化后一部分,在后一部分中它将部署以进行测试-例如,您执行合并时可能会触发TeamCity之类的事件,然后自动更新测试以手动保存您需要执行的操作 很好,您正在部署存储库中数据库更改的版本副本,在我看来,这是一个非常好的连续交付实践 对你的问题有一些建议(我戴着红门帽)
是的,只要使用正确的连接模式,这似乎确实有效 红门()认为这不是最佳实践。他们希望您也购买SQL Compare 您可以使用专用模型简单地连接到所有数据库,但您无法查看谁修改了特定对象,但您可以合并live中的修补程序 我喜欢这样:
是的,这将起作用。这基本上是我们如何做到的。我似乎无法“获取最新的”测试数据库。测试数据库是否应该使用“专用数据库”模型,而开发人员仍然使用“共享数据库”模型?似乎正在工作,现在测试和直播都使用专用数据库模型。Dev仍然是共享的。你能指出关于新版本迁移脚本的任何信息吗?嗨,Ben-我自己还没有好好看一看,但这里有一些信息:和一个谷歌反馈/讨论小组:正是我想要的。谢谢迁移:也是一个在堆栈问题3天后发布的文档:我们目前没有使用CI server,但已经讨论过了,并且已经在路线图上了(还没有时间尺度)。