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