ERD Online 是全球第一个开源、免费在线数据建模、元数据管理平台。提供简单易用的元数据设计、关系图设计、SQL 查询等功能,辅以版本、导入、导出、数据源、SQL 解析、审计、团队协作等功能、方便我们快速、安全的管理数据库中的元数据。
❝❞
- 很多时候,经验是被痛苦逼出来的,流程是被错误逼出来的。在上线的过程当中,会遇到了一些问题,造成了研发耽误了不少时间。原因是上线的不规范性以及没有任何的权限限制。
- 另外互联网项目版本开发都非常频繁。一天上线十几个小版本,也是有可能的。像我现在的公司,经常一天修改好多次文案,就需要不断的上线。如果处理不及时上线的话,会造成用户的一些误解,导致一些投诉以及不好的用户体验。这么频繁的修改上线,也是需要一定的流程和规范保证。
从技术的视角来看待上线流程这个事情,无非会涉及到几个元素:
放眼看有哪些针对数据库上线流程的管理手段?也许你会想到 navicat、datagrip、DBeaver 等「工具」。特意把工具两个字加粗了,因为他们确实只是某个环境下的「工具」。
❝工具的最大弊端就是不能操控生产环境
❞
ERD Online 的定位是「生产力平台」,它和这类工具有哪些优势和不足呢?
优势
不足
ERD Online 作为一款免费开源元数据在线管理平台,可以很好的解决数据库上线环节不连续、操作不可追溯、权限不可控、变化不透明等问题。可以作为数据库上线环节中的标准产品来使用。
通常来说,一个产品从开发到上限至少经过三个环节:开发 → 测试 → 投产,在这三个环节当中,从左往右:
白话解释这两条规则
那么依照这两条原则,ERD Online 有对应的解决方案吗?
首先,先新建一个测试模型,创建团队类型的吧,方便等会演示 SQL 审批
模型建好之后,打开模型设计
打开数据源
页面,新增三个数据源,分别对应开发环境、测试环境、生成环境
注:数据库管理这个页面可以通过权限管理,对普通成员隐藏
回到模型
页面,新增一个分组和表,名称随意,比如test
注:分组仅用于管理表,不会往数据库同步
打开版本
页面,这时候状态为有差异未同步,我们初始化一个版本
点击对应版本详情
按钮可以看到刚才新建的表,已经生成了 DDL
点击SQL审批
按钮,录入审批信息,数据源选择开发环境
提交之后,关闭弹窗,点击左侧我的审批
,点击通过
这时候,表test
就同步到了开发环境
在确认开发环境没问题之后,重复上面审批步骤,在选择审批数据源的时候,选择测试环境
在确认测试环境没问题之后,重复上面审批步骤,在选择审批数据源的时候,选择生产环境
经过这样一个过程,就完成了数据源从设计到开发,再从开发到生产的上线过程
在我的工单
和我的审批
也留下三次审批记录,以及每次审批的具体 SQL 变动
❝❞
- 整个过程中,权限控制(按钮级别)、SQL 审批是其他工具都不具备的核心功能
- 再配合版本的回滚功能,就可以完成元数据整个生命周期的闭环管理
其实,ERD Online 还有一个隐藏的高级功能:异构数据源版本管理。
这两个隐藏功能具体的说明,见这篇文章
https://mp.weixin.qq.com/s?__biz=Mzg4MjkwMTA3NQ==&mid=2247484336&idx=1&sn=22ededeb3b6fb123fffbdc955e0cd1f9&chksm=cf4eea8cf839639a04a44abcc100499ba6501b06257f0665ef71a159a2b21b61ee802321cccb#rd
元数据 ERD Online 体验:https://erd.zerocode.net.cn
元数据 ERD Online 文档:https://portal.zerocode.net.cn
低代码 论坛:https://github.com/www-zerocode-net-cn/ERD-Online/discussions
低代码 LOCO 体验:https://loco.zerocode.net.cn
本文由 mdnice 多平台发布