Skip to content

数据库文档 ​

这篇解决什么 ​

查表结构、字段 COMMENT、增量 SQL 该落哪个目录。读完能从 ruoyi-office-db/ 对上 DO 的 @TableName,并分清全量 dump 和按日增量。

管理端没有单独的「数据库文档」页,也不会导出 Word / HTML / Markdown。默认端口 48080,前缀 /admin-api。

权威位置 ​

当前 latest 导出写明:业务库 ruoyi-office,约 799 张表。业务表名小写,和 @TableName 一致。

名称说明仓库路径
全量结构DROP + CREATE,初始化先跑这份ruoyi-office-db/dump/latest/schema_*.sql
静态数据菜单、字典、角色等白名单 INSERTruoyi-office-db/dump/latest/static_data_*.sql
导出脚本从开发库拉 schema / 静态数据ruoyi-office-db/dump/_export_static.mjs
白名单STATIC_DATA_TABLES,配置表进包,单据表不进同上脚本
增量已初始化环境按日期追加ruoyi-office-db/update/{YYYYMM}/{YYYYMMDD}_update/
升级说明默认只跑必跑目录ruoyi-office-db/docs/增量升级指南.md
latest 说明三库不要混、导入顺序ruoyi-office-db/dump/latest/README.md

示意图:结构以 dump 为准,运行时靠 DO 映表。

接口文档不是库表文档

Knife4j 在 http://127.0.0.1:48080/doc.html,PC「基础设施 → 接口文档」嵌同一地址。那是 REST,不是 CREATE TABLE。

表怎么对上代码 ​

以用户表为例。schema 里是 system_users,Java 用同名 @TableName。

sql
CREATE TABLE `system_users` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户ID',
  `username` varchar(30) NOT NULL COMMENT '用户账号',
  `dept_id` bigint DEFAULT NULL COMMENT '部门ID',
  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号',
  PRIMARY KEY (`id`)
) COMMENT='用户信息表';
java
@TableName(value = "system_users", autoResultMap = true)
@KeySequence("system_users_seq")
public class AdminUserDO extends TenantBaseDO {
    @TableId
    private Long id;
    private String username;
}
名称说明仓库路径
AdminUserDO用户,表 system_usersruoyi-office/yudao-module-system/yudao-module-system-server/.../user/AdminUserDO.java
TenantDO租户,表 system_tenant同模块 .../tenant/TenantDO.java
BaseDOcreateTime / updateTime / creator / updater / deletedyudao-framework/yudao-spring-boot-starter-mybatis/.../BaseDO.java
TenantBaseDO再加 tenantIdyudao-spring-boot-starter-biz-tenant/.../TenantBaseDO.java

system_users.dept_id、tenant_id 是列,schema 里没有外键约束。逻辑删除、租户过滤见 MyBatis 数据库 和 多租户。

按本仓库生成的 ER:字段来自 dump/latest 的 system_tenant / system_dept / system_users。

COMMENT 就是给人读的文档

列含义写在 COMMENT。改列时同步改 dump / 增量 SQL 和 DO 注释,不要只改 Java。

表名前缀 ​

业务表按模块前缀拆。引擎表单独处理。

名称说明仓库路径
system_*用户、角色、菜单、租户、字典ruoyi-office/yudao-module-system/
infra_*代码生成、文件、配置、数据源ruoyi-office/yudao-module-infra/
bpm_*流程分类、表单、模型绑定ruoyi-office/yudao-module-bpm/
oa_*用车、用印、会议室等ruoyi-office/yudao-module-oa/
hrm_*员工、考勤、培训等ruoyi-office/yudao-module-hrm/
ACT_* / FLW_*Flowable引擎自建,dump 强制大写
QRTZ_*Quartz同上

DatabaseTableServiceImpl 拉代码生成用的表清单时,会排除 ACT_ / FLW_ / QRTZ_ 这类引擎表。

增量怎么写 ​

不上 Flyway。已有库从上次日期之后的 update/ 接着跑。新装只导 dump/latest,不必重放全部历史增量。

名称说明仓库路径
01_apply_必跑升级默认只跑这里,文件名升序ruoyi-office-db/update/.../01_apply_必跑/
02_optional_可选需确认扩权、覆盖配置、演示 seed.../02_optional_可选需确认/
03_rollback_仅回滚回退,正常升级不要跑.../03_rollback_仅回滚/
04_note_说明勿执行说明,不当 SQL.../04_note_说明勿执行/

文件名 {HHMMSS}_{英文描述}.sql。文件头要有 type / risk / idempotent / default_policy 和变更说明,例如 113700_alter_hrm_training_p0_tables.sql。

增量脚本按日归档

平台表结构变更写到 ruoyi-office-db/update/ 对应日期目录。独立扩展模块的脚本放在自己的目录,不要和平台增量混写。

运行库里看一眼 ​

要对照当前连着的库有哪些表,用代码生成的导入,不是独立文档站。

名称说明仓库路径
表清单GET /infra/codegen/db/table/listyudao-module-infra-server/.../CodegenController.java
读库DatabaseTableServiceImpl.getTableList同模块 .../service/db/
数据源连接串,@TableName("infra_data_source_config")DataSourceConfigDO、/infra/data-source-config
PC代码生成、数据源配置ruoyi-office-vben/apps/web-antd/src/views/infra/codegen/、dataSourceConfig/

这份清单会过滤已导入生成器的表,并排除引擎表。它服务生成 CRUD,不替代 schema_*.sql。

三个库不要混进业务库

xxl_job_*.sql、nacos_schema.sql 各自建库。不要导进 ruoyi-office。static_data_*.sql 和 full_data_with_demo_*.sql 二选一。nacos_schema.sql 已含 prod 命名空间和 26 个微服务 YAML,导入前替换 10.0.0.11 / ChangeMe_* 占位符。

Linux lower_case_table_names=0 时,ACT_* / QRTZ_* 必须保持 dump 里的大写,否则 Flowable / Quartz 会报缺表。

配置与操作 ​

查库结构用 ruoyi-office-db/dump/latest/,不要找已删除的 Screw 接口。增量脚本进当月 update/。

开启见 框架层。

相关篇 ​

联系我们

获取报价、演示和二开方案

微信咨询二维码

微信咨询

17156169080

添加时备注「RuoYi Office」

在线体验商业版