“元数据”的定义在不同的软件、项目、工程的定义范围都不太一样。本文这里指的是软件项目开发使用的数据库表结构信息。我今天介绍的这个开源项目叫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=mingmingjava -jar databasir.jar --databasir.db.url=127.0.0.1:3306 --databasir.db.username=root --databasir.db.password=mingmingjava -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]-一款数据库元数据管理平台工具-不念博客](https://www.bunian.cn/wp-content/uploads/2022/12/image-126-1024x542.png)
创建项目
![一款数据库元数据管理平台工具 图片[2]-一款数据库元数据管理平台工具-不念博客](https://www.bunian.cn/wp-content/uploads/2022/12/image-127-1024x882.png)
![一款数据库元数据管理平台工具 图片[3]-一款数据库元数据管理平台工具-不念博客](https://www.bunian.cn/wp-content/uploads/2022/12/image-128-1024x232.png)
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);# 测试表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 );# 测试表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]-一款数据库元数据管理平台工具-不念博客](https://www.bunian.cn/wp-content/uploads/2022/12/image-129-1024x736.png)
表已经创建完毕。来看一下“元数据同步”功能。
元数据同步
手动同步
![一款数据库元数据管理平台工具 图片[5]-一款数据库元数据管理平台工具-不念博客](https://www.bunian.cn/wp-content/uploads/2022/12/image-130-1024x436.png)
![一款数据库元数据管理平台工具 图片[6]-一款数据库元数据管理平台工具-不念博客](https://www.bunian.cn/wp-content/uploads/2022/12/image-131-1024x267.png)
![一款数据库元数据管理平台工具 图片[7]-一款数据库元数据管理平台工具-不念博客](https://www.bunian.cn/wp-content/uploads/2022/12/image-132-1024x491.png)
这里看到已经3张测试表结构元数据已经同步完成,可以在页面上直接查询3张表的结构信息。
![一款数据库元数据管理平台工具 图片[8]-一款数据库元数据管理平台工具-不念博客](https://www.bunian.cn/wp-content/uploads/2022/12/image-133-1024x586.png)
多版本差异化
我现在修改一下表结构,看一下多版本差异对比
alter table result add column level varchar(10);alter table result add column level varchar(10);alter table result add column level varchar(10);
![一款数据库元数据管理平台工具 图片[9]-一款数据库元数据管理平台工具-不念博客](https://www.bunian.cn/wp-content/uploads/2022/12/image-134-1024x599.png)
手动同步
![一款数据库元数据管理平台工具 图片[10]-一款数据库元数据管理平台工具-不念博客](https://www.bunian.cn/wp-content/uploads/2022/12/image-135-1024x526.png)
![一款数据库元数据管理平台工具 图片[11]-一款数据库元数据管理平台工具-不念博客](https://www.bunian.cn/wp-content/uploads/2022/12/image-136-1024x592.png)
![一款数据库元数据管理平台工具 图片[12]-一款数据库元数据管理平台工具-不念博客](https://www.bunian.cn/wp-content/uploads/2022/12/image-137-1024x531.png)
自动同步
![一款数据库元数据管理平台工具 图片[13]-一款数据库元数据管理平台工具-不念博客](https://www.bunian.cn/wp-content/uploads/2022/12/image-138-1024x507.png)
Mock Insert SQL
![一款数据库元数据管理平台工具 图片[14]-一款数据库元数据管理平台工具-不念博客](https://www.bunian.cn/wp-content/uploads/2022/12/image-139-1024x554.png)
![一款数据库元数据管理平台工具 图片[15]-一款数据库元数据管理平台工具-不念博客](https://www.bunian.cn/wp-content/uploads/2022/12/image-140-1024x302.png)
![一款数据库元数据管理平台工具 图片[16]-一款数据库元数据管理平台工具-不念博客](https://www.bunian.cn/wp-content/uploads/2022/12/image-141-1024x667.png)
总结
挺优秀的项目,还有其他不少的功能,比如数据库类型扩展,有兴趣的可以在gitee上搜索“vran-dev / databasir”。
© 版权声明
本站文章由不念博客原创,未经允许严禁转载!
THE END