数据管理DMS提供的结构设计功能,可以实现对目标库、表进行符合研发规范的表结构设计。您可按需自定义不同业务线的研发流程,保障多套环境(例如开发环境、测试环境、生产环境)之间结构的一致性。本文以物理库为例,介绍进行结构设计的方法。

前提条件

  • 数据库类型如下:
    • MySQL:RDS MySQLPolarDB MySQL引擎MyBase MySQLPolarDB-X、其他来源MySQL
    • OceanBase
    • Oracle
    说明 支持物理库、逻辑库。
  • 实例的管控模式为安全协同。更多信息,请参见查看管控模式

适用场景

结构变更适用于新项目、新需求、业务优化等场景,一般会涉及新建表、修改表(如加减字段、加减索引、调整索引、调整字段属性)等结构的变更。

功能特性

  • 在开发过程中自动检测企业需遵循的表结构研发规范,如不允许删除在生产环境中已使用的字段,保障研发自助变更表结构的同时满足企业的表结构设计规范。
  • 支持将已验证脚本一键发送至其他环境,保障环境之间相关表的结构一致性,适用于多套研发环境开发,提升生产环境发布的成功率。
  • 支持多人协同在Web页面变更数据结构操作。

注意事项

  • 结构设计暂不支持在工单创建过程中,删除创建工单前就已经存在的表,创建工单后新建的表可以删除。
  • 执行变更到目标数据库后,元数据字典信息会自动同步。
    说明 您可在SQLConsole窗口输入show create table table_namedesc table_name命令,验证变更是否生效。

操作步骤

  1. 登录数据管理DMS 5.0
  2. 在顶部菜单栏中,选择数据库开发 > 结构变更 > 结构设计
  3. 单击页面右上角的结构设计
  4. 配置结构设计工单的基本信息,并单击提交
    配置 是否必填 说明
    项目名称 填写项目名称便于后期管理。
    业务背景 描述项目的业务背景信息,例如变更目的、预期目标等,减少沟通成本。
    变更基准库 选择安全协同模式的目标数据库,目标数据库的环境类型需要符合该数据库安全规则的研发流程规范。关于研发流程,请参见结构设计
    安全规则 自动选择,无需配置。
    关联迭代 单击选择/切换迭代,在目标迭代名称的操作列,单击关联,关联迭代。
    变更相关人 搜索并选择变更相关人,变更相关人可查看工单,参与开发、评审并推动工作。
    说明 除管理员和DBA外,其他非相关人员不能查看工单。
  5. 新建物理表。
    说明 除以下两种新建物理表的方式,您还可以在SQLConsole页面完成创建表操作。具体操作,请参见创建表
    • 通过可视化方式:
      1. 单击新建物理表
      2. 输入表基本信息,修改列信息和索引信息。
      3. 表设计结束后,单击保存
    • 通过SQL建表语句:
      1. 单击导入建表语句
      2. 输入建表Create Table或修改表Alter Table的SQL语句,并单击确定

        例如,创建data_modify表,SQL建表语句如下:

        CREATE TABLE `data_modify` (
          `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
          `name` varchar(256) NOT NULL COMMENT '姓名',
          `phone` varchar(32) DEFAULT NULL COMMENT '电话',
          `sex` varchar(32) DEFAULT NULL COMMENT '性别',
          `email` varchar(256) DEFAULT NULL COMMENT '邮箱',
          `remarks` varchar(1024) DEFAULT NULL COMMENT '备注',
          PRIMARY KEY (`id`)
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='个人信息登记';
      3. 新建物理表:data_modify页签,确认表结构信息,确认无误后,单击保存
  6. 预检测结果对话框中,查看预检查结果。
    • 预检查通过:单击确认无误,提交保存
    • 预检查结果中只有警告:单击忽略警告, 继续保存,或单击关闭,按规范修改表结构后,重新单击保存
    • 预检查结果中有错误:查看错误原因,单击关闭,按规范修改表结构后,重新单击保存
    说明
    • 系统根据默认安全规则中的研发规范对建表语句进行校验,提示本次操作中存在的研发规范类错误和警告。
    • 当前DMS的研发规范支持新建表、修改表字段、修改表索引等多方面近40条规范,您可以在安全规则中进行自定义配置。
    预检查通过后,系统将自动跳转至结构设计项目首页页签,您可以在项目编辑的表页签中,查看修改、新增的表,编辑、删除目标表等。
  7. 将修改、新增的表执行到基准库中。
    1. 单击执行变更到基准库
    2. 执行变更到基准库面板,查看基准库、执行策略、执行脚本,单击确定
    待审批完成后,系统会自动将修改、新增的表结构同步到基准库中。
    说明
    • 您可以在基准库的SQL窗口中,查看修改、新增的表结构是否符合预期。
    • 默认的安全规则规定结构变更均需要提交审批工单,您也可以在安全规则中进行自定义配置,例如设置开发节点的变更为免审批、设置生产节点的变更审批人等。
  8. 单击进入下一节点,在弹出的对话框中,再次单击进入下一节点
  9. 将修改、新增的表结构执行到生产库中。
    1. 单击执行变更到目标库
    2. 执行变更到目标库面板中,选择目标库库、执行策略,单击确定
      说明 您还可以单击增加多套库,将脚本代码批量执行到多套生产库。
      待审批完成后,系统会自动将修改、新增的表结构同步到目标生产库中。您还可以在生产库的SQL窗口中,查看修改、新增的表结构是否符合预期。
    3. 单击进入下一节点,在弹出的对话框中,再次单击进入下一节点
      整个流程结束,工单关闭后,您可以单击各节点查看变更与发布记录。