1.1 KiB
Raw Blame History

pbl_domain_ext 模块技能(自动生成骨架 + 人工补充)

定位

world/scene/entity 薄扩展:租户/班级/团队关联(M8,不改基表)

挂载

from pbl_domain_ext.init import load_pbl_domain_ext → load_pbl_domain_ext()(应用 app/pbls.py init() 中按序调用)

数据表(3 张)

  • pbl_tenant:租户(多租户边界第25章,不改基表)
  • pbl_class:班级(花名册内联 roster_json)
  • pbl_team:团队(成员内联 members_json,不改基表)

契约接口(6 个,路径 /pbl_domain_ext/api/<name>.dspy)

  • pbl_tenant_upsert
  • pbl_class_save
  • pbl_class_list
  • pbl_team_save
  • pbl_team_list
  • pbl_domain_materialize_game_definition

陷阱

  • 库名一律 ServerEnv().get_module_dbname('pbl_domain_ext'),禁止硬编码 DBNAME。
  • sqlor 只有 C/U/D/R/I/sqlExe;查询走 pbl_common.api 的 q_all/q_one(已适配)。
  • 所有读写强制带 tenant_id(pbl_common.api.tenant_id()),缺失即 fail-closed 报错。
  • 新增契约需同步三处:api.py 定义 + init.py 导出 + init.py env 注册 + scripts/load_path.py 路径。