feat: set_role_perm.py 支持 SAGE_RBAC_DB 环境变量指定目标数据库

解决独立应用(如CMS)的RBAC数据库不匹配问题:
- set_role_perm.py 原来硬编码 'sage' 数据库
- 独立应用 get_module_dbname 返回自己的数据库(如 ocai_cms)
- 导致写入 sage 但读取 ocai_cms,权限检查失败
- 现在通过 SAGE_RBAC_DB 环境变量指定,默认仍为 sage
This commit is contained in:
yumoqing 2026-06-03 16:59:44 +08:00
parent 3ec2798abb
commit b2bb281559

View File

@ -1,3 +1,4 @@
import os
import sys
import asyncio
from sqlor.dbpools import DBPools
@ -34,7 +35,8 @@ async def main():
role = sys.argv[1]
path = sys.argv[2]
async with db.sqlorContext('sage') as sor:
dbname = os.environ.get('SAGE_RBAC_DB', 'sage')
async with db.sqlorContext(dbname) as sor:
perms = None
if '%' in path:
perms = await sor.sqlExe("select * from permission where path like ${path}$", {'path': path})