20260802220544

This commit is contained in:
oneao committed 2026-08-02 22:05:44 +08:00
1 parent c00329b5a4
commit 4fc9040a8a
60 files changed
+6273 -908

No files matched your search

@@ -0,0 +1,136 @@
# FMS 数据库 Schema 参考
## 模块管理核心六表
### s_module(模块定义)
| 列 | 类型 | 说明 |
|----|------|------|
| b_id | BIGINT PK | 不可变雪花 ID |
| b_code | VARCHAR(50) UNIQUE | 可变小写编码,如 `m_biz` |
| b_parent_id | BIGINT | 父模块 ID(NULL=根) |
| b_name | NVARCHAR(200) | 模块名称 |
| b_module_type | VARCHAR(20) | `directory` / `page` / `data` |
| b_canuse | TINYINT | 1=启用 |
| b_canmenu | TINYINT | 1=显示在菜单 |
| b_xh | INT | 排序号 |
| b_route | VARCHAR(500) | 页面路由 |
| b_icon | VARCHAR(200) | 图标 |
| b_memo | NVARCHAR(500) | 备注 |
### s_module_field(字段定义)
| 列 | 类型 | 说明 |
|----|------|------|
| b_id | BIGINT PK | 雪花 ID |
| b_module_id | BIGINT FK→s_module | 所属模块 |
| b_code | VARCHAR(50) | 字段编码 |
| b_name | NVARCHAR(200) | 字段名称 |
| b_data_type | VARCHAR(50) | 数据类型:text/number/money/date/datetime/checkbox/select |
| b_field_type | VARCHAR(50) | 字段类型:normal/key/auto/memo |
| b_db_field | VARCHAR(200) | 对应数据库字段名 |
| b_db_table | VARCHAR(200) | 对应数据库表名(多表关联时用) |
| b_xh | INT | 排序号 |
| b_canuse | TINYINT | 1=启用 |
| b_memo | NVARCHAR(500) | 备注 |
### s_module_power(操作权限定义)
| 列 | 类型 | 说明 |
|----|------|------|
| b_id | BIGINT PK | 雪花 ID |
| b_module_id | BIGINT FK→s_module | 所属模块 |
| b_code | VARCHAR(50) | 权限编码:create/update/delete/... |
| b_name | NVARCHAR(200) | 权限名称 |
| b_canuse | TINYINT | 1=启用 |
| b_xh | INT | 排序号 |
### b_user_module(用户模块授权)
| 列 | 类型 | 说明 |
|----|------|------|
| b_user_id | BIGINT FK→b_user | 用户 |
| b_module_id | BIGINT FK→s_module | 授予的模块 |
### b_user_power(用户操作权限)
| 列 | 类型 | 说明 |
|----|------|------|
| b_user_id | BIGINT FK→b_user | 用户 |
| b_power_id | BIGINT FK→s_module_power | 授予的操作权限 |
### b_i18n(多语言翻译)
| 列 | 类型 | 说明 |
|----|------|------|
| b_id | BIGINT PK | 雪花 ID |
| b_locale | VARCHAR(10) | 语言代码:zh-CN/en-US/... |
| b_key | VARCHAR(200) | 翻译键 |
| b_value | NVARCHAR(MAX) | 翻译文本 |
| b_module_id | BIGINT FK→s_module | 关联模块(可选) |
| b_group | VARCHAR(50) | 分组类型 |
## 扩展表(模块配置)
### s_module_field_list(列表视图配置)
| 列 | 类型 | 说明 |
|----|------|------|
| b_id | BIGINT PK | 雪花 ID |
| b_module_id | BIGINT FK→s_module | 所属模块 |
| b_field_id | BIGINT FK→s_module_field | 关联字段 |
| b_visible | TINYINT | 1=显示在列表 |
| b_width | INT | 列宽 |
| b_xh | INT | 列顺序 |
| b_editor_type | VARCHAR(50) | 编辑控件类型 |
### s_module_field_edit(编辑视图配置)
| 列 | 类型 | 说明 |
|----|------|------|
| b_id | BIGINT PK | 雪花 ID |
| b_module_id | BIGINT FK→s_module | 所属模块 |
| b_field_id | BIGINT FK→s_module_field | 关联字段 |
| b_visible | TINYINT | 1=编辑时可见 |
| b_group | VARCHAR(50) | 分组 |
| b_xh | INT | 字段排列顺序 |
| b_width | INT | 编辑控件宽度 |
### s_module_field_query(查询条件配置)
| 列 | 类型 | 说明 |
|----|------|------|
| b_id | BIGINT PK | 雪花 ID |
| b_module_id | BIGINT FK→s_module | 所属模块 |
| b_field_id | BIGINT FK→s_module_field | 关联字段 |
| b_visible | TINYINT | 1=显示为查询条件 |
| b_operator | VARCHAR(20) | 运算符:=/like/in/between |
| b_xh | INT | 排列顺序 |
| b_option_config | NVARCHAR(500) | 选项配置(select 用) |
### s_module_auto_code(自动编号规则)
| 列 | 类型 | 说明 |
|----|------|------|
| b_id | BIGINT PK | 雪花 ID |
| b_module_id | BIGINT FK→s_module | 所属模块 |
| b_prefix | VARCHAR(50) | 前缀 |
| b_separator | VARCHAR(10) | 分隔符 |
| b_date_format | VARCHAR(50) | 日期格式:yyyyMMdd |
| b_sequence_width | INT | 流水号宽度 |
| b_reset_type | VARCHAR(20) | 重置类型:none/year/month/day |
| b_start_value | BIGINT | 起始值 |
| b_current_period | VARCHAR(50) | 当前周期值 |
| b_current_value | BIGINT | 当前流水号 |
| b_save_table | VARCHAR(200) | 保存到的表 |
| b_field_name | VARCHAR(200) | 保存到的字段 |
## 业务表命名惯例
- `s_*` — 系统配置表(static/system)
- `b_*` — 业务表/基础表(business/base)
- `bf_*` — 业务-文件关联表
- `v_*` — 视图
- 主键统一:`b_id BIGINT`
- 排序字段:`b_xh INT`
- 启用字段:`b_canuse TINYINT`(0/1)