解锁ERD Online 高级隐藏功能

news2024/12/24 9:02:40

ERD Online 是全球第一个开源、免费在线数据建模、元数据管理平台。提供简单易用的元数据设计、关系图设计、SQL 查询等功能,辅以版本、导入、导出、数据源、SQL 解析、审计、团队协作等功能、方便我们快速、安全的管理数据库中的元数据。

ERD Online 产品图鉴

ERD Online 产品图鉴
ERD Online 产品图鉴

背景

  • 很多时候,经验是被痛苦逼出来的,流程是被错误逼出来的。在上线的过程当中,会遇到了一些问题,造成了研发耽误了不少时间。原因是上线的不规范性以及没有任何的权限限制。
  • 另外互联网项目版本开发都非常频繁。一天上线十几个小版本,也是有可能的。像我现在的公司,经常一天修改好多次文案,就需要不断的上线。如果处理不及时上线的话,会造成用户的一些误解,导致一些投诉以及不好的用户体验。这么频繁的修改上线,也是需要一定的流程和规范保证。

从技术的视角来看待上线流程这个事情,无非会涉及到几个元素:

  • 代码、数据库、制品库(npm、maven、docker)等
  • 代码管理手段目前已经非常成熟,可以通过 git 做好代码的管理
  • 制品库也有相对应的管理手段,比如 maven 的 nexus 仓库,docker 的 docker hub 仓库

放眼看有哪些针对数据库上线流程的管理手段?也许你会想到 navicat、datagrip、DBeaver 等「工具」。特意把工具两个字加粗了,因为他们确实只是某个环境下的「工具」

工具的最大弊端就是不能操控生产环境

ERD Online 的定位是「生产力平台」,它和这类工具有哪些优势和不足呢?

  • 优势

    • 团队协作
    • 权限控制
    • 版本控制
    • 快速回滚
    • 快速克隆
    • 快速建表
    • SQL 查询
    • SQL 审批
    • 操作审计
    • 源码开放
    • 完全国产
    • 前沿技术
    • SAAS 部署
    • 前后端分离
    • 像操作 Excel 一样、修改元数据结构(真的 nice)
  • 不足

    • 多数人习惯了无权限模式下随意对数据源改动的方式,在开始使用 ERD Online 的时候,不太适应(想要这么用的人,可以新建个人项目,就没权限控制了)
    • 不支持视图、存储过程(互联网项目这两个大概率是禁用的)
    • 暂时不支持数据修改,未来会加上

ERD Online 作为一款免费开源元数据在线管理平台,可以很好的解决数据库上线环节不连续、操作不可追溯、权限不可控、变化不透明等问题。可以作为数据库上线环节中的标准产品来使用。

解锁高级隐藏用法

通常来说,一个产品从开发到上限至少经过三个环节:开发 → 测试 → 投产,在这三个环节当中,从左往右:

  • 权限依次收缩
  • 变更依次传递

白话解释这两条规则

  • 开发阶段权限控制最松,可以放开全部权限,往右依次收缩,到生产环境时,权限收缩至最小可用,比如:往数据库执行变更的权限,可以限定为管理员或者 DBA
  • 开发阶段的变更,要依次往测试执行,测试通过后,再往生产执行

那么依照这两条原则,ERD Online 有对应的解决方案吗?

  • 其实,ERD Online 中针对这种场景,从设计之初,就考虑到了,目前发布的版本,也支持这种用法。
  • 很多人可能没有探索到这个功能,今天带领大家解锁这个生产力功能吧!

首先,先新建一个测试模型,创建团队类型的吧,方便等会演示 SQL 审批

alt

模型建好之后,打开模型设计

alt

打开数据源页面,新增三个数据源,分别对应开发环境、测试环境、生成环境

alt

注:数据库管理这个页面可以通过权限管理,对普通成员隐藏

回到模型页面,新增一个分组和表,名称随意,比如test

alt

注:分组仅用于管理表,不会往数据库同步

打开版本页面,这时候状态为有差异未同步,我们初始化一个版本

alt

点击对应版本详情按钮可以看到刚才新建的表,已经生成了 DDL

alt

点击SQL审批按钮,录入审批信息,数据源选择开发环境

alt

提交之后,关闭弹窗,点击左侧我的审批,点击通过

alt

这时候,表test就同步到了开发环境

在确认开发环境没问题之后,重复上面审批步骤,在选择审批数据源的时候,选择测试环境

在确认测试环境没问题之后,重复上面审批步骤,在选择审批数据源的时候,选择生产环境

经过这样一个过程,就完成了数据源从设计到开发,再从开发到生产的上线过程

我的工单我的审批也留下三次审批记录,以及每次审批的具体 SQL 变动

  • 整个过程中,权限控制(按钮级别)、SQL 审批是其他工具都不具备的核心功能
  • 再配合版本的回滚功能,就可以完成元数据整个生命周期的闭环管理

其实,ERD Online 还有一个隐藏的高级功能:异构数据源版本管理。

  • 比如:一个产品有多种数据源(mysql、oracle、db2 等),想要知道他们之间的差异,以及同时管理他们的版本变化。
  • 这个隐藏功能后面再出一篇文章详细说明吧!大家也可以自行探索下,目前发版的功能里面有这个功能!

这两个隐藏功能具体的说明,见这篇文章

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 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/422349.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用DVSSL证书的钓鱼网站正在增加,如何识别钓鱼网站?

信息安全是一个庞大的领域,其中涉及到很多知识点,但是大多公司都对其没有提及足够的重视,希望随着国内对于安全的越来越重视以及各大主流浏览器对http网站的不友好,更多的公司也能在信息安全领域投入越来越多的注意。 然而&#…

C++IO流

目录 1. C语言的输入与输出 2. 流是什么 3. CIO流 3.1 C标准IO流 3.2 C文件IO流 4.stringstream的简单介绍 1. C语言的输入与输出 C语言中我们用到的最频繁的输入输出方式就是scanf ()与printf()。 scanf(): 从标准输入设备(键 盘)读取数据,并将值存放在变量中…

vs中的错误集合

记录在vs 中遇到的 各种错误 1:project.vcxproj.filters 文件出现了异常,发现了以前的解决方案下的筛选器竟然没有了 原因:合并svn的时候 .vcxproj.filters 文件出现了 合并错误(检查该文件里面是否有不一样的) 解决办法:解决 该文…

Centos 7 上安装 Kubernetes 1.27 集群

Centos 7 上安装 Kubernetes 1.27 集群0. 安装 "Development Tools"1. 禁用swap2. 禁用防火墙3. 将SELinux设置为permissive模式4. 安装 ipset 和 ipvsadm5. 添加网桥过滤及内核转发配置文件6. 加载 overlay、br_netfilter、ip_tables、iptable_filter 模块7. 安装 c…

js调用gpt3.5(支持流回显、高频功能)

参考链接:直接在前端调用 GPT-3 API 效果图: 查看在线demo(要梯子) 注意: 1. 需要apiKey,自用安全,不要给别人 2. 需要梯子 3. 选择稳定、人少的代理ip 4. 不要频繁切换ip,防止封号 5. api调用上限高&…

李宏毅2023机器学习作业HW03解析和代码分享

ML2023Spring - HW3 相关信息: 课程主页 课程视频 Kaggle link Sample code HW03 视频 HW03 PDF 个人完整代码分享: GitHub | Gitee | GitCode P.S. 即便 kaggle 上的时间已经截止,你仍然可以在上面提交和查看分数。但需要注意的是:在 kaggle…

SpringAOP入门基础银行转账实例------------事务处理

SpringAOP入门基础银行转账实例------------事务处理 AOP为Aspect Oriented Programming 的缩写,意思为面向切面编程,是通过编译方式和运行期动态代理实现程序功能的统一维护的一种技术。 AOP编程思想 AOP面向切面是一种编程思想,是oop的延…

Python 字符串format()格式化 / 索引

前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 为了确保字符串按预期显示,我们可以使用 format() 方法对结果进行格式化。 字符串 format() format() 方法允许您格式化字符串的选定部分。 有时文本的一部分是你无法控制的,也许它们来自数据库或…

更深度了解getchar和putchar现象

目录 前言: 1.getchar和putchar 1.1基本使用 1.2一些特殊打印 1.3putchar打印空格 2.深度了解现象 前言: 经过学习,总结getchar()函数和putchar()函数在搭配使用while循环的时候,控制台窗口光标位置的出现位置的由来。 1.…

JavaSE学习进阶day04_03 包装类

第五章 包装类(重点) 5.1 概述 Java提供了两个类型系统,基本类型与引用类型,使用基本类型在于效率,然而很多情况,会创建对象使用,因为对象可以做更多的功能,如果想要我们的基本类型…

蓝桥杯15单片机--超声波模块

目录 一、超声波工作原理 二、超声波电路图 三、程序设计 1-设计思路 2-具体实现 四、程序源码 一、超声波工作原理 超声波时间差测距原理超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍…

计算属性,watch和watchEffect

计算属性-computed 什么是计算属性: computed函数,是用来定义计算属性的,计算属性不能修改。 模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的。在模板中放入太多的逻辑会让模板过重且难以维护。 计算属性还可以依…

【目标检测论文阅读笔记】Extended Feature Pyramid Network for Small Object Detection

(未找到代码,只有yaml文件) Abstract. 小目标检测仍然是一个未解决的挑战,因为很难提取只有几个像素的小物体的信息。虽然特征金字塔网络中的尺度级对应检测缓解了这个问题,但我们发现各种尺度的特征耦合仍然会损害小…

百度飞桨paddlespeech实现小程序实时语音流识别

前言: 哈哈,这是我2023年4月份的公司作业。如果仅仅是简单的语音识别倒也没什么难度,wav文件直接走模型输出结果的事。可是注意标题,流式识别、实时! 那么不得不说一下流式的优点了。 1、解决内存溢出的烦恼。 2、…

《论文阅读》Unified Named Entity Recognition as Word-Word Relation Classification

总结 将NER视作是word-word间的 Relation Classification。 这个word-word 间的工作就很像是TPlinker那个工作,那篇工作是使用token间的 link。推荐指数:★★★☆☆值得学习的点: (1)用关系抽取的方法做NER抽取 &…

佳明手表APP开发系列01——简单汉化英文版

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、佳明手表APP开发过程简介二、做个简单的个性化——在英文版写几个汉字1.MonkeyC 图形处理2.获得汉字点阵字模数据3.MonkeyC 汉字输出函数总结前言 佳明手表…

蓝海创意云应邀参与苏州市元宇宙生态大会

4月14日,苏州市软件行业协会元宇宙专委会成立大会暨元宇宙生态大会在苏成功举办。此次大会由苏州市工业和信息化局指导,苏州高新区(虎丘区)经济发展委员会、苏州市软件行业协会主办,蓝海彤翔集团作为协办单位参与此次大…

IDEA集成Git、GitHub、Gitee

一、IDEA 集成 Git 1.1、配置 Git 忽略文件 为什么要忽略他们? 与项目的实际功能无关,不参与服务器上部署运行。把它们忽略掉能够屏蔽 IDE 工具之间的差异。 怎么忽略? 创建忽略规则文件 xxxx.ignore(前缀名随便起&#xff0c…

创建Google play开发者账号,并验证身份通过

一、注册前准备 最好准备一台没有怎么用过Google的电脑和🪜准备一个没有注册过Google的手机号准备一张信用卡或者借记卡(需要支付$25),支持的类型如下图 这里还需注意:最后账号注册成功还需要验证身份也就是实名认证&…

关于Python爬虫的一些总结

作为一名资深的爬虫工程师来说,把别人公开的一些合法数据通过爬虫手段实现汇总收集是一件很有成就的事情,其实这只是一种技术。 初始爬虫 问题: 什么是爬虫? 网络爬虫是一种按照一定的规则,自动地抓取网络信息的程…