feat:update docs (#71)
This commit is contained in:
parent
a048403c88
commit
00a53ce166
|
@ -1,117 +0,0 @@
|
||||||
# 构建指南
|
|
||||||
|
|
||||||
## 前言
|
|
||||||
|
|
||||||
Databasir 采用了前后端分离的模式进行开发和部署,项目仓库地址分别位于
|
|
||||||
|
|
||||||
- 后端应用: https://github.com/vran-dev/databasir
|
|
||||||
- 前端应用: https://github.com/vran-dev/databasir-frontend
|
|
||||||
|
|
||||||
## 后端
|
|
||||||
|
|
||||||
**一、环境要求**
|
|
||||||
|
|
||||||
1. Java 11+
|
|
||||||
2. Mysql
|
|
||||||
3. Intellij IDEA
|
|
||||||
|
|
||||||
**二、主要框架**
|
|
||||||
|
|
||||||
1. Gradle:构建工具
|
|
||||||
2. Spring-boot:核心框架
|
|
||||||
1. Web
|
|
||||||
2. Security
|
|
||||||
3. Quartz:定时任务调度
|
|
||||||
4. JOOQ:ORM 框架
|
|
||||||
5. Lombok:代码生成
|
|
||||||
6. Mapstruct:代码生成
|
|
||||||
7. Flyway:数据库脚本管理
|
|
||||||
|
|
||||||
**三、项目结构**
|
|
||||||
|
|
||||||
项目结构采用了分层结构
|
|
||||||
|
|
||||||
- api:所有的 http 接口、定时任务都在该模块下
|
|
||||||
- common:主要包含通用异常定义、加解密算法工具
|
|
||||||
- core:包含了所有的业务核心逻辑,包括 service、request/response data、converter 等
|
|
||||||
- dao:针对数据库的操作类都在该模块下,其中 generated-src 包含了 jooq 生成的代码,src 主要包含了 dao 的实现类
|
|
||||||
- plugin:主要包含了 JDBC 工具类,包括但不限于将数据库的元数据解析为 Java 对象 、PDF 导出等
|
|
||||||
|
|
||||||
项目配置都放在 api/src/main/resources 目录下
|
|
||||||
|
|
||||||
前端静态文件放在 api/src/main/resources/static 目录下
|
|
||||||
|
|
||||||
项目数据库脚本放在 dao/src/main/resources/db/migration 目录下
|
|
||||||
|
|
||||||
**四、项目启动**
|
|
||||||
|
|
||||||
1、通过 Java Main 方法启动
|
|
||||||
|
|
||||||
修改或创建配置文件 `api/src/main/resources/application-local.properties`
|
|
||||||
|
|
||||||
```properties
|
|
||||||
server.port=8080
|
|
||||||
logging.level.org.jooq=INFO
|
|
||||||
|
|
||||||
# 必须:数据库配置
|
|
||||||
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
|
|
||||||
spring.datasource.username=root
|
|
||||||
spring.datasource.password=123456
|
|
||||||
spring.datasource.url=jdbc:mysql://localhost:3306/databasir
|
|
||||||
spring.jooq.sql-dialect=mysql
|
|
||||||
|
|
||||||
# 可选:flyway 配置
|
|
||||||
spring.flyway.enabled=true
|
|
||||||
spring.flyway.baseline-on-migrate=true
|
|
||||||
spring.flyway.locations=classpath:db/migration
|
|
||||||
```
|
|
||||||
|
|
||||||
启动 DatabasirApplication(com.databasir.DatabasirApplication) 类,启动时需要加参数 `-Dspring.profiles.active=local`
|
|
||||||
|
|
||||||
启动完成后,可以通过 http://localhost:8080 访问
|
|
||||||
|
|
||||||
2、通过 Gradle 启动
|
|
||||||
|
|
||||||
与 Java 启动模式一样,首先需要准备配置文件
|
|
||||||
|
|
||||||
修改或创建配置文件 `api/src/main/resources/application-local.properties`
|
|
||||||
|
|
||||||
```properties
|
|
||||||
server.port=8080
|
|
||||||
logging.level.org.jooq=INFO
|
|
||||||
# 必须:数据库配置
|
|
||||||
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
|
|
||||||
spring.datasource.username=root
|
|
||||||
spring.datasource.password=123456
|
|
||||||
spring.datasource.url=jdbc:mysql://localhost:3306/databasir
|
|
||||||
spring.jooq.sql-dialect=mysql
|
|
||||||
# 可选:flyway 配置
|
|
||||||
spring.flyway.enabled=true
|
|
||||||
spring.flyway.baseline-on-migrate=true
|
|
||||||
spring.flyway.locations=classpath:db/migration
|
|
||||||
```
|
|
||||||
|
|
||||||
执行 Gradle 命令
|
|
||||||
|
|
||||||
```shell
|
|
||||||
./gradlew bootRun --args='--spring.profiles.active=local'
|
|
||||||
```
|
|
||||||
|
|
||||||
启动完成后,可以通过 http://localhost:8080 访问
|
|
||||||
|
|
||||||
## 前端
|
|
||||||
|
|
||||||
一、依赖
|
|
||||||
|
|
||||||
1. vue
|
|
||||||
2. vuex
|
|
||||||
3. element-plus
|
|
||||||
4. axios
|
|
||||||
|
|
||||||
二、运行
|
|
||||||
|
|
||||||
```shell
|
|
||||||
npm run serve
|
|
||||||
```
|
|
||||||
|
|
||||||
默认端口为 3000
|
|
|
@ -1,6 +1,6 @@
|
||||||
# Docker 部署
|
# Docker 部署
|
||||||
|
|
||||||
[Databasir](https://github.com/vran-dev/databasir) 已经准备好了开箱即用的 Docker Image,你只需要简单两步就可以完成一个 Databasir 应用的构建
|
[Databasir](https://github.com/vran-dev/databasir) 已经准备好了开箱即用的 Docker Image,你只需要简单三步就可以完成一个 Databasir 应用的部署
|
||||||
|
|
||||||
## 环境要求
|
## 环境要求
|
||||||
|
|
||||||
|
@ -15,25 +15,36 @@
|
||||||
docker pull vrantt/databasir:latest
|
docker pull vrantt/databasir:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
2. 镜像下载完成以后就可以直接启动了
|
2. 在 Mysql 中创建数据库 databasir
|
||||||
|
|
||||||
|
```sql
|
||||||
|
create database databasir;
|
||||||
|
```
|
||||||
|
|
||||||
|
3. 启动镜像,需要指定可用的 Mysql 的连接信息
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
docker run --name my-databasir -e DATABASIR_DB_URL=127.0.0.1:3306 -e DATABASIR_DB_USERNAME=root -e DATABASIR_DB_PASSWORD=123456 vrantt/databasir:latest -p 8888:8080
|
docker run --name my-databasir -e DATABASIR_DB_URL=127.0.0.1:3306 -e DATABASIR_DB_USERNAME=root -e DATABASIR_DB_PASSWORD=123456 vrantt/databasir:latest -p 8888:8080
|
||||||
```
|
```
|
||||||
|
|
||||||
这里解释一下各个命令参数
|
|
||||||
|
|
||||||
- `--name` 代表镜像启动后的名称,你可以随意命名
|
|
||||||
- `-e` 指定环境变量,databasir 需要依赖 3 个环境变量,所以用 `-e` 指定了 3 个变量,它们分别是
|
|
||||||
1. DATABASIR_DB_URL 数据库地址
|
|
||||||
2. DATABASIR_DB_USERNAME 数据库账号名称
|
|
||||||
3. DATABASIR_DB_PASSWORD 数据库密码
|
|
||||||
|
|
||||||
- `-p` 暴露端口,databasir 默认在容器内部开放了 8080 端口,这里将宿主机的 8888 端口映射到了容器的 8080 端口
|
**docker 启动命令参数说明**
|
||||||
|
|
||||||
|
| 参数 | 说明 |
|
||||||
|
| ---------------------------------- | ------------------------------------------------- |
|
||||||
|
| --name my-databasir | 启动的镜像名称 |
|
||||||
|
| -e DATABASIR_DB_URL=127.0.0.1:3306 | 数据库连接地址 |
|
||||||
|
| -e DATABASIR_DB_USERNAME=root | 数据库连接用户名 |
|
||||||
|
| -e DATABASIR_DB_PASSWORD=123456 | 数据库连接密码 |
|
||||||
|
| -p 8888:8080 | 将 databasir 的 8080 端口映射到宿主机的 8888 端口 |
|
||||||
|
|
||||||
|
## 登录验证
|
||||||
|
|
||||||
启动后,Databasir 会默认创建一个超级管理员账户
|
启动后,Databasir 会默认创建一个超级管理员账户
|
||||||
|
|
||||||
- 用户名:databasir
|
- 用户名:`databasir`
|
||||||
- 密码:databasir
|
- 密码:`databasir`
|
||||||
|
|
||||||
|
这时候访问 http://localhost:8888 进入登录页,输入上面的账号和密码即可成功登入,到此就算部署完成
|
||||||
|
|
||||||
这时候访问 http://localhost:8888 进入登录页,输入上面的账号和密码即可成功登入,到此就算部署完成。
|
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
# 模块和包
|
||||||
|
|
||||||
|
## 项目模块
|
||||||
|
|
||||||
|
Databasir 基于 Gradle 进行模块管理,当前共有 5 个模块
|
||||||
|
|
||||||
|
| 模块名称 | 职责 |
|
||||||
|
| -------- | ------------------------------------------------------------ |
|
||||||
|
| api | 所有的接口和定时任务均在该模块定义 |
|
||||||
|
| common | 定义了项目通用的类,比如加解密工具、业务异常、标准 HTTP 返回类型等 |
|
||||||
|
| core | 核心业务模块,包含了所有的业务逻辑 |
|
||||||
|
| dao | 数据访问层,包含了数据库的实体、数据访问对象以及项目模型的 SQL 文件 |
|
||||||
|
| plugin | jdbc 封装模块,将从 jdbc 获取的数据库元信息转换成 Databasir 的 Java 对象,文档信息的 DIFF 功能也是在该模块内实现 |
|
|
@ -20,7 +20,8 @@
|
||||||
* [Mock Insert SQL 生成](README/mock-sql/index.md)
|
* [Mock Insert SQL 生成](README/mock-sql/index.md)
|
||||||
|
|
||||||
* 参与开发
|
* 参与开发
|
||||||
* [构建指南](README/build.md)
|
* [构建指南](README/develop/build/index.md)
|
||||||
|
* [模块和包](README/develop/module-and-package/index.md)
|
||||||
|
|
||||||
* 捐赠
|
* 捐赠
|
||||||
|
|
||||||
|
|
|
@ -33,5 +33,8 @@
|
||||||
<!-- Docsify v4 -->
|
<!-- Docsify v4 -->
|
||||||
<script src="//cdn.jsdelivr.net/npm/docsify@4"></script>
|
<script src="//cdn.jsdelivr.net/npm/docsify@4"></script>
|
||||||
<script src="//unpkg.com/docsify/lib/plugins/zoom-image.min.js"></script>
|
<script src="//unpkg.com/docsify/lib/plugins/zoom-image.min.js"></script>
|
||||||
|
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-bash.min.js"></script>
|
||||||
|
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-sql.min.js"></script>
|
||||||
|
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-properties.min.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
Loading…
Reference in New Issue