IT其它持续发布

持续发布部署,数据库的变更这块有什么好的办法?

变更发布,涉及到oracle数据库和和mysql数据库,有什么好的自动化工具吗

参与9

2同行回答

顾黄亮顾黄亮课题专家组技术总监畅销书作者
这个问题我和很多头部大厂都深入的聊过,如果是非常简单的场景,且没有复杂的事务,非常简单。如何定义简单,就是SQL可以脚本化的方式,比如数据库结构、触发器、过程、函数、索引、视图的变更,这是简单,那什么不简单,涉及了业务数据和应用数据的回滚,那就是不简单。举个简单的例子,变...显示全部

这个问题我和很多头部大厂都深入的聊过,如果是非常简单的场景,且没有复杂的事务,非常简单。如何定义简单,就是SQL可以脚本化的方式,比如数据库结构、触发器、过程、函数、索引、视图的变更,这是简单,那什么不简单,涉及了业务数据和应用数据的回滚,那就是不简单。
举个简单的例子,变更的时候加了一列字段,放了业务进行验证,发现有问题,如何回滚?必须要人的介入才能回滚。
所以,数据库的敏捷有好的地方,也有不好的地方,那如何将数据库纳入到持续部署的环节,我个人认为,首先要有专享Schema。其次要将sql纳入到版本控制,然后要对测试过程进行严格的管控,最后也是最重要的,一定要有UAT环境进行流量试错。
数据库的持续发布,难的不是技术,难的是复杂的业务场景下,业务逻辑和数据的回滚,也就是我们所说的脏数据的处理。

收起
银行 · 2022-01-06
浏览542
johncyjjohncyj其它农信
没什么好办法,之前拟采用事先写好回滚脚本的形式,但实际搞下来,费时费力,没推广开显示全部

没什么好办法,之前拟采用事先写好回滚脚本的形式,但实际搞下来,费时费力,没推广开

收起
银行 · 2022-01-06
浏览509

提问者

zhuhl520
系统运维工程师浙江银行

问题来自

问题状态

  • 发布时间:2022-01-06
  • 关注会员:3 人
  • 问题浏览:1167
  • 最近回答:2022-01-06
  • X社区推广