您可以通过DMS的结构设计功能,便捷、规范地完成表结构变更。
背景信息
在新项目、新需求或者优化表结构等业务场景中,一般会涉及到新建表、修改表(加减字段、加减索引、调整字段属性、调整索引组成)等结构变更操作,此时您可以使用DMS的结构设计功能。
DMS推出的结构设计适用于多套研发环境开发(如在开发环境中验证变更的结构脚本,再一键发送至线上生产环境),且在开发过程中自动检测企业需遵循的表结构研发规范(如不允许删除在生产环境中已使用的字段),并支持多人在Web页面协同开发。
结构设计功能,在保障研发自助变更的同时满足企业的设计规范、不同环境之间相关表结构的一致性,同时大大提升生产发布的成功率。
操作演示
- 以普通用户账号登录DMS控制台。
- 在顶部菜单栏,选择库表结构 > 结构设计。
- 单击页面右上角的结构设计。说明 您可以在该页面查看到历史结构设计工单(项目发布信息)。
- 根据下图配置结构设计工单的基本信息,并单击创建工单。
配置 说明 项目名称 填写项目名称便于后期管理,本示例中以POC演示为例。 业务背景 描述项目的业务背景信息,例如变更目的、预期目标等,减少沟通成本。 变更基准库 选择 poc_dev
数据库,由于该数据库使用默认的安全规则,在创建结构设计工单时,系统会根据该安全规则的研发流程创建出设计结构(Dev)、生产发布(Product)的结构设计流程。安全规则 DMS会自动选择,无需配置。 变更相关人 单击新增按钮增加相关人员,相关人员可查看工单参与开发、评审并推动工作,非相关人员则不能查看工单(管理员、DBA除外)。 - 新建物理表:
- 单击导入建表语句。
- 在弹窗中,输入以下SQL语句,并单击确定。
分别创建
big_table
表与data_modify
表,系统将弹出两张新增物理表页签。CREATE TABLE `big_table` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `name` varchar(64) NOT NULL COMMENT '名称', `long_text_a` varchar(1024) DEFAULT NULL COMMENT 'A文本', `long_text_b` varchar(1024) DEFAULT NULL COMMENT 'B文本', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='大表变更'; 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 '邮箱', `desc` varchar(1024) DEFAULT NULL COMMENT '备注', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT ;
- 在新建
data_modify
表页签中,确认表结构信息。- 基本信息
- 字段
- 索引
- 基本信息
- 单击保存。系统会显示预检查结果,如下图所示。
在本示例中的
data_modify
表没有填写表备注信息、desc
(数据库关键字)为字段名、没有设置字符集版本。说明 系统根据默认安全规则中的研发规范对本次建表语句进行校验,提示本次操作中存在2个研发规范类错误和1个警告。当前DMS的研发规范支持新建表、修改表字段、修改表索引等多方面近40条规范,您可以在安全规则中进行自定义配置。 - 根据系统提示,对
data_modify
表结构进行如下修改,并再次单击保存。- 基本信息:增加数据表的备注信息(数据修改测试表),并定义字符集为
utf8
。 - 字段:将原来的
desc
字段改为user_desc
字段。
- 基本信息:增加数据表的备注信息(数据修改测试表),并定义字符集为
- 在预检查结果弹窗中,单击确认无误,提交保存。
单击后,系统将跳转至结构设计项目首页页签,此时
data_modify
表已创建成功,但未写入到开发库中。您仍可以在项目首页中对刚刚创建的表结构进行编辑、预览或删除。 - 单击上方的新增物理表,确认
big_table
表的结构信息。 - 确认无误后,单击保存。
- 在预检查结果弹窗中,单击确认无误,提交保存。
big_table
表与data_modify
表已创建成功。
- 单击导入建表语句。
- 新增变更相关人:您可以将其他开发人员加入到变更相关人中,邀请他人共同评审(Code Review)新的表结构,推进工单,实现协同开发。
- 在项目首页页中,单击
按钮。
- 在弹窗中,单击新增并选择目标人员。
- 单击更新相关人。
- 在项目首页页中,单击
- 评审(Code Review)完成后,将新的表结构应用到开发库中:
- 单击执行变更到基准库。
- 在弹出的对话框中,选择执行策略为立即执行,并在确认最终的SQL语句无误后单击提交执行。
说明 当前支持以下两种执行策略:
- 立即执行:在审批通过后,系统立即执行变更。
- 定时执行:在审批通过后,系统根据您设定的时间点执行变更。
- 等待管理员审批完成,待审批通过后,系统会立即将新的表结构应用到开发数据库。
说明
- 默认的安全规则规定结构变更均需要提交审批工单,您也可以在安全规则中进行自定义配置,例如设置开发节点的变更为免审批、设置生产节点的变更由谁审批等。关于审批的操作详情请参见审批结构设计工单。
- 您可以在审批页签下,单击点我查看查询审批进度。
- 您可以前往SQL Console中查看
poc_dev
数据库的表详情,进行表结构验证。说明 当验证表结构没有问题后,即可将此结构发布到生产库中。 - 进入结构设计工单页面,单击进入下一节点。
- 在弹出的对话框中,再次单击进入下一节点。
- 在生产发布节点,将新的表结构应用到生产库中:
- 单击执行变更到目标库。
- 在弹出的对话框中,选择
poc_prod
数据库,并选择执行策略为立即执行,单击提交执行。说明 该环节支持批量执行到多套生产库。 - 等待管理员审批完成,待审批通过后,系统会立即将新的表结构应用到生产数据库。
说明 关于审批的操作详情请参见审批结构设计工单。
- 在结构设计工单页面中,单击进入下一节点。
- 在弹出的对话框中,再次单击进入下一节点。
整个流程结束,工单关闭,您可以单击各节点查看其变更与发布记录。
在文档使用中是否遇到以下问题
更多建议
匿名提交