文档

表结构发布流程化

本文以设计结构(Develop,简称Dev)、测试(Test)、生产发布(Product)的表结构设计步骤向您介绍规范、安全的表结构发布流程。

背景信息

在新项目、新需求或者优化等业务场景中,一般会涉及到新建表、修改表(加减字段、加减索引、调整字段属性、调整索引组成)等结构的变更操作,此时您可以使用DMS的结构设计功能。

DMS推出的结构设计为多套研发环境开发,且在开发过程中自动检测企业需遵循的表结构研发规范,并支持多人在Web页面协同开发的功能。

结构设计功能可保障研发自助变更的同时满足企业的设计规范、不同环境之间相关表结构的一致性,同时大大提升生产发布的成功率。

结构设计功能说明:

功能

说明

保障生产发布的成功率

新的表结构在发布到生产环境前,会依据研发流程在逐个节点中对表结构进行验证,可避免未验证脚本直接发布到生产环境而导致发布失败的问题,保障生产发布的成功率。

保障环境结构的一致性

系统会依据研发流程对逐个环境进行结构变更,可避免因部分环境未执行而导致的测试延误、项目整体发版进展延误等。

保障数据结构的规范性

安全规则的研发规范包含新建表、修改表字段、修改表索引等多方面的近40条规范,方便研发同学自助设计满足企业研发规范的表结构,可避免因不满足规范的结构发布上线而导致的生产故障。同时,该功能可节省运维人员因人工检查规范而带来的人力投入,并提升研发效能,可以有效支撑快速迭代发版工作。

搭建示例的测试环境

  1. 创建3个RDS MySQL数据库实例,分别为:Schema_Design-dev、Schema_Design-test、Schema_Design-product,操作详情请参见快速创建RDS MySQL实例

  2. 将3个数据库实例录入至DMS中,将管控模式均设置为安全协同,并分别将数据库环境类型设置成开发(Dev)、测试(Test)、生产(Product)。云数据库录入的操作详情请参见云数据库录入,数据库实例环境的说明请参见实例环境说明

  3. 在3个数据库实例中分别创建3个对应的数据库:dev_database、test_database、product_database。

数据库实例与结构设计各节点的对应关系:

结构设计节点

设计结构(Dev)

测试(Test)

生产发布(Product)

对应数据库实例名称

Schema_Design-dev

Schema_Design-test

Schema_Design-product

环境类型

dev

test

product

数据库名称

dev_database

test_database

product_database

步骤一:配置研发规则

默认的研发流程为:设计结构(Dev)、生产发布(Product)。以下步骤将介绍如何新建安全规则并配置设计结构(Dev)、测试(Test)、生产发布(Product)的研发流程。

  1. 登录数据管理DMS 5.0
  2. 在顶部菜单栏中,选择安全与规范 > 权限中心 > 权限模板

    说明

    若您使用的是极简模式的控制台,请单击控制台左上角的2023-01-28_15-57-17.png图标,选择全部功能 > 安全与规范 > 权限中心 > 权限模板

  3. 安全规则页面中,单击左上角的新增规则集按钮,新增一个规则集。

    说明

    可自定义规则集名称,本示例中以SD-DT为例。

    创建新安全规则

  4. 在安全规则详情页面左侧的导航栏中,单击结构设计

  5. 结构设计页签中,单击研发流程右侧操作列中的编辑

    编辑研发流程按钮

  6. 编辑配置项对话框中,完成如下配置:

    1. 将第二条节点名称改为测试,将库环境改为test

    2. 新增第三条节点,将第三条节点名称改为生产发布,将库环境改为product,同时该节点设置为锚点

      说明

      锚点:为工单编辑的冻结点,即锚点所在步骤成功发布之后,工单将会变成已发布状态,不可编辑。

    配置界面如下图所示。

    编辑研发流程

  7. 单击提交

步骤二:设置数据库实例的安全规则

将Schema_Design-dev数据库实例(环境类型为Dev)的管控模式设置为安全协同并选择步骤一创建的SD-DT安全规则。

  1. 登录数据管理DMS 5.0
  2. 在控制台首页左侧的实例列表中,右键单击Schema_Design-dev数据库实例。

  3. 在弹出的列表中,选择管控模式 > 安全协同 > SD-DT

步骤三:进行结构设计

以下步骤以新建数据库的表结构变更为例,向您介绍设计结构(Dev)、测试(Test)、生产发布(Product)三节点的结构设计项目。

  1. 登录数据管理DMS 5.0
  2. 在顶部菜单栏中,选择数据库开发 > 结构变更 > 结构设计

    说明

    若您使用的是极简模式的控制台,请单击控制台左上角的2023-01-28_15-57-17.png图标,选择全部功能 > 数据库开发 > 结构变更 > 结构设计

  3. 单击页面右上角的结构设计

  4. 配置结构设计工单信息,并单击创建工单

    创建工单后,系统会自动跳转到结构设计项目首页,该项目共有5个节点,如下图所示。结构设计流程图

  5. 在设计结构节点进行配置:

    1. 单击导入建表语句

    2. 在文本框中输入以下语句,并单击确定

      CREATE TABLE `teacher` (
          `teacher_id` varchar(20) NOT NULL COMMENT '教师编号',
          `teacher_name` varchar(20) NULL COMMENT '教师名字',
          `phonenumber` varchar(20) NULL COMMENT '教师电话号码',
          PRIMARY KEY (`teacher_id`)
      ) DEFAULT CHARACTER SET=utf8 COMMENT='教师表';
    3. 在控制台界面确认基本信息字段索引等信息。

    4. 单击保存,并在弹出的预检测结果窗口中单击确认无误,提交保存

    5. 单击执行变更到基准库

    6. 在弹出的对话框中,选择执行策略为立即执行,并在确认最终的SQL语句无误后单击提交执行

    7. 提交执行后请等待审批完成,待审批完成后,系统会将新的表结构写入到dev_database数据库中。

    8. 可选:前往SQL Console插入数据或提交数据变更工单对dev_database数据库进行测试。

      插入数据示例代码如下:

      insert into teacher
      (teacher_id, teacher_name, phonenumber)
      values
      ('t001', 'teacher001', '1380000001'),
      ('t002', 'teacher002', '1380000002'),
      ('t003', 'teacher003', '1380000003');

      验证通过后,即可将该变更结构发布到下一节点中。

    9. 在结构设计工单页面中,单击进入下一节点

      说明

      在进行该项操作前,您可以与您的同事在该节点对dev_database数据库进行多次变更设计与验证,系统最终会产生一个create脚本,发布到下个节点。

    10. 在弹出的对话框中,再次单击进入下一节点

  6. 在测试节点进行配置:

    1. 单击执行变更到目标库

    2. 选择test_database数据库,并将执行策略设置为立刻执行,单击提交执行

      说明

      提交执行后请等待审批完成,待审批完成后,系统会将变更的结构写入到test_database数据库中。

    3. 可选:前往SQL Console插入数据或提交数据变更工单对test_database数据库进行测试。

      说明

      当该节点验证通过时,即可将该变更结构发布到下一节点中。

    4. 在结构设计工单页面中,单击进入下一节点

    5. 在弹出的对话框中,再次单击进入下一节点

  7. 在生产发布节点进行配置:

    1. 单击执行变更到目标库

    2. 选择product_database数据库,并将执行策略设置为立刻执行,单击提交执行

      提交执行后请等待审批完成。待审批完成后,系统会将变更的结构写入到product_database数据库中,您也可以将数据写入生产环境中(product_database数据库)。

    3. 在结构设计工单页面中,单击进入下一节点

    4. 在弹出的对话框中,再次单击进入下一节点

      整个流程结束,工单关闭。

相关文档