Files
RuoYi-Vue3-FastAPI/ruoyi-fastapi-backend/cli/runtime/db/gateway.py
T
insistence 9f7a0daa3b feat: 新增cli系统 (#103)
* feat: 新增cli系统

* feat: ruoyi completion支持powershell

* perf: 优化tui显示

* fix: 修复前端构建异常
2026-05-13 11:19:31 +08:00

57 lines
1.5 KiB
Python

from importlib import import_module
from typing import Any
class DatabaseInfrastructureGateway:
"""
数据库基础设施网关。
该对象负责延迟加载数据库引擎、SQLAlchemy 和 Alembic 相关依赖,
供数据库运行时 facade 与其协作对象统一复用。
"""
@staticmethod
def get_async_db_engine_factory() -> Any:
"""
获取异步数据库引擎工厂函数。
:return: 异步数据库引擎工厂函数
"""
return import_module('config.database').create_async_db_engine
@staticmethod
def get_sync_db_engine_factory() -> Any:
"""
获取同步数据库引擎工厂函数。
:return: 同步数据库引擎工厂函数
"""
return import_module('config.database').create_sync_db_engine
@staticmethod
def get_sqlalchemy_text() -> Any:
"""
获取 SQLAlchemy `text` 构造函数。
:return: SQLAlchemy `text` 函数
"""
return import_module('sqlalchemy').text
@staticmethod
def get_alembic_config_class() -> Any:
"""
获取 Alembic 配置类。
:return: Alembic 配置类
"""
return import_module('alembic.config').Config
@staticmethod
def get_alembic_script_directory_class() -> Any:
"""
获取 Alembic 脚本目录类。
:return: Alembic 脚本目录类
"""
return import_module('alembic.script').ScriptDirectory