概述
objectstack dev 开发期把元数据物化进持久化表。不同元数据类型在重启时「从源重新物化」行为不一致:改了权限集 system_permissions 源码 + compile + 重启(不 --fresh)后,运行时仍服务旧值,难以察觉(排查动作按权限集门控时曾被此误导)。
定位
packages/plugins/plugin-security/src/bootstrap-platform-admin.ts:83-87 —— 默认权限集走 insert-if-not-exists,已存在即跳过,不重物化。
packages/plugins/plugin-security/src/bootstrap-declared-permissions.ts:133-139 —— 声明权限集走 upsert。
→ 同为权限集,两条路径行为不一,是本 issue 核心。
期望
- dev 启动对权限集统一做「从 dist upsert 覆盖」,与声明集一致;或
- 提供
os metadata resync:从当前 dist 重物化元数据、不动业务数据,避免被迫 --fresh。
补充(已裁掉的证伪子主张)
原 issue 另称「默认列表视图不物化」「对象/动作总 upsert」——经核查:全仓无「默认视图物化」代码;对象/动作是内存 registry 重建(非 upsert 分支)。本 issue 仅聚焦权限集物化不一致这一成立部分。
来源(项目 dogfood):steedos-labs/os-tianshun-mtc#25
概述
objectstack dev开发期把元数据物化进持久化表。不同元数据类型在重启时「从源重新物化」行为不一致:改了权限集system_permissions源码 +compile+ 重启(不--fresh)后,运行时仍服务旧值,难以察觉(排查动作按权限集门控时曾被此误导)。定位
packages/plugins/plugin-security/src/bootstrap-platform-admin.ts:83-87—— 默认权限集走 insert-if-not-exists,已存在即跳过,不重物化。packages/plugins/plugin-security/src/bootstrap-declared-permissions.ts:133-139—— 声明权限集走 upsert。→ 同为权限集,两条路径行为不一,是本 issue 核心。
期望
os metadata resync:从当前 dist 重物化元数据、不动业务数据,避免被迫--fresh。补充(已裁掉的证伪子主张)
原 issue 另称「默认列表视图不物化」「对象/动作总 upsert」——经核查:全仓无「默认视图物化」代码;对象/动作是内存 registry 重建(非 upsert 分支)。本 issue 仅聚焦权限集物化不一致这一成立部分。
来源(项目 dogfood):steedos-labs/os-tianshun-mtc#25