test_db_summary.md 4.0 KB

数据库集成测试报告

测试时间: 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. 管理白名单(在数据库中)

-- 添加新账户
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. 管理系统配置(在数据库中)

-- 开启实际执行
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 管理配置

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 文件已更新,包含:

DB_HOST=rm-t4nh1xx6o2a6vj8qu3o.mysql.singapore.rds.aliyuncs.com
DB_PORT=3306
DB_USER=ad_rw
DB_PASSWORD=p82SzuW4kAP3LJXcQGso
DB_NAME=tencent_ad_autoput

✅ 结论

数据库集成完全成功

  • ✅ 数据库连接正常
  • ✅ 表结构完整
  • ✅ 配置读取正确
  • ✅ 降级机制生效
  • ✅ 缓存机制工作

可以开始使用数据库管理白名单和系统配置了!