refactor(core): 调整数据库初始化时机

将数据库的初始化、表结构创建和自动迁移逻辑从配置文件加载时移动到主程序 `raw_main` 函数中。

这一改动旨在解决循环导入问题,并确保数据库在所有配置和核心模块加载完毕后才进行初始化,提高了程序的启动鲁棒性和模块独立性。
This commit is contained in:
minecraft1024a
2025-08-17 15:59:56 +08:00
committed by Windpicker-owo
parent 6bc709aa38
commit 27c63380c2
3 changed files with 32 additions and 21 deletions

View File

@@ -481,24 +481,4 @@ logger.info("正在品鉴配置文件...")
global_config = load_config(config_path=os.path.join(CONFIG_DIR, "bot_config.toml"))
model_config = api_ada_load_config(config_path=os.path.join(CONFIG_DIR, "model_config.toml"))
# 初始化数据库连接
logger.info("正在初始化数据库连接...")
from src.common.database.database import initialize_sql_database
try:
initialize_sql_database(global_config.database)
logger.info(f"数据库连接初始化成功,使用 {global_config.database.database_type} 数据库")
except Exception as e:
logger.error(f"数据库连接初始化失败: {e}")
raise e
# 初始化数据库表结构
logger.info("正在初始化数据库表结构...")
from src.common.database.sqlalchemy_models import initialize_database as init_db
try:
init_db()
logger.info("数据库表结构初始化完成")
except Exception as e:
logger.error(f"数据库表结构初始化失败: {e}")
raise e
logger.info("非常的新鲜,非常的美味!")