You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4.1 KiB
4.1 KiB
school_sys_config 表文档
表概述
表名: school_sys_config
功能: 系统配置管理表,负责管理教务系统中的各种配置参数、系统设置、插件配置等系统级配置信息
字段说明
Field Type Collation Null Key Default Extra Privileges Comment
id int unsigned NULL NO PRI NULL auto_increment select,insert,update,references 主键
config_key varchar(255) utf8mb4_general_ci NO select,insert,update,references 配置项关键字
value text utf8mb4_general_ci YES NULL select,insert,update,references 配置值json
status tinyint NULL NO 1 select,insert,update,references 是否启用 1启用 0不启用
create_time int NULL NO 0 select,insert,update,references 创建时间
update_time int NULL NO 0 select,insert,update,references 修改时间
addon varchar(255) utf8mb4_general_ci NO select,insert,update,references 所属插件
功能用途
主要功能
- 系统配置管理: 管理系统级别的配置参数和设置
- 插件配置: 管理各种插件的配置信息和参数
- 动态配置: 支持运行时动态修改配置而无需重启系统
- JSON配置: 支持复杂的JSON格式配置数据
- 配置启用控制: 通过状态字段控制配置的启用和禁用
- 配置分类: 通过addon字段对配置进行分类管理
- 配置版本: 通过时间字段跟踪配置的创建和修改历史
业务场景
- 系统初始化: 系统启动时加载各种配置参数
- 功能开关: 控制系统功能模块的启用和禁用
- 参数调优: 动态调整系统运行参数
- 插件管理: 管理第三方插件的配置信息
- 多环境配置: 支持不同环境的配置管理
- 配置备份: 备份和恢复系统配置
- 配置审计: 跟踪配置变更历史
- 热更新: 支持配置的热更新和实时生效
关联关系
主要关联表
school_campus: 校区信息表 (校区相关配置)school_course: 课程信息表 (课程相关配置)school_personnel: 人员信息表 (权限相关配置)school_pay: 支付信息表 (支付相关配置)sys_addon: 插件管理表 (addon字段关联)sys_log: 系统日志表 (配置变更日志)
关联说明
- 插件关联: addon字段关联具体的插件或模块
- 业务配置: 为各业务模块提供配置支持
- 系统集成: 与第三方系统集成的配置参数
- 功能控制: 控制各功能模块的行为和参数
- 日志关联: 配置变更会记录到系统日志中
索引建议
- 主键索引: id (已存在)
- 唯一索引: config_key (配置键唯一性)
- 业务索引:
- addon (插件配置查询)
- status (启用状态查询)
- 复合索引:
- (addon, status) (插件启用配置查询)
- (config_key, addon) (插件配置键查询)
- (status, update_time) (启用配置更新时间查询)
- 时间索引:
- create_time (创建时间查询)
- update_time (更新时间查询)
注意事项
- 配置键唯一性: config_key需要保证全局唯一性,避免配置冲突
- JSON格式验证: value字段存储JSON数据,需要验证格式正确性
- 状态一致性: status字段变更需要同步更新相关业务逻辑
- 插件归属: addon字段确定配置的归属模块,删除插件时需要清理相关配置
- 配置缓存: 频繁访问的配置建议使用缓存机制提高性能
- 配置备份: 重要配置修改前需要备份原始值
- 权限控制: 配置修改需要严格的权限控制机制
- 配置验证: 配置值修改时需要验证数据的有效性和合法性
- 热更新机制: 配置修改后需要通知相关模块重新加载配置
- 默认值处理: 配置不存在时需要有合理的默认值处理机制
- 配置分组: 建议通过config_key的命名规范进行配置分组
- 敏感信息: 敏感配置信息需要加密存储
- 配置依赖: 某些配置可能存在依赖关系,修改时需要检查依赖
- 版本兼容: 配置结构变更需要考虑向后兼容性
- 监控告警: 关键配置变更需要监控和告警机制