“元數(shù)據(jù)”的定義在不同的軟件、項(xiàng)目、工程的定義范圍都不太一樣。本文這里指的是軟件項(xiàng)目開發(fā)使用的數(shù)據(jù)庫表結(jié)構(gòu)信息。我今天介紹的這個(gè)開源項(xiàng)目叫Databasir,它是一個(gè)面向團(tuán)隊(duì)的關(guān)系型數(shù)據(jù)庫模型文檔管理平臺(tái),旨在通過自動(dòng)化的方式解決模型文檔管理過程中維護(hù)成本高、內(nèi)容更新不及時(shí)以及團(tuán)隊(duì)協(xié)作復(fù)雜等問題。
具備的主要功能
- 自動(dòng)化
自動(dòng)同步數(shù)據(jù)庫結(jié)構(gòu)并生成文檔、UML
- 版本化
多版本文檔存儲(chǔ),一鍵查看版本差異
- 團(tuán)隊(duì)化
扁平化的角色管理,變更自動(dòng)郵件通知
- 支持多種數(shù)據(jù)庫(主要是關(guān)系型數(shù)據(jù)庫)
除了熟知的傳統(tǒng) RDBMS 外,也支持 Hive、Clickhouse 等數(shù)倉
- Mock Insert SQL
按照表結(jié)構(gòu)元數(shù)據(jù)構(gòu)建對應(yīng)的測試insert sql。
安裝
安裝很簡單,1是通過 docker 部署;2是通過 Jar 部署。
我這里是通過Jar部署(環(huán)境要求: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
創(chuàng)建項(xiàng)目
創(chuàng)建項(xiàng)目分組
創(chuàng)建項(xiàng)目
stu_manager數(shù)據(jù)庫內(nèi)現(xiàn)在還是空的,我來創(chuàng)建幾張表:
# 測試表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);
表已經(jīng)創(chuàng)建完畢。來看一下“元數(shù)據(jù)同步”功能。
元數(shù)據(jù)同步
手動(dòng)同步
這里看到已經(jīng)3張測試表結(jié)構(gòu)元數(shù)據(jù)已經(jīng)同步完成,可以在頁面上直接查詢3張表的結(jié)構(gòu)信息。
多版本差異化
我現(xiàn)在修改一下表結(jié)構(gòu),看一下多版本差異對比
alter table result add column level varchar(10);
手動(dòng)同步
自動(dòng)同步
Mock Insert SQL
總結(jié)
挺優(yōu)秀的項(xiàng)目,還有其他不少的功能,比如數(shù)據(jù)庫類型擴(kuò)展,有興趣的可以在gitee上搜索“vran-dev / databasir”。
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。