Files
happy-life-star/backend/数据库脚本版本说明.md
T

154 lines
4.5 KiB
Markdown

# 数据库脚本版本说明
## 📋 当前可用脚本
### 🔧 开发版本(当前使用)
- **文件名**: `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表字段完善版本
**状态**: 开发中 🚧