feat: 项目初始化及当前全部内容提交
This commit is contained in:
@@ -0,0 +1,159 @@
|
||||
# 数据库脚本使用说明
|
||||
|
||||
## 📋 脚本信息
|
||||
|
||||
- **脚本名称**: `mysql_emotion_museum_final.sql`
|
||||
- **版本**: v3.0 Final (雪花算法主键版本) - 开发版本
|
||||
- **数据库类型**: MySQL 8.0+
|
||||
- **字符集**: utf8mb4
|
||||
- **主键类型**: VARCHAR(36) 使用雪花算法生成
|
||||
- **关联策略**: 无外键约束,通过代码中的ID字段关联
|
||||
|
||||
## ⚠️ 开发版本特性
|
||||
|
||||
### 🔄 DROP & CREATE 模式
|
||||
该脚本针对开发阶段优化,采用先删除再创建的策略:
|
||||
|
||||
1. **数据库创建**: 使用 `CREATE DATABASE IF NOT EXISTS`
|
||||
2. **表删除**: 先删除所有现有表 `DROP TABLE IF EXISTS`
|
||||
3. **表创建**: 重新创建所有表结构
|
||||
4. **索引创建**: 创建所有优化索引
|
||||
5. **事务控制**: 使用事务确保原子性操作
|
||||
|
||||
### ⚠️ 重要警告
|
||||
- **数据丢失**: 每次执行都会删除所有现有数据
|
||||
- **仅限开发**: 此版本仅适用于开发环境
|
||||
- **表结构更新**: 确保表结构始终是最新的
|
||||
- **快速迭代**: 适合频繁调整表结构的开发阶段
|
||||
|
||||
## 🚀 使用方法
|
||||
|
||||
### 方法1: 命令行执行
|
||||
```bash
|
||||
# 进入backend目录
|
||||
cd backend
|
||||
|
||||
# 执行脚本(需要输入MySQL root密码)
|
||||
mysql -u root -p < mysql_emotion_museum_final.sql
|
||||
```
|
||||
|
||||
### 方法2: MySQL客户端执行
|
||||
```sql
|
||||
-- 连接到MySQL
|
||||
mysql -u root -p
|
||||
|
||||
-- 执行脚本
|
||||
source /path/to/backend/mysql_emotion_museum_final.sql;
|
||||
```
|
||||
|
||||
### 方法3: 图形化工具执行
|
||||
- 使用 MySQL Workbench、phpMyAdmin 等工具
|
||||
- 打开脚本文件并执行
|
||||
|
||||
## 📊 执行结果
|
||||
|
||||
### 成功执行后会显示:
|
||||
1. **完成消息**: 确认部署成功
|
||||
2. **表统计**: 显示创建的表数量
|
||||
3. **表列表**: 显示所有创建的表及其注释
|
||||
|
||||
### 预期输出示例:
|
||||
```
|
||||
message: Emotion Museum Database v3.0 Final (雪花算法主键版本) - 开发版本 deployment completed successfully!
|
||||
completion_time: 2025-07-13 10:30:00
|
||||
description: All tables dropped and recreated with VARCHAR(36) primary keys. Development version - data will be lost on re-execution!
|
||||
|
||||
total_tables: 15
|
||||
|
||||
table_name | comment | engine
|
||||
--------------------|----------------|--------
|
||||
achievement | 成就表 | InnoDB
|
||||
coze_api_call | Coze API调用表 | InnoDB
|
||||
comment | 评论表 | InnoDB
|
||||
community_post | 社区帖子表 | InnoDB
|
||||
conversation | 对话表 | InnoDB
|
||||
emotion_analysis | 情绪分析表 | InnoDB
|
||||
emotion_record | 情绪记录表 | InnoDB
|
||||
growth_topic | 成长课题表 | InnoDB
|
||||
guest_user | 访客用户表 | InnoDB
|
||||
location_pin | 地点标记表 | InnoDB
|
||||
message | 消息表 | InnoDB
|
||||
reward | 奖励表 | InnoDB
|
||||
topic_interaction | 课题互动表 | InnoDB
|
||||
user | 用户表 | InnoDB
|
||||
user_stats | 用户统计表 | InnoDB
|
||||
```
|
||||
|
||||
## 🔧 脚本内容
|
||||
|
||||
### 创建的数据库表 (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个)
|
||||
- 为所有表的关键字段创建了优化索引
|
||||
- 包括单列索引和复合索引
|
||||
- 针对查询性能进行了优化
|
||||
|
||||
## ⚠️ 注意事项
|
||||
|
||||
### 执行前检查
|
||||
1. **MySQL版本**: 确保使用MySQL 8.0+
|
||||
2. **权限**: 确保有创建数据库和表的权限
|
||||
3. **磁盘空间**: 确保有足够的磁盘空间
|
||||
4. **备份**: 如果是生产环境,建议先备份
|
||||
|
||||
### 重复执行说明
|
||||
- ⚠️ **数据丢失**: 每次执行都会删除所有现有数据
|
||||
- 🔄 **表重建**: 所有表都会被删除并重新创建
|
||||
- 📊 **结构更新**: 确保表结构始终是最新版本
|
||||
- 📝 **日志**: 建议保存执行日志以便排查问题
|
||||
|
||||
### 常见问题
|
||||
1. **权限不足**: 确保MySQL用户有足够权限
|
||||
2. **字符集问题**: 确保MySQL支持utf8mb4字符集
|
||||
3. **存储引擎**: 确保MySQL支持InnoDB存储引擎
|
||||
4. **数据备份**: 开发版本会删除数据,生产环境请谨慎使用
|
||||
|
||||
## 🧪 测试验证
|
||||
|
||||
### 验证脚本
|
||||
项目中包含测试脚本 `test-sql-repeatability.sql` 用于验证可重复执行性:
|
||||
|
||||
```bash
|
||||
mysql -u root -p < test-sql-repeatability.sql
|
||||
```
|
||||
|
||||
### 验证步骤
|
||||
1. 首次执行主脚本
|
||||
2. 再次执行主脚本
|
||||
3. 检查表结构和数据完整性
|
||||
4. 验证索引是否正确创建
|
||||
|
||||
## 📞 技术支持
|
||||
|
||||
如果在执行过程中遇到问题:
|
||||
1. 检查MySQL错误日志
|
||||
2. 确认MySQL版本和配置
|
||||
3. 验证用户权限设置
|
||||
4. 查看脚本执行输出
|
||||
|
||||
---
|
||||
|
||||
**更新时间**: 2025-07-13
|
||||
**脚本版本**: v3.0 Final - 开发版本
|
||||
**特性**: DROP & CREATE 模式 ⚠️
|
||||
**警告**: 会删除现有数据,仅限开发环境使用
|
||||
Reference in New Issue
Block a user