结构设计

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

前提条件

  • 数据库类型如下:

    • MySQL:RDS MySQLPolarDB MySQL版MyBase MySQLPolarDB分布式版、其他来源MySQL

    • OceanBase

    • Oracle

    说明

    支持物理库、逻辑库。

  • 实例的管控模式为安全协同。更多信息,请参见查看管控模式

  • 结构设计中使用的数据库的环境类型符合安全规则 > 结构设计 > 研发流程规则中设置的环境类型。环境类型的更多信息,请参见更改实例环境类型

适用场景

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

功能特性

  • 在开发过程中自动检测企业需遵循的表结构研发规范,如不允许删除在生产环境中已使用的字段,保障研发自助变更表结构的同时满足企业的表结构设计规范。

  • 支持将已验证脚本一键发送至其他环境,保障环境之间相关表的结构一致性,适用于多套研发环境开发,提升生产环境发布的成功率。

  • 支持多人协同在Web页面变更数据结构操作。

注意事项

  • 结构设计暂不支持在工单创建过程中,删除创建工单前就已经存在的表,创建工单后新建的表可以删除。

  • 执行变更到目标数据库后,元数据字典信息会自动同步。

    说明

    您可在SQLConsole窗口输入show create table table_namedesc table_name命令,验证变更是否生效。

操作步骤

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

    说明

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

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

  4. 配置结构设计工单的基本信息,并单击提交。如下为部分信息说明:

    配置

    是否必填

    说明

    变更基准库

    选择安全协同模式的目标数据库,目标数据库的环境类型需要符合该数据库安全规则的研发流程规范。关于研发流程,请参见结构设计

    变更相关人

    搜索并选择变更相关人,变更相关人可查看工单,参与开发、评审并推动工作。

    说明

    除管理员和DBA外,其他非相关人员不能查看工单。

  5. 新建物理表。

    • 通过可视化方式:

      1. 单击新建物理表

      2. 输入表基本信息,修改列信息和索引信息。

      3. 表设计结束后,单击保存

    • 通过SQL建表语句:

      1. 单击导入SQL语句

      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页签,确认表结构信息,确认无误后,单击保存

    说明

    除以上两种新建物理表的方式,您还可以在SQLConsole页面完成创建表操作。具体操作,请参见创建表

  6. 预检测结果对话框中,查看预检查结果。

    • 预检查通过:单击确认无误,提交保存

    • 预检查结果中只有警告:单击忽略警告, 继续保存,或单击关闭,按规范修改表结构后,重新单击保存

    • 预检查结果中有错误:查看错误原因,单击关闭,按规范修改表结构后,重新单击保存

    说明
    • 系统根据默认安全规则中的研发规范对建表语句进行校验,提示本次操作中存在的研发规范类错误和警告。

    • 当前DMS的研发规范支持新建表、修改表字段、修改表索引等多方面近40条规范,您可以在安全规则中进行自定义配置。

    预检查通过后,系统将自动跳转至结构设计项目首页页签,您可以在项目编辑的表页签中,查看修改、新增的表,编辑、删除目标表等。

  7. 将修改、新增的表执行到基准库中。

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

    2. 执行变更到基准库面板,查看基准库、执行策略、执行脚本,单击确定

    待审批完成后,系统会自动将修改、新增的表结构同步到基准库中。

    说明
    • 您可以在基准库的SQL窗口中,查看修改、新增的表结构是否符合预期。

    • 默认的安全规则规定结构变更均需要提交审批工单,您也可以在安全规则中进行自定义配置,例如设置开发节点的变更为免审批、设置生产节点的变更审批人等。

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

  9. 将修改、新增的表结构执行到生产库中。

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

    2. 执行变更到目标库面板中,选择目标库、执行策略,单击确定

      说明

      您还可以单击增加多套库,将脚本代码批量执行到多套生产库。

      待审批完成后,系统会自动将修改、新增的表结构同步到目标生产库中。您还可以在生产库的SQL窗口中,查看修改、新增的表结构是否符合预期。

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

      整个流程结束,工单关闭后,您可以单击各节点查看变更与发布记录。