# school_applet_version 表文档 ## 表概述 **表名**: school_applet_version **功能**: 小程序版本管理表,负责管理教务系统中小程序的版本信息,包括版本配置、状态管理、发布控制等核心功能 ## 字段说明 ``` Field Type Collation Null Key Default Extra Privileges Comment id int NULL NO PRI NULL auto_increment select,insert,update,references 主键 config varchar(255) utf8mb4_general_ci NO select,insert,update,references 配置信息 type varchar(20) utf8mb4_general_ci NO select,insert,update,references 小程序类型 desc text utf8mb4_general_ci YES NULL select,insert,update,references 插件描述 status tinyint NULL NO 1 select,insert,update,references 状态 下架 上架 uid varchar(40) utf8mb4_general_ci NO select,insert,update,references 发布者 path varchar(255) utf8mb4_general_ci NO select,insert,update,references 小程序包地址 version varchar(20) utf8mb4_general_ci NO select,insert,update,references 版本号 version_num varchar(20) utf8mb4_general_ci NO select,insert,update,references 版本号数字(用于排序) release_version varchar(20) utf8mb4_general_ci NO select,insert,update,references 发布线上版本号 create_time int NULL NO 0 select,insert,update,references 创建时间 delete_time int NULL NO 0 select,insert,update,references 删除时间 update_time int NULL NO 0 select,insert,update,references 更新时间 ``` ## 功能用途 ### 主要功能 - **版本信息管理**: 管理小程序的版本号、配置信息和描述 - **状态控制**: 控制小程序版本的上架和下架状态 - **发布管理**: 管理小程序的发布版本和线上版本 - **配置管理**: 存储小程序的配置信息和参数 - **版本排序**: 通过版本号数字进行版本排序管理 - **发布者管理**: 记录版本的发布者信息 - **包路径管理**: 管理小程序包的存储路径 - **类型分类**: 区分不同类型的小程序版本 - **生命周期管理**: 管理版本的创建、更新和删除 - **软删除支持**: 支持版本的逻辑删除和恢复 ### 业务场景 - **版本发布**: 发布新的小程序版本到系统 - **版本更新**: 更新现有小程序版本的信息和配置 - **版本下架**: 将有问题的版本下架处理 - **版本回滚**: 回滚到之前的稳定版本 - **版本审核**: 审核小程序版本的质量和合规性 - **版本分发**: 向不同校区分发小程序版本 - **版本监控**: 监控小程序版本的运行状态 - **版本统计**: 统计版本的使用情况和性能 - **版本维护**: 维护和优化小程序版本 ## 关联关系 ### 主要关联表 - `school_applet_site_version`: 小程序站点版本表 (版本操作记录关联) - `school_personnel`: 人员信息表 (发布者关联) - `school_campus`: 校区信息表 (版本分发关联) - `school_sys_config`: 系统配置表 (小程序配置关联) - `school_addon`: 插件管理表 (小程序插件关联) - `sys_log`: 系统日志表 (版本操作日志关联) - `school_sys_attachment`: 附件表 (小程序包文件关联) ### 关联说明 - **操作记录**: school_applet_site_version表记录此表版本的操作历史 - **发布者关联**: uid字段关联发布者的人员信息 - **小程序类型**: type字段区分不同类型的小程序 - **版本状态**: status字段控制版本的可用性 - **包路径**: path字段关联小程序包的存储位置 - **版本号管理**: version和version_num字段管理版本信息 - **发布版本**: release_version字段管理线上发布版本 - **配置关联**: config字段存储小程序的配置信息 ## 索引建议 - **主键索引**: id (已存在) - **业务索引**: - type (小程序类型查询) - status (状态查询) - uid (发布者查询) - version (版本号查询) - release_version (发布版本查询) - **复合索引**: - (type, status) (类型状态查询) - (uid, create_time) (发布者时间查询) - (type, version) (类型版本查询) - (status, create_time) (状态时间查询) - (version_num, type) (版本排序查询) - **时间索引**: - create_time (创建时间查询) - update_time (更新时间查询) - delete_time (删除时间查询) - **全文索引**: desc (描述内容搜索) ## 注意事项 - **版本号格式**: version和version_num需要遵循统一的版本号格式规范 - **状态一致性**: status字段变更需要与实际小程序状态保持一致 - **发布者验证**: uid字段必须关联到有效的系统用户 - **包路径有效性**: path字段必须指向有效的小程序包文件 - **配置格式**: config字段需要遵循JSON格式规范 - **版本唯一性**: 同类型小程序的版本号不能重复 - **软删除机制**: 使用delete_time实现软删除,避免物理删除 - **发布版本控制**: release_version变更需要经过审核流程 - **权限控制**: 只有授权人员才能发布和管理版本 - **版本回滚**: 版本回滚操作需要保留历史版本信息 - **包文件管理**: 删除版本时需要同步处理相关的包文件 - **依赖检查**: 删除版本前需要检查是否有其他组件依赖 - **审计要求**: 版本变更操作需要记录完整的审计日志 - **性能优化**: 大量版本查询时需要考虑缓存策略 - **备份策略**: 重要版本需要建立备份和恢复机制 - **监控告警**: 建立版本状态的监控和异常告警 - **数据一致性**: 确保版本信息与实际部署状态一致 - **版本清理**: 建立过期版本的清理策略