@ -1,82 +1,24 @@ |
|||||
# Databasir |
# Databasir |
||||
|
|
||||
## 文档索引 |
|
||||
|
|
||||
- [项目简介](#) |
|
||||
- [部署指引](README/deploy.md) |
|
||||
- [构建指引](README/build.md) |
|
||||
|
|
||||
更多指引 |
|
||||
- [Databasir 之 Github 一键登录(OAuth2)配置](README/github-oauth2/github-oauth2.md) |
|
||||
- [Databasir 之 Gitlab 一键登录(OAuth2)配置](README/gitlab-oauth2/gitlab-oauth2.md) |
|
||||
- [Databasir 保姆级教程之 Docker 一键部署](README/docker-deploy/docker-deploy.md) |
|
||||
|
|
||||
## 简介 |
## 简介 |
||||
|
|
||||
**Databasir** 是一款集中式的数据库文档管理工具,提供了自动化、版本化、扁平化的数据库文档管理能力,主要功能如下 |
**Databasir** 是一款集中式的数据库文档管理工具,提供了自动化、版本化、扁平化的数据库文档管理能力,主要功能如下 |
||||
|
|
||||
1. 理论上支持所有拥有 JDBC 驱动的数据库,目前 mysql、postgresql 可以开箱即用 |
1. 支持所有实现 JDBC 协议的数据库(如 mysql、postgresql、sqlserver等) |
||||
2. 支持 github / github-enterprise / gitlab 的 OAuth2 登录,全图形化配置 |
2. 支持 Markdown 文档、Excel 文档(TODO)、UML 图片导出 |
||||
3. 支持手动、定时同步数据库结构并自动生成可读性优秀的文档、UML 图 |
3. 支持 Github / Github Enterprise / Gitlab 的 OAuth2 登录配置 |
||||
4. 支持多文件格式导出,如 markdown |
4. 支持文档自动同步、历史版本查看、团队讨论、字段描述等 |
||||
5. 历史模型版本化,一键查看历史版本 |
5. 扁平化的团队管理模式,灵活适应不同团队组织架构 |
||||
6. 多人协作字段讨论,口口相传不如立个字据 |
|
||||
7. 扁平化的团队管理模式,灵活适应不同团队组织架构 |
|
||||
|
|
||||
## 支持数据库 |
|
||||
|
|
||||
1. - [x] Mysql |
|
||||
2. - [x] Postgresql |
|
||||
3. - [ ] Oracle |
|
||||
4. - [ ] SqlServer |
|
||||
|
|
||||
|
|
||||
## 功能规划 |
|
||||
|
|
||||
- [x] 用户操作审计日志 |
|
||||
- [x] 文档自动同步日志 |
|
||||
- [ ] Excel 文档导出 |
|
||||
- [x] Markdown 文档导出 |
|
||||
- [x] Github OAuth2 登录模式 |
|
||||
- [x] Gitlab OAuth2 登录模式 |
|
||||
- [x] 模型 UML 生成 |
|
||||
- [ ] UML 图片导出 |
|
||||
|
|
||||
|
|
||||
## 展示 |
|
||||
|
|
||||
- 文档页面 |
|
||||
|
|
||||
![uml](README/document-uml.gif) |
|
||||
|
|
||||
- 分组创建 |
|
||||
|
|
||||
![](README/group-create.gif) |
|
||||
|
|
||||
- 项目创建 |
|
||||
|
|
||||
![](README/project-create.gif) |
|
||||
|
|
||||
- 项目同步 |
|
||||
|
|
||||
![](README/project-sync.gif) |
|
||||
|
|
||||
- 协作讨论 |
|
||||
|
|
||||
![](README/document-discussion.gif) |
|
||||
|
|
||||
- 分组成员 |
|
||||
|
|
||||
![](README/group-member.gif) |
**## 功能展示** |
||||
|
|
||||
- 用户创建 |
|
||||
|
|
||||
![](README/user-create.gif) |
|
||||
|
|
||||
- 用户详情 |
\- 文档页面 |
||||
|
|
||||
![](README/user-detail.gif) |
|
||||
|
|
||||
- 操作日志 |
|
||||
|
|
||||
![](README/log-list.gif) |
![uml](docs/README/document-uml.gif) |
@ -1,86 +0,0 @@ |
|||||
# 部署指引 |
|
||||
|
|
||||
## 前言 |
|
||||
|
|
||||
Databasir 采用了前后端分离的模式进行开发和部署,项目仓库地址分别位于 |
|
||||
|
|
||||
- 后端应用: https://github.com/vran-dev/databasir |
|
||||
- 前端应用: https://github.com/vran-dev/databasir-frontend |
|
||||
|
|
||||
当前提供了 Jar 和 Docker 两种部署方式 |
|
||||
|
|
||||
### JAR 模式部署 |
|
||||
|
|
||||
**一、环境要求** |
|
||||
|
|
||||
1. Java 11+ |
|
||||
2. Mysql |
|
||||
|
|
||||
**二、部署流程** |
|
||||
|
|
||||
1. 在 [Github RELEASE](https://github.com/vran-dev/databasir/releases) 页面下载最新版应用 Databasir.jar (你也可以选择克隆项目后自行构建) |
|
||||
2. 将 Databasir.jar 上传到服务器 |
|
||||
3. 在 Databasir.jar 所在目录创建 config 目录,并在目录下创建 `application.properties` 配置,配置中配置 MYSQL 的用户名、密码和连接 |
|
||||
|
|
||||
```properties |
|
||||
# 端口号,默认 8080 |
|
||||
server.port=8080 |
|
||||
# 数据库用户名 |
|
||||
databasir.db.username=root |
|
||||
# 数据库密码 |
|
||||
databasir.db.password=123456 |
|
||||
# 数据库地址 |
|
||||
databasir.db.url=127.0.0.1:3306 |
|
||||
``` |
|
||||
|
|
||||
4. 通过 java -jar Databasir.jar 启动应用即可 |
|
||||
|
|
||||
**三、系统登陆** |
|
||||
|
|
||||
应用启动后会默认创建 Databasir 管理员用户 |
|
||||
|
|
||||
- 用户名:databasir |
|
||||
- 密码:databasir |
|
||||
|
|
||||
通过该账号登录应用既可以进行管理 |
|
||||
|
|
||||
### Docker 部署 |
|
||||
|
|
||||
目前镜像没有上传到 DockerHub,需要用户自己在本地手动构建 |
|
||||
|
|
||||
1. 克隆仓库 |
|
||||
|
|
||||
```shell |
|
||||
git clone https://github.com/vran-dev/databasir.git |
|
||||
``` |
|
||||
|
|
||||
2. 构建镜像 |
|
||||
|
|
||||
```shell |
|
||||
docker build -f Dockerfile -t databasir:v1 . |
|
||||
``` |
|
||||
|
|
||||
如果你本地有 Java 环境的话我建议通过 gradle 先编译项目再构建镜像,这样会更快 |
|
||||
```shell |
|
||||
# 先编译项目 |
|
||||
./gradlw api:build |
|
||||
|
|
||||
# 再构建镜像 |
|
||||
docker build -f local.Dockerfile -t databasir:v1 . |
|
||||
``` |
|
||||
|
|
||||
3. 启动项目 |
|
||||
|
|
||||
通过 Docker 启动项目也需要通过环境变量来配置数据库信息 |
|
||||
|
|
||||
- DATABASIR_DB_URL 数据库地址 |
|
||||
- DATABASIR_DB_USERNAME 数据库用户 |
|
||||
- DATABASIR_DB_PASSWORD 数据库密码 |
|
||||
|
|
||||
```shell |
|
||||
docker run --name databasir-demo -e DATABASIR_DB_URL=local_default:3306 -e DATABASIR_DB_USERNAME=root -e DATABASIR_DB_PASSWORD=123456 databasir:v1 |
|
||||
``` |
|
||||
|
|
||||
## Docker Compose 本地部署 |
|
||||
|
|
||||
TODO |
|
@ -0,0 +1,61 @@ |
|||||
|
|
||||
|
# 简介 |
||||
|
|
||||
|
**Databasir** 是一款集中式的数据库文档管理工具,提供了自动化、版本化、扁平化的数据库文档管理能力,主要功能如下 |
||||
|
|
||||
|
1. 支持所有实现 JDBC 协议的数据库(如 mysql、postgresql、sqlserver等) |
||||
|
2. 支持 Markdown 文档、Excel 文档(TODO)、UML 图片导出 |
||||
|
3. 支持 Github / Github Enterprise / Gitlab 的 OAuth2 登录配置 |
||||
|
4. 支持文档自动同步、历史版本查看、团队讨论、字段描述等 |
||||
|
5. 扁平化的团队管理模式,灵活适应不同团队组织架构 |
||||
|
|
||||
|
|
||||
|
## 功能规划 |
||||
|
|
||||
|
- [x] 用户操作审计日志 |
||||
|
- [x] 文档自动同步日志 |
||||
|
- [ ] Excel 文档导出 |
||||
|
- [x] Markdown 文档导出 |
||||
|
- [x] Github OAuth2 登录模式 |
||||
|
- [x] Gitlab OAuth2 登录模式 |
||||
|
- [x] 模型 UML 生成 |
||||
|
- [x] UML 图片导出 |
||||
|
|
||||
|
|
||||
|
## 功能展示 |
||||
|
|
||||
|
- 文档页面 |
||||
|
|
||||
|
![uml](README/document-uml.gif) |
||||
|
|
||||
|
- 分组创建 |
||||
|
|
||||
|
![](README/group-create.gif) |
||||
|
|
||||
|
- 项目创建 |
||||
|
|
||||
|
![](README/project-create.gif) |
||||
|
|
||||
|
- 项目同步 |
||||
|
|
||||
|
![](README/project-sync.gif) |
||||
|
|
||||
|
- 协作讨论 |
||||
|
|
||||
|
![](README/document-discussion.gif) |
||||
|
|
||||
|
- 分组成员 |
||||
|
|
||||
|
![](README/group-member.gif) |
||||
|
|
||||
|
- 用户创建 |
||||
|
|
||||
|
![](README/user-create.gif) |
||||
|
|
||||
|
- 用户详情 |
||||
|
|
||||
|
![](README/user-detail.gif) |
||||
|
|
||||
|
- 操作日志 |
||||
|
|
||||
|
![](README/log-list.gif) |
@ -1,4 +1,4 @@ |
|||||
# 构建指引 |
# 构建指南 |
||||
|
|
||||
## 前言 |
## 前言 |
||||
|
|
@ -0,0 +1,11 @@ |
|||||
|
# 扩展数据库类型 |
||||
|
|
||||
|
## 说明 |
||||
|
|
||||
|
[Databasir](https://github.com/vran-dev/databasir) 理论上是支持所有**拥有 JDBC 驱动的数据库**,系统已为 Mysql、Postgresql 提供了内置的支持,这两种数据库可以开箱即用。 |
||||
|
|
||||
|
|
||||
|
对于其它数据库(有 JDBC 驱动),用户也只需要简单的配置就可以支持 |
||||
|
|
||||
|
|
||||
|
## 配置 |
@ -0,0 +1,34 @@ |
|||||
|
# Jar 包部署 |
||||
|
|
||||
|
## 环境要求 |
||||
|
|
||||
|
1. Java 11+ |
||||
|
2. Mysql |
||||
|
|
||||
|
## 部署流程 |
||||
|
|
||||
|
1. 在 [Github RELEASE](https://github.com/vran-dev/databasir/releases) 页面下载最新版应用 Databasir.jar (你也可以选择克隆项目后自行构建) |
||||
|
2. 将 Databasir.jar 上传到服务器 |
||||
|
3. 在 Databasir.jar 所在目录创建 config 目录,并在目录下创建 `application.properties` 配置,配置中配置 MYSQL 的用户名、密码和连接 |
||||
|
|
||||
|
```properties |
||||
|
# 端口号,默认 8080 |
||||
|
server.port=8080 |
||||
|
# 数据库用户名 |
||||
|
databasir.db.username=root |
||||
|
# 数据库密码 |
||||
|
databasir.db.password=123456 |
||||
|
# 数据库地址 |
||||
|
databasir.db.url=127.0.0.1:3306 |
||||
|
``` |
||||
|
|
||||
|
4. 通过 `java -jar Databasir.jar` 启动应用即可 |
||||
|
|
||||
|
## 登录验证 |
||||
|
|
||||
|
应用启动完成后会默认创建 Databasir 管理员用户 |
||||
|
|
||||
|
- 用户名:databasir |
||||
|
- 密码:databasir |
||||
|
|
||||
|
通过该账号登录应用既可以进行管理 |
Before Width: | Height: | Size: 534 KiB After Width: | Height: | Size: 534 KiB |
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 79 KiB |
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 78 KiB |
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 86 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
@ -1,3 +1,5 @@ |
|||||
|
# Databasir 配置 Github OAuth2 登录 |
||||
|
|
||||
1. 创建 Gitlab 应用,填写应用名称、回调地址等信息,注意下面授权一定记得勾选上 **read_user** |
1. 创建 Gitlab 应用,填写应用名称、回调地址等信息,注意下面授权一定记得勾选上 **read_user** |
||||
|
|
||||
回调地址填写你访问 databasir 的公网地址 {{ databasir 地址 }}/login/oauth2/{{ 应用ID }} |
回调地址填写你访问 databasir 的公网地址 {{ databasir 地址 }}/login/oauth2/{{ 应用ID }} |
Before Width: | Height: | Size: 146 KiB After Width: | Height: | Size: 146 KiB |
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 70 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 61 KiB |
Before Width: | Height: | Size: 564 KiB After Width: | Height: | Size: 564 KiB |
Before Width: | Height: | Size: 958 KiB After Width: | Height: | Size: 958 KiB |
Before Width: | Height: | Size: 380 KiB After Width: | Height: | Size: 380 KiB |
Before Width: | Height: | Size: 893 KiB After Width: | Height: | Size: 893 KiB |
Before Width: | Height: | Size: 402 KiB After Width: | Height: | Size: 402 KiB |
Before Width: | Height: | Size: 806 KiB After Width: | Height: | Size: 806 KiB |
Before Width: | Height: | Size: 535 KiB After Width: | Height: | Size: 535 KiB |
@ -0,0 +1,15 @@ |
|||||
|
* 项目 |
||||
|
* [简介](README.md) |
||||
|
* 部署方式 |
||||
|
* [Jar 包部署](README/deploy/jar-deploy.md) |
||||
|
* [Docker 部署](README/deploy/docker-deploy.md) |
||||
|
* 功能指引 |
||||
|
* [Github OAuth2 配置](README/github-oauth2/github-oauth2.md) |
||||
|
* [Gitlab OAuth2 配置](README/gitlab-oauth2/gitlab-oauth2.md) |
||||
|
* [扩展数据库类型](README/database-extension/database-extension.md) |
||||
|
|
||||
|
* 参与开发 |
||||
|
* [构建指南](README/build.md) |
||||
|
|
||||
|
* 捐赠 |
||||
|
|
@ -0,0 +1,28 @@ |
|||||
|
<!DOCTYPE html> |
||||
|
<html lang="en"> |
||||
|
<head> |
||||
|
<meta charset="UTF-8"> |
||||
|
<title>Document</title> |
||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> |
||||
|
<meta name="description" content="Description"> |
||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"> |
||||
|
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify@4/lib/themes/vue.css"> |
||||
|
</head> |
||||
|
<body> |
||||
|
<div id="app"></div> |
||||
|
<script> |
||||
|
window.$docsify = { |
||||
|
loadSidebar: true, |
||||
|
maxLevel: 2, |
||||
|
subMaxLevel: 4, |
||||
|
name: 'Databasir', |
||||
|
repo: 'https://github.com/vran-dev/databasir', |
||||
|
alias: { |
||||
|
'/.*/_sidebar.md': '/_sidebar.md'//防止意外回退 |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
<!-- Docsify v4 --> |
||||
|
<script src="//cdn.jsdelivr.net/npm/docsify@4"></script> |
||||
|
</body> |
||||
|
</html> |