mysql部署方案2.0

2022-12-28 14:08:21 浏览数 (1)

=======================

mysql部署方案2.0

1. sql类型解释

sql为两种类型sql,第一类是基础数据sql,第二类为业务数据sql.

  • 基础数据定义为对bdms系统库表结构的定义及初始化数据, 业务数据则跟生产环境相关,用于修改特定环境;
  • 基础数据对于每个全新的环境都需要全部执行, 业务数据只对于关联的生产环境才是有意义的;
  • 基础数据格式sys_date_seq.sql,如bdms_20200327_001.sql, 业务数据格式env_date_seq.sql,如xiangyang_20200327_001.sql,wuhan_20200327_001.sql;
  • 基础数据存放文件夹/sql,如:scripts/sql/bdms, 业务数据存放文件夹/sql/env,如:scripts/sql/xiangyang
2. sql创建规则
  • 当你的sql对所有环境都需要生效时,请创建基础数据sql,根据系统时间和指定的序号(注意,协同工作时可能跟其他人的序号冲突,这里暂无较好解决方案,需要在合并pr时解决冲突)生成对应名称sql
  • 当你的sql只对某一个生产环境生效时,请创建业务数据sql,规则和基础数据sql类似。需要注意的是,若有多个生产环境都需要生效此修改,请将此业务sql复制到每一个生产环境文件夹中
3. sql部署准备
  • conf, 每一个生产环境业务数据存放文件夹下都需要包含一个文件conf,文件包含当前生产环境版本号和本次更新所包含的文件名
  • deploy.sh, 每一个生产环境业务数据存放文件夹下都需要包含一个更新脚本deploy.sh,更新脚本内容:
    1. 将scripts/sql文件夹放入mysql docker容器
    2. 根据conf版本号进行数据库全量备份
    3. 根据conf更新文件名检索到指定的sql文件进行更新
4. sql部署流程
  1. 根据上次更新,修改conf本次版本号和更新文件名
  2. scripts/sql打包放入部署文件中
  3. 执行部署脚本deploy.sh

0 人点赞