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