Files
auto_cursor/UPGRADE_DATABASE_README.md
2025-04-01 16:25:08 +08:00

55 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 数据库升级指南
本文档说明如何使用 `upgrade_database.py` 脚本升级现有数据库结构,添加新的 `extracted` 字段和相关索引。
## 升级目的
新版本的 Cursor 自动化服务增加了账号上传功能,需要在数据库中添加 `extracted` 字段来标记已上传的账号。此脚本会自动完成以下操作:
1. 检查并添加 `extracted` 布尔字段(默认为 0
2. 创建 `idx_extracted` 索引以优化查询性能
3. 将现有的成功注册账号的 `extracted` 状态设为 0未提取
## 使用方法
1. 确保 MySQL 数据库正在运行,且 `config.yaml` 中的数据库配置正确
2. 运行升级脚本:
```bash
python upgrade_database.py
```
3. 脚本将自动检测是否需要添加字段和索引,并仅在需要时执行相应的 SQL 语句
4. 查看输出日志确认升级结果,详细日志保存在 `upgrade_database.log` 文件中
## 安全考虑
- 此脚本会修改数据库结构,但不会删除任何数据
- 建议在执行前备份数据库
- 脚本执行前会检查字段和索引是否已存在,不会重复创建
## 常见问题
1. **权限错误**
- 确保数据库用户有 ALTER TABLE 权限
- 错误信息通常包含 "Access denied" 或 "Insufficient privileges"
2. **字段已存在**
- 如果收到 "Duplicate column name" 错误,说明字段已存在
- 脚本会检测字段是否存在,通常不会出现此问题
3. **执行成功但无更改**
- 如果日志显示 "extracted字段已存在无需添加",说明数据库结构已是最新
- 这是正常现象,无需担心
## 验证升级
升级完成后可以通过以下SQL语句验证新字段是否添加成功
```sql
DESCRIBE email_accounts;
SHOW INDEX FROM email_accounts;
```
应该能看到 `extracted` 字段和 `idx_extracted` 索引。