一款数据库元数据管理平台工具

“元数据”的定义在不同的软件、项目、工程的定义范围都不太一样。本文这里指的是软件项目开发使用的数据库表结构信息。我今天介绍的这个开源项目叫Databasir,它是一个面向团队的关系型数据库模型文档管理平台,旨在通过自动化的方式解决模型文档管理过程中维护成本高、内容更新不及时以及团队协作复杂等问题。

具备的主要功能

  • 自动化

自动同步数据库结构并生成文档、UML

  • 版本化

多版本文档存储,一键查看版本差异

  • 团队化

扁平化的角色管理,变更自动邮件通知

  • 支持多种数据库(主要是关系型数据库)

除了熟知的传统 RDBMS 外,也支持 Hive、Clickhouse 等数仓

  • Mock Insert SQL

按照表结构元数据构建对应的测试insert sql。

安装

安装很简单,1是通过 docker 部署;2是通过 Jar 部署。

我这里是通过Jar部署(环境要求:java11+,MySQL5.7+):

java -jar databasir.jar --databasir.db.url=127.0.0.1:3306 --databasir.db.username=root --databasir.db.password=mingming

访问
http://localhost:8080/login

登陆用户/密码:databasir/databasir

创建项目

创建项目分组

图片[1]-一款数据库元数据管理平台工具-不念博客
创建项目分组

创建项目

图片[2]-一款数据库元数据管理平台工具-不念博客
创建项目
图片[3]-一款数据库元数据管理平台工具-不念博客
项目列表

stu_manager数据库内现在还是空的,我来创建几张表:

# 测试表ddl脚本
CREATE TABLE student(
studentno VARCHAR(10) NOT NULL PRIMARY KEY,
studentname VARCHAR(20) NOT NULL,
loginpwd VARCHAR(8) NOT NULL,
sex CHAR(1) ,
majorid INT NOT NULL,
phone VARCHAR(11),
email VARCHAR(20) ,
borndate DATETIME
);

CREATE TABLE major(
majorid INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
majorname VARCHAR(20) NOT NULL
);

CREATE TABLE result(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
studentno VARCHAR(10) NOT NULL,
score DOUBLE
);
图片[4]-一款数据库元数据管理平台工具-不念博客
创建表

表已经创建完毕。来看一下“元数据同步”功能。

元数据同步

手动同步

图片[5]-一款数据库元数据管理平台工具-不念博客
手动同步
图片[6]-一款数据库元数据管理平台工具-不念博客
同步
图片[7]-一款数据库元数据管理平台工具-不念博客
同步

这里看到已经3张测试表结构元数据已经同步完成,可以在页面上直接查询3张表的结构信息。

图片[8]-一款数据库元数据管理平台工具-不念博客
结构信息

多版本差异化

我现在修改一下表结构,看一下多版本差异对比

alter table result add column level varchar(10);
图片[9]-一款数据库元数据管理平台工具-不念博客
修改表结构

手动同步

图片[10]-一款数据库元数据管理平台工具-不念博客
手动同步
图片[11]-一款数据库元数据管理平台工具-不念博客
同步
图片[12]-一款数据库元数据管理平台工具-不念博客
同步

自动同步

图片[13]-一款数据库元数据管理平台工具-不念博客
自动同步

Mock Insert SQL

图片[14]-一款数据库元数据管理平台工具-不念博客
Mock Insert SQL
图片[15]-一款数据库元数据管理平台工具-不念博客
测试数据
图片[16]-一款数据库元数据管理平台工具-不念博客
生成规则

总结

挺优秀的项目,还有其他不少的功能,比如数据库类型扩展,有兴趣的可以在gitee上搜索“vran-dev / databasir”。

© 版权声明
THE END