pbl_scense_ext/sql/m9c_rbac_seed.sql
2026-09-22 20:54:19 +08:00

61 lines
24 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- M9-收口C pbl_scense_ext 覆盖层权限种子(26 条,逐条显式,无 % / * 通配符)
-- 由 scripts/m9c_rbac_seed.py 生成;id 为 path/role 的 md5 派生 → 幂等(可重复执行)
-- 用法:交 apps/pbls/build.sh 第 9 步(import_rp)或直接 mysql < 本文件
INSERT INTO `permission` (`id`, `path`, `name`, `description`, `ptype`, `parentid`, `title`, `icon`) VALUES ('rp_1ba8c90c3d0b00842b74b28c90cd2', '/pbl_scense_ext/api/pbl_session_context_get.dspy', 'pbl_session_context_get', '会话上下文读取(租户/世界/角色) | M9 | role=logined | pbl_scense_ext/api.py::pbl_session_context_get(api.py:102)→ __init__.py:9 → init.py:20 env 挂载 → wwwroot/api/pbl_session_', 'api', 'pbl_scense_ext', '会话上下文读取(租户/世界/角色)', 'api') ON DUPLICATE KEY UPDATE `path`=VALUES(`path`), `name`=VALUES(`name`), `description`=VALUES(`description`), `ptype`=VALUES(`ptype`), `parentid`=VALUES(`parentid`), `title`=VALUES(`title`), `icon`=VALUES(`icon`);
INSERT INTO `permission` (`id`, `path`, `name`, `description`, `ptype`, `parentid`, `title`, `icon`) VALUES ('rp_0ab941aff9922b4b10788d072a4ed', '/pbl_scense_ext/api/pbl_page_registry_list.dspy', 'pbl_page_registry_list', '覆盖层 12 页面注册表(含渲染时延预算) | M9 | role=logined | pbl_scense_ext/api.py::pbl_page_registry_list(api.py:46,读 PAGES api.py:16)→ __init__.py:10 → init.py:21 → wwwroot/api/pb', 'api', 'pbl_scense_ext', '覆盖层 12 页面注册表(含渲染时延预算)', 'api') ON DUPLICATE KEY UPDATE `path`=VALUES(`path`), `name`=VALUES(`name`), `description`=VALUES(`description`), `ptype`=VALUES(`ptype`), `parentid`=VALUES(`parentid`), `title`=VALUES(`title`), `icon`=VALUES(`icon`);
INSERT INTO `permission` (`id`, `path`, `name`, `description`, `ptype`, `parentid`, `title`, `icon`) VALUES ('rp_e25b1aac374944df4ec6432449f9a', '/pbl_scense_ext/api/pbl_playtest_feedback_save.dspy', 'pbl_playtest_feedback_save', 'Playtest 反馈/反思落库 | M9 | role=logined | pbl_scense_ext/api.py::pbl_playtest_feedback_save(api.py:113)→ __init__.py:11 → init.py:22 → wwwroot/api/pbl_playtest_fe', 'api', 'pbl_scense_ext', 'Playtest 反馈/反思落库', 'api') ON DUPLICATE KEY UPDATE `path`=VALUES(`path`), `name`=VALUES(`name`), `description`=VALUES(`description`), `ptype`=VALUES(`ptype`), `parentid`=VALUES(`parentid`), `title`=VALUES(`title`), `icon`=VALUES(`icon`);
INSERT INTO `permission` (`id`, `path`, `name`, `description`, `ptype`, `parentid`, `title`, `icon`) VALUES ('rp_3e9fe75350098fe2f5bfe96e4cb51', '/pbl_scense_ext/api/pbl_overlay_bootstrap.dspy', 'pbl_overlay_bootstrap', '覆盖层启动上下文(bootstrap) | M9 | role=logined | pbl_scense_ext/api.py::pbl_overlay_bootstrap(api.py:62)→ __init__.py:12 → init.py:23 → wwwroot/api/pbl_overlay_bootstrap', 'api', 'pbl_scense_ext', '覆盖层启动上下文(bootstrap)', 'api') ON DUPLICATE KEY UPDATE `path`=VALUES(`path`), `name`=VALUES(`name`), `description`=VALUES(`description`), `ptype`=VALUES(`ptype`), `parentid`=VALUES(`parentid`), `title`=VALUES(`title`), `icon`=VALUES(`icon`);
INSERT INTO `permission` (`id`, `path`, `name`, `description`, `ptype`, `parentid`, `title`, `icon`) VALUES ('rp_2fc7010684d98584c9dd3140dbcb8', '/pbl_scense_ext', 'pbl_scense_ext_root', 'pbl_scense_ext 模块入口(目录路由) | M9 | role=logined | wwwroot/index.ui(由 wwwroot 软链挂载,apps/pbls build.sh 第 5 步)→ load_path.py PATHS[4]', 'page', 'pbl_scense_ext', 'pbl_scense_ext 模块入口(目录路由)', 'page') ON DUPLICATE KEY UPDATE `path`=VALUES(`path`), `name`=VALUES(`name`), `description`=VALUES(`description`), `ptype`=VALUES(`ptype`), `parentid`=VALUES(`parentid`), `title`=VALUES(`title`), `icon`=VALUES(`icon`);
INSERT INTO `permission` (`id`, `path`, `name`, `description`, `ptype`, `parentid`, `title`, `icon`) VALUES ('rp_4330c1c1ba3a01d923c5e79ce9f8f', '/pbl_scense_ext/index.ui', 'pbl_scense_ext_index_ui', 'pbl_scense_ext 入口页壳 | M9 | role=logined | wwwroot/index.ui → load_path.py PATHS[5]', 'page', 'pbl_scense_ext', 'pbl_scense_ext 入口页壳', 'page') ON DUPLICATE KEY UPDATE `path`=VALUES(`path`), `name`=VALUES(`name`), `description`=VALUES(`description`), `ptype`=VALUES(`ptype`), `parentid`=VALUES(`parentid`), `title`=VALUES(`title`), `icon`=VALUES(`icon`);
INSERT INTO `permission` (`id`, `path`, `name`, `description`, `ptype`, `parentid`, `title`, `icon`) VALUES ('rp_f497512d13f3166761ed15bbb8203', '/pbl_scense_ext/overlay/pbl_overlay_loader.js', 'pbl_overlay_loader_js', '覆盖层脚本/CSS 注入器 + 运行时 i18n(预鉴权页壳首屏) | M9 | role=any | wwwroot/overlay/pbl_overlay_loader.js:2(FILES L51 注入 core/transport/play;I18N_DIR L48 fetch msg.txt)→ load_path.py PATHS', 'static', 'pbl_scense_ext', '覆盖层脚本/CSS 注入器 + 运行时 i18n(预鉴权页壳首屏)', 'static') ON DUPLICATE KEY UPDATE `path`=VALUES(`path`), `name`=VALUES(`name`), `description`=VALUES(`description`), `ptype`=VALUES(`ptype`), `parentid`=VALUES(`parentid`), `title`=VALUES(`title`), `icon`=VALUES(`icon`);
INSERT INTO `permission` (`id`, `path`, `name`, `description`, `ptype`, `parentid`, `title`, `icon`) VALUES ('rp_0e8cb7e84f425ae605ae5c08881c5', '/pbl_scense_ext/overlay/pbl_overlay.css', 'pbl_overlay_css', '覆盖层主题 CSS(页壳首屏样式,不含业务数据) | M9 | role=any | wwwroot/overlay/pbl_overlay.css → load_path.py PATHS[7](any,QC #1)', 'static', 'pbl_scense_ext', '覆盖层主题 CSS(页壳首屏样式,不含业务数据)', 'static') ON DUPLICATE KEY UPDATE `path`=VALUES(`path`), `name`=VALUES(`name`), `description`=VALUES(`description`), `ptype`=VALUES(`ptype`), `parentid`=VALUES(`parentid`), `title`=VALUES(`title`), `icon`=VALUES(`icon`);
INSERT INTO `permission` (`id`, `path`, `name`, `description`, `ptype`, `parentid`, `title`, `icon`) VALUES ('rp_c9293d08c50f1e7ffd65fd48c00ea', '/pbl_scense_ext/overlay/pbl_overlay_core.js', 'pbl_overlay_core_js', '覆盖层业务内核 JS(登录后由 loader 注入) | M9 | role=logined | wwwroot/overlay/pbl_overlay_loader.js FILES L51 → wwwroot/overlay/pbl_overlay_core.js → load_path.py PATHS[8](logined)', 'static', 'pbl_scense_ext', '覆盖层业务内核 JS(登录后由 loader 注入)', 'static') ON DUPLICATE KEY UPDATE `path`=VALUES(`path`), `name`=VALUES(`name`), `description`=VALUES(`description`), `ptype`=VALUES(`ptype`), `parentid`=VALUES(`parentid`), `title`=VALUES(`title`), `icon`=VALUES(`icon`);
INSERT INTO `permission` (`id`, `path`, `name`, `description`, `ptype`, `parentid`, `title`, `icon`) VALUES ('rp_fa593242ef0c1b9ca1567cdfe1527', '/pbl_scense_ext/overlay/pbl_overlay_transport.js', 'pbl_overlay_transport_js', '覆盖层广播/意图通道 JS | M9 | role=logined | wwwroot/overlay/pbl_overlay_loader.js FILES L51 → wwwroot/overlay/pbl_overlay_transport.js → load_path.py PATHS[9](login', 'static', 'pbl_scense_ext', '覆盖层广播/意图通道 JS', 'static') ON DUPLICATE KEY UPDATE `path`=VALUES(`path`), `name`=VALUES(`name`), `description`=VALUES(`description`), `ptype`=VALUES(`ptype`), `parentid`=VALUES(`parentid`), `title`=VALUES(`title`), `icon`=VALUES(`icon`);
INSERT INTO `permission` (`id`, `path`, `name`, `description`, `ptype`, `parentid`, `title`, `icon`) VALUES ('rp_f5d867e2053681c1cfcda64d83345', '/pbl_scense_ext/overlay/pbl_overlay_play.js', 'pbl_overlay_play_js', '覆盖层装配 JS(世界内 5 页) | M9 | role=logined | wwwroot/overlay/pbl_overlay_loader.js FILES L51 → wwwroot/overlay/pbl_overlay_play.js → load_path.py PATHS[10](logined)', 'static', 'pbl_scense_ext', '覆盖层装配 JS(世界内 5 页)', 'static') ON DUPLICATE KEY UPDATE `path`=VALUES(`path`), `name`=VALUES(`name`), `description`=VALUES(`description`), `ptype`=VALUES(`ptype`), `parentid`=VALUES(`parentid`), `title`=VALUES(`title`), `icon`=VALUES(`icon`);
INSERT INTO `permission` (`id`, `path`, `name`, `description`, `ptype`, `parentid`, `title`, `icon`) VALUES ('rp_b1d3b3a4c3cc3c1f1bdad651ce2e6', '/pbl_scense_ext/i18n/zh/msg.txt', 'pbl_overlay_i18n_zh', '覆盖层中文文案表(运行时 i18n 单一事实源) | M9 | role=any | wwwroot/overlay/pbl_overlay_loader.js loadLang()(I18N_DIR L48)→ wwwroot/i18n/zh/msg.txt;生成期同源校验 scripts/gen_overlay_page', 'static', 'pbl_scense_ext', '覆盖层中文文案表(运行时 i18n 单一事实源)', 'static') ON DUPLICATE KEY UPDATE `path`=VALUES(`path`), `name`=VALUES(`name`), `description`=VALUES(`description`), `ptype`=VALUES(`ptype`), `parentid`=VALUES(`parentid`), `title`=VALUES(`title`), `icon`=VALUES(`icon`);
INSERT INTO `permission` (`id`, `path`, `name`, `description`, `ptype`, `parentid`, `title`, `icon`) VALUES ('rp_e745726b5142840155acdd17b7a98', '/pbl_scense_ext/i18n/en/msg.txt', 'pbl_overlay_i18n_en', '覆盖层英文文案表(运行时 i18n 单一事实源) | M9 | role=any | wwwroot/overlay/pbl_overlay_loader.js loadLang()(I18N_DIR L48)→ wwwroot/i18n/en/msg.txt;生成期同源校验 scripts/gen_overlay_page', 'static', 'pbl_scense_ext', '覆盖层英文文案表(运行时 i18n 单一事实源)', 'static') ON DUPLICATE KEY UPDATE `path`=VALUES(`path`), `name`=VALUES(`name`), `description`=VALUES(`description`), `ptype`=VALUES(`ptype`), `parentid`=VALUES(`parentid`), `title`=VALUES(`title`), `icon`=VALUES(`icon`);
INSERT INTO `permission` (`id`, `path`, `name`, `description`, `ptype`, `parentid`, `title`, `icon`) VALUES ('rp_d18a134bd7056f10058904f2604ca', '/pbl_scense_ext/pbl_overlay/home.ui', 'pbl_overlay_page_home', 'PBL 首页(覆盖层页壳) | M9 | role=logined | scripts/gen_overlay_pages.py PAGES(gen_overlay_pages.py:72)→ wwwroot/pbl_overlay/home.ui;运行时路由 pbl_scense_ext/api.py PAG', 'page', 'pbl_scense_ext', 'PBL 首页(覆盖层页壳)', 'page') ON DUPLICATE KEY UPDATE `path`=VALUES(`path`), `name`=VALUES(`name`), `description`=VALUES(`description`), `ptype`=VALUES(`ptype`), `parentid`=VALUES(`parentid`), `title`=VALUES(`title`), `icon`=VALUES(`icon`);
INSERT INTO `permission` (`id`, `path`, `name`, `description`, `ptype`, `parentid`, `title`, `icon`) VALUES ('rp_dd99f9738cd48d14421feedc0ac0f', '/pbl_scense_ext/pbl_overlay/blueprint_list.ui', 'pbl_overlay_page_blueprint_list', '蓝图列表(覆盖层页壳) | M9 | role=logined | scripts/gen_overlay_pages.py PAGES(gen_overlay_pages.py:72)→ wwwroot/pbl_overlay/blueprint_list.ui;运行时路由 api.py PAGES[1]', 'page', 'pbl_scense_ext', '蓝图列表(覆盖层页壳)', 'page') ON DUPLICATE KEY UPDATE `path`=VALUES(`path`), `name`=VALUES(`name`), `description`=VALUES(`description`), `ptype`=VALUES(`ptype`), `parentid`=VALUES(`parentid`), `title`=VALUES(`title`), `icon`=VALUES(`icon`);
INSERT INTO `permission` (`id`, `path`, `name`, `description`, `ptype`, `parentid`, `title`, `icon`) VALUES ('rp_578f2e691f4e1e27716a423b17e58', '/pbl_scense_ext/pbl_overlay/blueprint_editor.ui', 'pbl_overlay_page_blueprint_editor', '蓝图编辑器(覆盖层页壳) | M9 | role=logined | scripts/gen_overlay_pages.py PAGES(gen_overlay_pages.py:72)→ wwwroot/pbl_overlay/blueprint_editor.ui;运行时路由 api.py PAGES[', 'page', 'pbl_scense_ext', '蓝图编辑器(覆盖层页壳)', 'page') ON DUPLICATE KEY UPDATE `path`=VALUES(`path`), `name`=VALUES(`name`), `description`=VALUES(`description`), `ptype`=VALUES(`ptype`), `parentid`=VALUES(`parentid`), `title`=VALUES(`title`), `icon`=VALUES(`icon`);
INSERT INTO `permission` (`id`, `path`, `name`, `description`, `ptype`, `parentid`, `title`, `icon`) VALUES ('rp_3707a5b47383f55766a981696b897', '/pbl_scense_ext/pbl_overlay/validation_report.ui', 'pbl_overlay_page_validation_report', '校验报告 14 维(覆盖层页壳) | M9 | role=logined | scripts/gen_overlay_pages.py PAGES(gen_overlay_pages.py:72)→ wwwroot/pbl_overlay/validation_report.ui;运行时路由 api.py PAGES', 'page', 'pbl_scense_ext', '校验报告 14 维(覆盖层页壳)', 'page') ON DUPLICATE KEY UPDATE `path`=VALUES(`path`), `name`=VALUES(`name`), `description`=VALUES(`description`), `ptype`=VALUES(`ptype`), `parentid`=VALUES(`parentid`), `title`=VALUES(`title`), `icon`=VALUES(`icon`);
INSERT INTO `permission` (`id`, `path`, `name`, `description`, `ptype`, `parentid`, `title`, `icon`) VALUES ('rp_5ef68c7c20ee872e61751c88ac28d', '/pbl_scense_ext/pbl_overlay/agent_console.ui', 'pbl_overlay_page_agent_console', 'Agent 控制台(覆盖层页壳) | M9 | role=logined | scripts/gen_overlay_pages.py PAGES(gen_overlay_pages.py:72)→ wwwroot/pbl_overlay/agent_console.ui;运行时路由 api.py PAGES[4](', 'page', 'pbl_scense_ext', 'Agent 控制台(覆盖层页壳)', 'page') ON DUPLICATE KEY UPDATE `path`=VALUES(`path`), `name`=VALUES(`name`), `description`=VALUES(`description`), `ptype`=VALUES(`ptype`), `parentid`=VALUES(`parentid`), `title`=VALUES(`title`), `icon`=VALUES(`icon`);
INSERT INTO `permission` (`id`, `path`, `name`, `description`, `ptype`, `parentid`, `title`, `icon`) VALUES ('rp_9760083af6c293ac9cf2e4db4f634', '/pbl_scense_ext/pbl_overlay/approval_center.ui', 'pbl_overlay_page_approval_center', '人工审批中心(覆盖层页壳) | M9 | role=logined | scripts/gen_overlay_pages.py PAGES(gen_overlay_pages.py:72)→ wwwroot/pbl_overlay/approval_center.ui;运行时路由 api.py PAGES[5', 'page', 'pbl_scense_ext', '人工审批中心(覆盖层页壳)', 'page') ON DUPLICATE KEY UPDATE `path`=VALUES(`path`), `name`=VALUES(`name`), `description`=VALUES(`description`), `ptype`=VALUES(`ptype`), `parentid`=VALUES(`parentid`), `title`=VALUES(`title`), `icon`=VALUES(`icon`);
INSERT INTO `permission` (`id`, `path`, `name`, `description`, `ptype`, `parentid`, `title`, `icon`) VALUES ('rp_86b8b90a44ad6ed7258eb6ecf951c', '/pbl_scense_ext/pbl_overlay/play_preview.ui', 'pbl_overlay_page_play_preview', 'Play 预览(覆盖层页壳,世界内) | M9 | role=logined | scripts/gen_overlay_pages.py PAGES(gen_overlay_pages.py:72)→ wwwroot/pbl_overlay/play_preview.ui;运行时路由 api.py PAGES[6](a', 'page', 'pbl_scense_ext', 'Play 预览(覆盖层页壳,世界内)', 'page') ON DUPLICATE KEY UPDATE `path`=VALUES(`path`), `name`=VALUES(`name`), `description`=VALUES(`description`), `ptype`=VALUES(`ptype`), `parentid`=VALUES(`parentid`), `title`=VALUES(`title`), `icon`=VALUES(`icon`);
INSERT INTO `permission` (`id`, `path`, `name`, `description`, `ptype`, `parentid`, `title`, `icon`) VALUES ('rp_a3ff343a4515fab4fdc6a59e38765', '/pbl_scense_ext/pbl_overlay/mission_board.ui', 'pbl_overlay_page_mission_board', '驱动问题板(覆盖层页壳,世界内) | M9 | role=logined | scripts/gen_overlay_pages.py PAGES(gen_overlay_pages.py:72)→ wwwroot/pbl_overlay/mission_board.ui;运行时路由 api.py PAGES[7](', 'page', 'pbl_scense_ext', '驱动问题板(覆盖层页壳,世界内)', 'page') ON DUPLICATE KEY UPDATE `path`=VALUES(`path`), `name`=VALUES(`name`), `description`=VALUES(`description`), `ptype`=VALUES(`ptype`), `parentid`=VALUES(`parentid`), `title`=VALUES(`title`), `icon`=VALUES(`icon`);
INSERT INTO `permission` (`id`, `path`, `name`, `description`, `ptype`, `parentid`, `title`, `icon`) VALUES ('rp_4dd6793dd185ad7bc2f4b513c45c8', '/pbl_scense_ext/pbl_overlay/role_panel.ui', 'pbl_overlay_page_role_panel', '角色面板(覆盖层页壳,世界内) | M9 | role=logined | scripts/gen_overlay_pages.py PAGES(gen_overlay_pages.py:72)→ wwwroot/pbl_overlay/role_panel.ui;运行时路由 api.py PAGES[8](api', 'page', 'pbl_scense_ext', '角色面板(覆盖层页壳,世界内)', 'page') ON DUPLICATE KEY UPDATE `path`=VALUES(`path`), `name`=VALUES(`name`), `description`=VALUES(`description`), `ptype`=VALUES(`ptype`), `parentid`=VALUES(`parentid`), `title`=VALUES(`title`), `icon`=VALUES(`icon`);
INSERT INTO `permission` (`id`, `path`, `name`, `description`, `ptype`, `parentid`, `title`, `icon`) VALUES ('rp_767ed9c9101d273cfb34e1a027c18', '/pbl_scense_ext/pbl_overlay/artifact_studio.ui', 'pbl_overlay_page_artifact_studio', '产出物工坊(覆盖层页壳,世界内) | M9 | role=logined | scripts/gen_overlay_pages.py PAGES(gen_overlay_pages.py:72)→ wwwroot/pbl_overlay/artifact_studio.ui;运行时路由 api.py PAGES[9', 'page', 'pbl_scense_ext', '产出物工坊(覆盖层页壳,世界内)', 'page') ON DUPLICATE KEY UPDATE `path`=VALUES(`path`), `name`=VALUES(`name`), `description`=VALUES(`description`), `ptype`=VALUES(`ptype`), `parentid`=VALUES(`parentid`), `title`=VALUES(`title`), `icon`=VALUES(`icon`);
INSERT INTO `permission` (`id`, `path`, `name`, `description`, `ptype`, `parentid`, `title`, `icon`) VALUES ('rp_d3337dd28c148fab58681cec127f2', '/pbl_scense_ext/pbl_overlay/evidence_wall.ui', 'pbl_overlay_page_evidence_wall', '证据墙(覆盖层页壳,世界内) | M9 | role=logined | scripts/gen_overlay_pages.py PAGES(gen_overlay_pages.py:72)→ wwwroot/pbl_overlay/evidence_wall.ui;运行时路由 api.py PAGES[10]', 'page', 'pbl_scense_ext', '证据墙(覆盖层页壳,世界内)', 'page') ON DUPLICATE KEY UPDATE `path`=VALUES(`path`), `name`=VALUES(`name`), `description`=VALUES(`description`), `ptype`=VALUES(`ptype`), `parentid`=VALUES(`parentid`), `title`=VALUES(`title`), `icon`=VALUES(`icon`);
INSERT INTO `permission` (`id`, `path`, `name`, `description`, `ptype`, `parentid`, `title`, `icon`) VALUES ('rp_a86a70333291ec7540d4a3ffb5a07', '/pbl_scense_ext/pbl_overlay/assessment_report.ui', 'pbl_overlay_page_assessment_report', '评估报告(覆盖层页壳) | M9 | role=logined | scripts/gen_overlay_pages.py PAGES(gen_overlay_pages.py:72)→ wwwroot/pbl_overlay/assessment_report.ui;运行时路由 api.py PAGES', 'page', 'pbl_scense_ext', '评估报告(覆盖层页壳)', 'page') ON DUPLICATE KEY UPDATE `path`=VALUES(`path`), `name`=VALUES(`name`), `description`=VALUES(`description`), `ptype`=VALUES(`ptype`), `parentid`=VALUES(`parentid`), `title`=VALUES(`title`), `icon`=VALUES(`icon`);
INSERT INTO `permission` (`id`, `path`, `name`, `description`, `ptype`, `parentid`, `title`, `icon`) VALUES ('rp_3277731ee5ea2a8c3daff30a4e7a6', '/pbl_scense_ext/pbl_overlay', 'pbl_overlay_page_dir', '覆盖层页面壳目录(目录路由) | M9 | role=logined | wwwroot/pbl_overlay/(12 个 .ui)→ load_path.py PATHS[25](目录条目,audit 不做文件存在性检查)', 'page', 'pbl_scense_ext', '覆盖层页面壳目录(目录路由)', 'page') ON DUPLICATE KEY UPDATE `path`=VALUES(`path`), `name`=VALUES(`name`), `description`=VALUES(`description`), `ptype`=VALUES(`ptype`), `parentid`=VALUES(`parentid`), `title`=VALUES(`title`), `icon`=VALUES(`icon`);
INSERT INTO `rolepermission` (`id`, `roleid`, `permid`) VALUES ('rr_ed559fd9b81599a43e0306e296df4', 'logined', 'rp_1ba8c90c3d0b00842b74b28c90cd2') ON DUPLICATE KEY UPDATE `permid`=VALUES(`permid`);
INSERT INTO `rolepermission` (`id`, `roleid`, `permid`) VALUES ('rr_57ea020414d91a81160143d6025c1', 'logined', 'rp_0ab941aff9922b4b10788d072a4ed') ON DUPLICATE KEY UPDATE `permid`=VALUES(`permid`);
INSERT INTO `rolepermission` (`id`, `roleid`, `permid`) VALUES ('rr_2f1596f89c0213e87bab801c6f3f9', 'logined', 'rp_e25b1aac374944df4ec6432449f9a') ON DUPLICATE KEY UPDATE `permid`=VALUES(`permid`);
INSERT INTO `rolepermission` (`id`, `roleid`, `permid`) VALUES ('rr_d1bc0c4a8785b58d5eb0967aa8737', 'logined', 'rp_3e9fe75350098fe2f5bfe96e4cb51') ON DUPLICATE KEY UPDATE `permid`=VALUES(`permid`);
INSERT INTO `rolepermission` (`id`, `roleid`, `permid`) VALUES ('rr_76bfac7ac361b9f8d789f9ca0e0b4', 'logined', 'rp_2fc7010684d98584c9dd3140dbcb8') ON DUPLICATE KEY UPDATE `permid`=VALUES(`permid`);
INSERT INTO `rolepermission` (`id`, `roleid`, `permid`) VALUES ('rr_5222782b5a9db1b7dfccfc3e38345', 'logined', 'rp_4330c1c1ba3a01d923c5e79ce9f8f') ON DUPLICATE KEY UPDATE `permid`=VALUES(`permid`);
INSERT INTO `rolepermission` (`id`, `roleid`, `permid`) VALUES ('rr_960729cf2f7db49f6c24910afb553', 'logined', 'rp_c9293d08c50f1e7ffd65fd48c00ea') ON DUPLICATE KEY UPDATE `permid`=VALUES(`permid`);
INSERT INTO `rolepermission` (`id`, `roleid`, `permid`) VALUES ('rr_677dd6092f4bedd045b16f7d943e0', 'logined', 'rp_fa593242ef0c1b9ca1567cdfe1527') ON DUPLICATE KEY UPDATE `permid`=VALUES(`permid`);
INSERT INTO `rolepermission` (`id`, `roleid`, `permid`) VALUES ('rr_8e0c2befd49be3f377e1226ba6b83', 'logined', 'rp_f5d867e2053681c1cfcda64d83345') ON DUPLICATE KEY UPDATE `permid`=VALUES(`permid`);
INSERT INTO `rolepermission` (`id`, `roleid`, `permid`) VALUES ('rr_9fec8fdd18e5e83351ebdfd2e12c9', 'logined', 'rp_d18a134bd7056f10058904f2604ca') ON DUPLICATE KEY UPDATE `permid`=VALUES(`permid`);
INSERT INTO `rolepermission` (`id`, `roleid`, `permid`) VALUES ('rr_84456f80779665dbb58010f479424', 'logined', 'rp_dd99f9738cd48d14421feedc0ac0f') ON DUPLICATE KEY UPDATE `permid`=VALUES(`permid`);
INSERT INTO `rolepermission` (`id`, `roleid`, `permid`) VALUES ('rr_0a3ebc6f6ac1771279bd4779c5981', 'logined', 'rp_578f2e691f4e1e27716a423b17e58') ON DUPLICATE KEY UPDATE `permid`=VALUES(`permid`);
INSERT INTO `rolepermission` (`id`, `roleid`, `permid`) VALUES ('rr_f9438cf06aa1703082ae86e91d30d', 'logined', 'rp_3707a5b47383f55766a981696b897') ON DUPLICATE KEY UPDATE `permid`=VALUES(`permid`);
INSERT INTO `rolepermission` (`id`, `roleid`, `permid`) VALUES ('rr_0ac763df079e8c7715e252d23defc', 'logined', 'rp_5ef68c7c20ee872e61751c88ac28d') ON DUPLICATE KEY UPDATE `permid`=VALUES(`permid`);
INSERT INTO `rolepermission` (`id`, `roleid`, `permid`) VALUES ('rr_6430ea6c3002d647d17bbcdd3be78', 'logined', 'rp_9760083af6c293ac9cf2e4db4f634') ON DUPLICATE KEY UPDATE `permid`=VALUES(`permid`);
INSERT INTO `rolepermission` (`id`, `roleid`, `permid`) VALUES ('rr_6f2e02b9c51057b758d142949eb06', 'logined', 'rp_86b8b90a44ad6ed7258eb6ecf951c') ON DUPLICATE KEY UPDATE `permid`=VALUES(`permid`);
INSERT INTO `rolepermission` (`id`, `roleid`, `permid`) VALUES ('rr_f90cd617d2e0ebda30c334cd2e0c8', 'logined', 'rp_a3ff343a4515fab4fdc6a59e38765') ON DUPLICATE KEY UPDATE `permid`=VALUES(`permid`);
INSERT INTO `rolepermission` (`id`, `roleid`, `permid`) VALUES ('rr_81889052bdcea77270ea95ce352e2', 'logined', 'rp_4dd6793dd185ad7bc2f4b513c45c8') ON DUPLICATE KEY UPDATE `permid`=VALUES(`permid`);
INSERT INTO `rolepermission` (`id`, `roleid`, `permid`) VALUES ('rr_c0d568978991803fe88d980323d2b', 'logined', 'rp_767ed9c9101d273cfb34e1a027c18') ON DUPLICATE KEY UPDATE `permid`=VALUES(`permid`);
INSERT INTO `rolepermission` (`id`, `roleid`, `permid`) VALUES ('rr_4a7a4ca93e70f2a7b2949f57eb2ab', 'logined', 'rp_d3337dd28c148fab58681cec127f2') ON DUPLICATE KEY UPDATE `permid`=VALUES(`permid`);
INSERT INTO `rolepermission` (`id`, `roleid`, `permid`) VALUES ('rr_c3d6440608ce95feb89904c477fb7', 'logined', 'rp_a86a70333291ec7540d4a3ffb5a07') ON DUPLICATE KEY UPDATE `permid`=VALUES(`permid`);
INSERT INTO `rolepermission` (`id`, `roleid`, `permid`) VALUES ('rr_c05cdf2ef273bf58aa28c2028340f', 'logined', 'rp_3277731ee5ea2a8c3daff30a4e7a6') ON DUPLICATE KEY UPDATE `permid`=VALUES(`permid`);
INSERT INTO `rolepermission` (`id`, `roleid`, `permid`) VALUES ('rr_afcef741eafce7464bb5b0bfeecd5', 'any', 'rp_f497512d13f3166761ed15bbb8203') ON DUPLICATE KEY UPDATE `permid`=VALUES(`permid`);
INSERT INTO `rolepermission` (`id`, `roleid`, `permid`) VALUES ('rr_7fdfb54730fdab622b1fd1f58e09b', 'any', 'rp_0e8cb7e84f425ae605ae5c08881c5') ON DUPLICATE KEY UPDATE `permid`=VALUES(`permid`);
INSERT INTO `rolepermission` (`id`, `roleid`, `permid`) VALUES ('rr_5eb3f4434de605ca7c63b6fbe8812', 'any', 'rp_b1d3b3a4c3cc3c1f1bdad651ce2e6') ON DUPLICATE KEY UPDATE `permid`=VALUES(`permid`);
INSERT INTO `rolepermission` (`id`, `roleid`, `permid`) VALUES ('rr_ac67abdd9906bded65179b6a4c015', 'any', 'rp_e745726b5142840155acdd17b7a98') ON DUPLICATE KEY UPDATE `permid`=VALUES(`permid`);
-- 校验:permission 应为 26 行,rolepermission 应为 26 行(logined 22 + any 4)
SELECT COUNT(1) AS perm_cnt FROM `permission` WHERE `parentid` = 'pbl_scense_ext';