55 lines
1.8 KiB
Markdown
55 lines
1.8 KiB
Markdown
# 数据库升级指南
|
||
|
||
本文档说明如何使用 `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` 索引。 |