背景:我们公司的业务都是微服务化的,大概上百个服务。分成 10 个产品线的样子。由于测试,迭代,镜像版本持续更新。看镜像仓库,能够看到上百个小版本。现在做私有化部署,根本没法知道什么版本该用什么 sql ,至于后续的升级更是一团乱麻。当前能做的就是从生产环境拉下来数据库,脱敏处理后,直接部署。但是会造成很多报错,每次调测都耗费大量的人力
需求: 不知道各位什么方法,能够管控起来如此众多的 sql 提交。我这边有两种方案:
1. 开发各自管理自己的应用,每次定版后,必须携带数据库 sql 目录,目录下必须包含全量初始化数据,以及上一个版本到这个版本的增量数据。但是这个涉及到开发的配合问题,没法强制管理起来。
2. 开发把数据库校验写道自己的应用中,每次部署,自动检测是升级,还是全量初始化。(这个肯定最漂亮,但是不知道实现起来,技术难度高不高)
3. 数据库严格控制权限。开发想更新,必须要走专用管控流程,提交经过审核后,才能够同步到测试库。将来部署的时候,可以回溯所有的版本。
各位大哥,有木有好点子可以提供下呢?
需求: 不知道各位什么方法,能够管控起来如此众多的 sql 提交。我这边有两种方案:
1. 开发各自管理自己的应用,每次定版后,必须携带数据库 sql 目录,目录下必须包含全量初始化数据,以及上一个版本到这个版本的增量数据。但是这个涉及到开发的配合问题,没法强制管理起来。
2. 开发把数据库校验写道自己的应用中,每次部署,自动检测是升级,还是全量初始化。(这个肯定最漂亮,但是不知道实现起来,技术难度高不高)
3. 数据库严格控制权限。开发想更新,必须要走专用管控流程,提交经过审核后,才能够同步到测试库。将来部署的时候,可以回溯所有的版本。
各位大哥,有木有好点子可以提供下呢?