数据库文档
这篇解决什么
查表结构、字段 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 |
| 静态数据 | 菜单、字典、角色等白名单 INSERT | ruoyi-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。
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='用户信息表';@TableName(value = "system_users", autoResultMap = true)
@KeySequence("system_users_seq")
public class AdminUserDO extends TenantBaseDO {
@TableId
private Long id;
private String username;
}| 名称 | 说明 | 仓库路径 |
|---|---|---|
AdminUserDO | 用户,表 system_users | ruoyi-office/yudao-module-system/yudao-module-system-server/.../user/AdminUserDO.java |
TenantDO | 租户,表 system_tenant | 同模块 .../tenant/TenantDO.java |
BaseDO | createTime / updateTime / creator / updater / deleted | yudao-framework/yudao-spring-boot-starter-mybatis/.../BaseDO.java |
TenantBaseDO | 再加 tenantId | yudao-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/list | yudao-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/。
开启见 框架层。
