# 数据库集成测试报告 **测试时间**: 2026-04-23 **数据库**: 阿里云 RDS MySQL (新加坡) **数据库名**: tencent_ad_autoput --- ## ✅ 测试结果总览 | 测试项 | 状态 | 说明 | |-------|------|------| | 数据库连接 | ✅ 通过 | 外网地址连接成功 | | 表结构导入 | ✅ 通过 | 3张表创建成功 | | 初始数据导入 | ✅ 通过 | 2个账户、9个配置项 | | 白名单查询 | ✅ 通过 | 返回 [80769799, 71305011] | | 系统配置查询 | ✅ 通过 | 所有配置读取正确 | | 缓存机制 | ✅ 通过 | 5分钟缓存生效 | | config.py 集成 | ✅ 通过 | 优先从数据库读取 | --- ## 📊 数据库详情 ### 已创建的表 1. **account_whitelist** (账户白名单) - 字段: id, account_id, account_name, business_line, enabled, remark, created_at, updated_at - 初始数据: 2个账户 2. **system_config** (系统配置) - 字段: id, config_key, config_value, value_type, description, enabled - 初始数据: 9个配置项 3. **decision_history** (决策历史记录) - 字段: id, decision_date, account_id, ad_id, action, reason, executed, etc. - 初始数据: 空(运行时写入) ### 初始白名单账户 | 账户ID | 账户名称 | 业务线 | 状态 | |-------|---------|-------|------| | 80769799 | 测试账户1 | 小程序投流 | ✅启用 | | 71305011 | 测试账户2 | 小程序投流 | ✅启用 | ### 初始系统配置 | 配置键 | 配置值 | 类型 | |-------|-------|------| | execution_enabled | false | boolean | | whitelist_enabled | true | boolean | | cron_schedule | 0 2 * * * | string | | run_on_startup | false | boolean | | max_concurrent_tasks | 1 | int | | approval_timeout_minutes | 30 | int | | roi_low_factor | 0.75 | string | | bid_down_roi_factor | 0.90 | string | | bid_up_roi_factor | 1.05 | string | --- ## 🔧 配置读取逻辑 ### 优先级(三层降级) ``` 1. 数据库(优先) ↓ 失败 2. 环境变量(降级) ↓ 失败 3. 文件/默认值(兜底) ``` ### 验证结果 - ✅ `WHITELIST_ENABLED`: True (从数据库读取) - ✅ `WHITELIST_ACCOUNTS`: [80769799, 71305011] (从数据库读取) - ✅ `EXECUTION_ENABLED`: False (从数据库读取) - ✅ ROI阈值: 正确读取 (0.75, 0.90, 1.05) --- ## 🚀 下一步操作 ### 1. 管理白名单(在数据库中) ```sql -- 添加新账户 INSERT INTO account_whitelist (account_id, account_name, business_line, enabled, created_by) VALUES (12345678, '新账户名称', '小程序投流', TRUE, 'admin'); -- 禁用账户 UPDATE account_whitelist SET enabled = FALSE WHERE account_id = 80769799; -- 启用账户 UPDATE account_whitelist SET enabled = TRUE WHERE account_id = 80769799; -- 查询所有白名单 SELECT account_id, account_name, business_line, enabled FROM account_whitelist; ``` ### 2. 管理系统配置(在数据库中) ```sql -- 开启实际执行 UPDATE system_config SET config_value = 'true' WHERE config_key = 'execution_enabled'; -- 修改定时调度(改为每天凌晨3点) UPDATE system_config SET config_value = '0 3 * * *' WHERE config_key = 'cron_schedule'; -- 修改ROI阈值 UPDATE system_config SET config_value = '0.80' WHERE config_key = 'roi_low_factor'; -- 查询所有配置 SELECT config_key, config_value, value_type FROM system_config WHERE enabled = 1; ``` ### 3. 通过 Python 管理配置 ```python from db import update_system_config # 更新配置 update_system_config('execution_enabled', True, updated_by='admin') update_system_config('cron_schedule', '0 3 * * *', updated_by='admin') ``` --- ## 📝 环境变量配置 `.env` 文件已更新,包含: ```bash DB_HOST=rm-t4nh1xx6o2a6vj8qu3o.mysql.singapore.rds.aliyuncs.com DB_PORT=3306 DB_USER=ad_rw DB_PASSWORD=p82SzuW4kAP3LJXcQGso DB_NAME=tencent_ad_autoput ``` --- ## ✅ 结论 数据库集成**完全成功**! - ✅ 数据库连接正常 - ✅ 表结构完整 - ✅ 配置读取正确 - ✅ 降级机制生效 - ✅ 缓存机制工作 **可以开始使用数据库管理白名单和系统配置了!**