feat: update docs (#47)
74
README.md
|
@ -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 图片导出
|
|
||||||
|
|
||||||
|
|
||||||
## 展示
|
|
||||||
|
|
||||||
- 文档页面
|
\- 文档页面
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
- 分组创建
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
- 项目创建
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
- 项目同步
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
- 协作讨论
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
- 分组成员
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
- 用户创建
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
- 用户详情
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
- 操作日志
|
|
||||||
|
|
||||||

|
|
|
@ -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 图片导出
|
||||||
|
|
||||||
|
|
||||||
|
## 功能展示
|
||||||
|
|
||||||
|
- 文档页面
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
- 分组创建
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
- 项目创建
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
- 项目同步
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
- 协作讨论
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
- 分组成员
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
- 用户创建
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
- 用户详情
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
- 操作日志
|
||||||
|
|
||||||
|

|
|
@ -1,4 +1,4 @@
|
||||||
# 构建指引
|
# 构建指南
|
||||||
|
|
||||||
## 前言
|
## 前言
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
# 扩展数据库类型
|
||||||
|
|
||||||
|
## 说明
|
||||||
|
|
||||||
|
[Databasir](https://github.com/vran-dev/databasir) 理论上是支持所有**拥有 JDBC 驱动的数据库**,系统已为 Mysql、Postgresql 提供了内置的支持,这两种数据库可以开箱即用。
|
||||||
|
|
||||||
|
|
||||||
|
对于其它数据库(有 JDBC 驱动),用户也只需要简单的配置就可以支持
|
||||||
|
|
||||||
|
|
||||||
|
## 配置
|
|
@ -1,17 +1,15 @@
|
||||||
# Databasir 保姆级教程之 Docker 一键部署
|
# Docker 部署
|
||||||
|
|
||||||
[Databasir](https://github.com/vran-dev/databasir) 现在已经准备好了开箱即用的 Docker Image,你只需要简单两步就可以完成一个 Databasir 应用的构建
|
[Databasir](https://github.com/vran-dev/databasir) 现在已经准备好了开箱即用的 Docker Image,你只需要简单两步就可以完成一个 Databasir 应用的构建
|
||||||
|
|
||||||
|
|
||||||
|
## 环境要求
|
||||||
|
|
||||||
## 前提条件
|
1. Docker
|
||||||
|
2. Mysql
|
||||||
1. 用户系统已经有了 Docker 环境
|
|
||||||
2. 已经有可以连接的 Mysql 数据库
|
|
||||||
|
|
||||||
|
|
||||||
|
## 部署流程
|
||||||
## 安装步骤
|
|
||||||
|
|
||||||
1. 拉取最新版镜像,当然你也可以将 latest 替换成你想要得版本号,具体有哪些镜像版本可以拉取可以在[这里](https://registry.hub.docker.com/r/vrantt/databasir)查看
|
1. 拉取最新版镜像,当然你也可以将 latest 替换成你想要得版本号,具体有哪些镜像版本可以拉取可以在[这里](https://registry.hub.docker.com/r/vrantt/databasir)查看
|
||||||
|
|
||||||
|
@ -47,3 +45,13 @@ docker run --name my-databasir -e DATABASIR_DB_URL=127.0.0.1:3306 -e DATABASIR_D
|
||||||
- 密码:databasir
|
- 密码:databasir
|
||||||
|
|
||||||
这时候访问 http://localhost:8888 进入登录页,输入上面的账号和密码即可成功登入。
|
这时候访问 http://localhost:8888 进入登录页,输入上面的账号和密码即可成功登入。
|
||||||
|
|
||||||
|
|
||||||
|
## 登录验证
|
||||||
|
|
||||||
|
应用启动完成后会默认创建 Databasir 管理员用户
|
||||||
|
|
||||||
|
- 用户名:databasir
|
||||||
|
- 密码:databasir
|
||||||
|
|
||||||
|
通过该账号登录应用既可以进行管理
|
|
@ -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 |
|
@ -54,7 +54,3 @@ Authorization callback URL 你可以先填写 {{ databasir 域名 }}/login/oaut
|
||||||
点击就会进入授权页面,授权完成就会创建一个新的 databasir 用户,并直接登录成功
|
点击就会进入授权页面,授权完成就会创建一个新的 databasir 用户,并直接登录成功
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## 配置 Gitlab OAuth2 登录
|
|
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>
|