# 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的命名规范进行配置分组 - **敏感信息**: 敏感配置信息需要加密存储 - **配置依赖**: 某些配置可能存在依赖关系,修改时需要检查依赖 - **版本兼容**: 配置结构变更需要考虑向后兼容性 - **监控告警**: 关键配置变更需要监控和告警机制