# 数据库脚本版本说明 ## 📋 当前可用脚本 ### 🔧 开发版本(当前使用) - **文件名**: `mysql_emotion_museum_final.sql` - **版本**: v3.0 Final - 开发版本 - **特性**: DROP & CREATE 模式 - **关联策略**: 无外键约束,代码层维护关联 - **适用**: 开发环境 #### ⚠️ 开发版本特点 - **先删除后创建**: 每次执行都会删除所有现有表 - **数据丢失**: 会清空所有现有数据 - **表结构最新**: 确保表结构始终是最新版本 - **快速迭代**: 适合频繁调整表结构的开发阶段 #### 🚀 使用场景 - ✅ 本地开发环境 - ✅ 测试环境 - ✅ 表结构调整频繁的开发阶段 - ❌ 生产环境(会丢失数据) ## 🔄 脚本执行流程 ### 开发版本执行流程 1. **设置环境**: 配置SQL模式和字符集 2. **禁用外键检查**: 便于删除表 3. **创建数据库**: 如果不存在则创建 4. **删除现有表**: 按依赖关系顺序删除所有表 5. **创建新表**: 重新创建所有15个表 6. **创建索引**: 创建所有131个优化索引 7. **重新启用外键检查**: 恢复外键约束 8. **提交事务**: 确保原子性操作 ## 📊 表结构信息 ### 创建的表 (15个) 1. **user** - 用户表 2. **conversation** - 对话表 3. **message** - 消息表 4. **coze_api_call** - Coze API调用表 5. **emotion_analysis** - 情绪分析表 6. **emotion_record** - 情绪记录表 7. **growth_topic** - 成长课题表 8. **topic_interaction** - 课题互动表 9. **location_pin** - 地点标记表 10. **community_post** - 社区帖子表 11. **comment** - 评论表 12. **achievement** - 成就表 13. **reward** - 奖励表 14. **guest_user** - 访客用户表 15. **user_stats** - 用户统计表 ### 索引统计 - **总索引数**: 131个 - **单列索引**: 主要字段的查询优化 - **复合索引**: 多字段组合查询优化 - **唯一索引**: 通过表定义的UNIQUE约束自动创建 ## 🛠️ 使用方法 ### 执行命令 ```bash # 进入backend目录 cd backend # 执行开发版本脚本 mysql -u root -p < mysql_emotion_museum_final.sql ``` ### 执行前检查 - ✅ 确认是开发环境 - ✅ 备份重要数据(如有) - ✅ 确认MySQL版本 8.0+ - ✅ 确认用户权限充足 ## ⚠️ 重要提醒 ### 数据安全 - **开发版本会删除所有数据** - **每次执行都是全新开始** - **不适合有重要数据的环境** ### 版本选择建议 - **开发阶段**: 使用当前开发版本 - **测试阶段**: 可以使用开发版本 - **生产部署**: 需要创建生产安全版本 ## 🔮 未来计划 ### 生产版本特性(待开发) - 使用 `CREATE TABLE IF NOT EXISTS` - 保护现有数据不被删除 - 支持增量更新和迁移 - 包含数据迁移脚本 ### 版本管理 - 开发版本: 快速迭代,数据重置 - 生产版本: 安全升级,数据保护 - 迁移脚本: 版本间数据迁移 ## 📞 技术支持 ### 常见问题 1. **执行失败**: 检查MySQL权限和版本 2. **数据丢失**: 开发版本的正常行为 3. **表结构错误**: 重新执行脚本即可修复 ### 联系方式 - 查看执行日志排查问题 - 确认环境配置是否正确 - 验证MySQL服务状态 ## 📝 版本更新记录 ### v3.1 (2025-07-13) - conversation表字段完善 **🔧 重要更新:修复AI模块数据库字段不匹配问题** #### 新增字段 - `user_type` VARCHAR(20) - 用户类型 (registered/guest) - `emotion_trend` VARCHAR(50) - 情绪趋势 - `keywords` JSON - 关键词 - `ai_insights` TEXT - AI洞察 - `confidence` DECIMAL(3,2) - 分析置信度 - `client_ip` VARCHAR(45) - 客户端IP地址 (支持IPv6) - `user_agent` TEXT - 用户代理信息 - `summary` TEXT - 对话摘要 - `tags` JSON - 标签 #### 新增索引 - `idx_conversation_user_type` - 用户类型索引 - `idx_conversation_emotion_trend` - 情绪趋势索引 - `idx_conversation_confidence` - 分析置信度索引 - `idx_conversation_client_ip` - 客户端IP索引 #### 解决问题 - ✅ 修复AI服务启动时的 `Unknown column 'user_type'` 错误 - ✅ 确保Java实体类与数据库表结构完全匹配 - ✅ 支持访客用户和注册用户的区分管理 - ✅ 增强对话数据的分析和统计能力 ### v3.0 (2025-07-12) - 初始开发版本 - 创建15个核心数据表 - 实现雪花算法主键策略 - 添加131个优化索引 - 支持完整的情绪博物馆功能模块 --- **更新时间**: 2025-07-13 **当前版本**: v3.1 - conversation表字段完善版本 **状态**: 开发中 🚧