# 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)