fix: also patch globalEnv cached get_sor_context

This commit is contained in:
yumoqing 2026-08-11 17:00:21 +08:00
parent cc7ab76377
commit 2c50d358ef

View File

@ -7,6 +7,7 @@ import os, sys
# ═══ 最早导入并 patch sqlor, 确保所有后续 import 拿到 patched 版本 ═══
import sqlor.dbpools as _dbp
from appPublic.jsonConfig import getConfig as _getConfig
from appPublic.dictObject import DictObject
_workdir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
_config = _getConfig(_workdir, NS={'workdir': _workdir})
@ -23,9 +24,7 @@ async def _patched_sor_ctx(env, modulename, errorback=None):
_dbp.get_sor_context = _patched_sor_ctx
# ═══ DictObject patch =════
from appPublic.dictObject import DictObject
# DictObject patch — 所有 ServerEnv 默认 get_module_dbname
_orig_getattr = DictObject.__getattr__
@ -39,8 +38,11 @@ def _patched_getattr(self, key):
DictObject.__getattr__ = _patched_getattr
# ═══ 现在才 import 其他模块 ═══
# ═══ 导入 ahserver 后, 修正 globalEnv 中缓存的 get_sor_context ═══
from ahserver.webapp import webapp
from ahserver.globalEnv import GlobalEnv
GlobalEnv().get_sor_context = _patched_sor_ctx
def init():