PriceForecast/test_db_connection.py

43 lines
1.6 KiB
Python

#!/usr/bin/env python3
"""
测试数据库连接修复的脚本
"""
def test_db_connection_fix():
"""测试数据库连接修复"""
try:
from config_jingbo import global_config
print("=== 数据库连接测试 ===")
print(f"数据库连接对象: {global_config.get('db_mysql')}")
if global_config.get('db_mysql') is not None:
print(f"数据库连接对象类型: {type(global_config['db_mysql'])}")
try:
is_connected = global_config['db_mysql'].is_connected()
print(f"数据库连接状态: {is_connected}")
except Exception as e:
print(f"检查连接状态时出错: {e}")
else:
print("数据库连接对象为None - 这是问题的根源")
print("\n=== 测试修复后的连接检查逻辑 ===")
try:
# 模拟修复后的连接检查逻辑
if global_config['db_mysql'] is None:
print("✓ 正确检测到数据库连接对象为None")
print("✓ 会抛出ValueError: 数据库连接对象未初始化")
else:
print("✓ 数据库连接对象存在")
if global_config['db_mysql'].is_connected():
print("✓ 数据库已连接")
else:
print("✓ 数据库未连接,需要重新连接")
except Exception as e:
print(f"连接检查逻辑测试出错: {e}")
except Exception as e:
print(f"测试过程中出错: {e}")
if __name__ == "__main__":
test_db_connection_fix()